diff options
Diffstat (limited to 'pyload/threads')
-rw-r--r-- | pyload/threads/DecrypterThread.py | 10 | ||||
-rw-r--r-- | pyload/threads/InfoThread.py | 2 | ||||
-rw-r--r-- | pyload/threads/ThreadManager.py | 8 |
3 files changed, 10 insertions, 10 deletions
diff --git a/pyload/threads/DecrypterThread.py b/pyload/threads/DecrypterThread.py index e8b889ac8..22a2d0037 100644 --- a/pyload/threads/DecrypterThread.py +++ b/pyload/threads/DecrypterThread.py @@ -3,6 +3,7 @@ from time import sleep +from pyload.Api import LinkStatus, DownloadStatus as DS from pyload.utils import uniqify, accumulate from pyload.plugins.Base import Abort, Retry from pyload.plugins.Crypter import Package @@ -34,7 +35,7 @@ class DecrypterThread(BaseThread): for p in packages: self.m.core.api.addPackage(p.name, p.getURLs(), pack.password) - def decrypt(self, plugin_map, password=None): + def decrypt(self, plugin_map, password=None, err=None): result = [] # TODO QUEUE_DECRYPT @@ -54,6 +55,11 @@ class DecrypterThread(BaseThread): plugin.logInfo(_("Decrypting aborted")) except Exception, e: plugin.logError(_("Decrypting failed"), e) + + # generate error linkStatus + if err: + plugin_result.extend(LinkStatus(url, url, -1, DS.Failed, name) for url in urls) + if self.core.debug: self.core.print_exc() self.writeDebugReport(plugin.__name__, plugin=plugin) @@ -75,7 +81,7 @@ class DecrypterThread(BaseThread): pack_names[p.name].urls.extend(p.urls) else: if not p.name: - urls.append(p) + urls.extend(p.links) else: pack_names[p.name] = p else: diff --git a/pyload/threads/InfoThread.py b/pyload/threads/InfoThread.py index 8aa5e2d24..f516d2cca 100644 --- a/pyload/threads/InfoThread.py +++ b/pyload/threads/InfoThread.py @@ -37,7 +37,7 @@ class InfoThread(DecrypterThread): if crypter: # decrypt them - links, packages = self.decrypt(crypter) + links, packages = self.decrypt(crypter, err=True) # push these as initial result and save package names self.updateResult(links) for pack in packages: diff --git a/pyload/threads/ThreadManager.py b/pyload/threads/ThreadManager.py index 07b0cd6e9..55cfcbfd2 100644 --- a/pyload/threads/ThreadManager.py +++ b/pyload/threads/ThreadManager.py @@ -94,13 +94,7 @@ class ThreadManager: oc = OnlineCheck(rid, user) self.infoResults[rid] = oc - # maps url to plugin - urls = [] - for links in data.itervalues(): - for link in links: - urls.append((link.url, link.plugin)) - - InfoThread(self, user, urls, oc=oc) + InfoThread(self, user, data, oc=oc) return rid |