Переделал получение списка файлов
parent
312fcf05e0
commit
7473d69488
|
@ -399,7 +399,7 @@ class Engine:
|
||||||
:rtype : list of FileStatus
|
:rtype : list of FileStatus
|
||||||
:return: List of files of specified media types or None if torrent is not loaded yet
|
:return: List of files of specified media types or None if torrent is not loaded yet
|
||||||
"""
|
"""
|
||||||
files = self._decode(self._request('ls', timeout))['files']
|
files = self.pyrrent2http.Ls()['files']
|
||||||
if files:
|
if files:
|
||||||
res = [FileStatus(index=index, media_type=self._detect_media_type(f['name']), **f)
|
res = [FileStatus(index=index, media_type=self._detect_media_type(f['name']), **f)
|
||||||
for index, f in enumerate(files)]
|
for index, f in enumerate(files)]
|
||||||
|
|
|
@ -533,21 +533,7 @@ def HttpHandlerFactory():
|
||||||
self.send_response(200)
|
self.send_response(200)
|
||||||
self.send_header("Content-type", "application/json")
|
self.send_header("Content-type", "application/json")
|
||||||
self.end_headers()
|
self.end_headers()
|
||||||
retFiles = {'files': []}
|
retFiles = self.server.root_obj.Ls()
|
||||||
if self.server.root_obj.TorrentFS.HasTorrentInfo():
|
|
||||||
files = self.server.root_obj.TorrentFS.Files()
|
|
||||||
for file_ in files:
|
|
||||||
Url = 'http://' + self.server.root_obj.config.bindAddress + '/files/' + urllib.quote(file_.Name())
|
|
||||||
fi = {
|
|
||||||
'name': file_.Name(),
|
|
||||||
'size': file_.size,
|
|
||||||
'offset': file_.offset,
|
|
||||||
'download': file_.Downloaded(),
|
|
||||||
'progress': file_.Progress(),
|
|
||||||
'save_path': file_.SavePath(),
|
|
||||||
'url': Url
|
|
||||||
}
|
|
||||||
retFiles['files'].append(fi)
|
|
||||||
output = json.dumps(retFiles)
|
output = json.dumps(retFiles)
|
||||||
self.wfile.write(output)
|
self.wfile.write(output)
|
||||||
def peersHandler(self):
|
def peersHandler(self):
|
||||||
|
@ -889,6 +875,23 @@ class Pyrrent2http(object):
|
||||||
'total_peers' : tstatus.num_incomplete
|
'total_peers' : tstatus.num_incomplete
|
||||||
}
|
}
|
||||||
return status
|
return status
|
||||||
|
def Ls(self):
|
||||||
|
retFiles = {'files': []}
|
||||||
|
if self.TorrentFS.HasTorrentInfo():
|
||||||
|
files = self.TorrentFS.Files()
|
||||||
|
for file_ in files:
|
||||||
|
Url = 'http://' + self.config.bindAddress + '/files/' + urllib.quote(file_.Name())
|
||||||
|
fi = {
|
||||||
|
'name': file_.Name(),
|
||||||
|
'size': file_.size,
|
||||||
|
'offset': file_.offset,
|
||||||
|
'download': file_.Downloaded(),
|
||||||
|
'progress': file_.Progress(),
|
||||||
|
'save_path': file_.SavePath(),
|
||||||
|
'url': Url
|
||||||
|
}
|
||||||
|
retFiles['files'].append(fi)
|
||||||
|
return retFiles
|
||||||
def stats(self):
|
def stats(self):
|
||||||
status = self.torrentHandle.status()
|
status = self.torrentHandle.status()
|
||||||
dhtStatusStr = ''
|
dhtStatusStr = ''
|
||||||
|
|
Loading…
Reference in New Issue