Last minute fixes
This commit is contained in:
@@ -45,7 +45,7 @@ func HandlePropfindRequest(w http.ResponseWriter, r *http.Request, t *torrent.To
|
||||
}
|
||||
|
||||
func handleListDirectories(w http.ResponseWriter, t *torrent.TorrentManager) error {
|
||||
fmt.Fprint(w, "<?xml?><d:multistatus xmlns:d=\"DAV:\">")
|
||||
fmt.Fprint(w, "<?xml version=\"1.0\" encoding=\"utf-8\"?><d:multistatus xmlns:d=\"DAV:\">")
|
||||
// initial response is the directory itself
|
||||
fmt.Fprint(w, dav.Directory("", ""))
|
||||
|
||||
@@ -66,7 +66,7 @@ func handleListTorrents(w http.ResponseWriter, requestPath string, t *torrent.To
|
||||
return fmt.Errorf("cannot find directory %s", basePath)
|
||||
}
|
||||
|
||||
fmt.Fprint(w, "<?xml?><d:multistatus xmlns:d=\"DAV:\">")
|
||||
fmt.Fprint(w, "<?xml version=\"1.0\" encoding=\"utf-8\"?><d:multistatus xmlns:d=\"DAV:\">")
|
||||
// initial response is the directory itself
|
||||
fmt.Fprint(w, dav.Directory(basePath, ""))
|
||||
|
||||
@@ -99,7 +99,7 @@ func handleListFiles(w http.ResponseWriter, requestPath string, t *torrent.Torre
|
||||
return fmt.Errorf("cannot find torrent %s", accessKey)
|
||||
}
|
||||
|
||||
fmt.Fprint(w, "<?xml?><d:multistatus xmlns:d=\"DAV:\">")
|
||||
fmt.Fprint(w, "<?xml version=\"1.0\" encoding=\"utf-8\"?><d:multistatus xmlns:d=\"DAV:\">")
|
||||
// initial response is the directory itself
|
||||
fmt.Fprint(w, dav.Directory(requestPath, tor.LatestAdded))
|
||||
|
||||
|
||||
@@ -339,13 +339,11 @@ func (t *TorrentManager) getMoreInfo(rdTorrent realdebrid.Torrent) *Torrent {
|
||||
var err error
|
||||
// file cache
|
||||
torrentFromFile := t.readFromFile(rdTorrent.ID)
|
||||
if torrentFromFile != nil && len(torrentFromFile.ID) > 0 && len(torrentFromFile.Links) == len(rdTorrent.Links) {
|
||||
if (len(torrentFromFile.Links) > 0 && torrentFromFile.Links[0] == rdTorrent.Links[0]) || len(torrentFromFile.Links) == 0 {
|
||||
// see if api data and file data still match
|
||||
// then it means data is still usable
|
||||
info = torrentFromFile
|
||||
info.Progress = rdTorrent.Progress
|
||||
}
|
||||
if torrentFromFile != nil && len(torrentFromFile.ID) > 0 && len(torrentFromFile.Links) > 0 && len(torrentFromFile.Links) == len(rdTorrent.Links) && torrentFromFile.Links[0] == rdTorrent.Links[0] {
|
||||
info = torrentFromFile
|
||||
info.Progress = rdTorrent.Progress
|
||||
} else {
|
||||
torrentFromFile = nil
|
||||
}
|
||||
if info == nil {
|
||||
info, err = t.api.GetTorrentInfo(rdTorrent.ID)
|
||||
@@ -390,6 +388,7 @@ func (t *TorrentManager) getMoreInfo(rdTorrent realdebrid.Torrent) *Torrent {
|
||||
for _, file := range selectedFiles {
|
||||
torrent.SelectedFiles.Set(filepath.Base(file.Path), file)
|
||||
}
|
||||
|
||||
if len(selectedFiles) > 0 && torrentFromFile == nil {
|
||||
t.writeToFile(info) // only when there are selected files, else it's useless
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user