diff options
| author | 2011-06-03 00:29:40 +0200 | |
|---|---|---|
| committer | 2011-06-03 00:29:40 +0200 | |
| commit | bdd63224c2d3760a0ded8be2b354abc139a1e858 (patch) | |
| tree | a1c571de2b1e7534f6571834f6fccd57574b4b15 /module | |
| parent | fix (diff) | |
| download | pyload-bdd63224c2d3760a0ded8be2b354abc139a1e858.tar.xz | |
wupload fix
Diffstat (limited to 'module')
| -rw-r--r-- | module/PluginThread.py | 3 | ||||
| -rw-r--r-- | module/PyFile.py | 2 | ||||
| -rw-r--r-- | module/ThreadManager.py | 5 | ||||
| -rw-r--r-- | module/plugins/hoster/FilesonicCom.py | 8 | 
4 files changed, 12 insertions, 6 deletions
diff --git a/module/PluginThread.py b/module/PluginThread.py index 007a17ef1..4f138f858 100644 --- a/module/PluginThread.py +++ b/module/PluginThread.py @@ -409,8 +409,7 @@ class HookThread(PluginThread):      def run(self):          self.f(self.active) - - +                  self.m.localThreads.remove(self)          if isinstance(self.active, PyFile):              self.active.finishIfDone() diff --git a/module/PyFile.py b/module/PyFile.py index 0b5dc48be..25e65e34a 100644 --- a/module/PyFile.py +++ b/module/PyFile.py @@ -172,7 +172,7 @@ class PyFile(object):      def finishIfDone(self):          """set status to finish and release file if every thread is finished with it""" -         +          if self.id in self.m.core.threadManager.processingIds():              return False diff --git a/module/ThreadManager.py b/module/ThreadManager.py index fd47fada2..7b40fe05c 100644 --- a/module/ThreadManager.py +++ b/module/ThreadManager.py @@ -29,6 +29,7 @@ from random import choice  import pycurl  import PluginThread +from module.PyFile import PyFile  from module.network.RequestFactory import getURL  from module.utils import freeSpace @@ -78,12 +79,12 @@ class ThreadManager:      #----------------------------------------------------------------------      def downloadingIds(self):          """get a list of the currently downloading pyfile's ids""" -        return [x.active.id for x in self.threads if x.active and x.active != "quit"] +        return [x.active.id for x in self.threads if x.active and isinstance(x.active, PyFile)]      #----------------------------------------------------------------------      def processingIds(self):          """get a id list of all pyfiles processed""" -        return [x.active.id for x in self.threads + self.localThreads if x.active and x.active != "quit"] +        return [x.active.id for x in self.threads + self.localThreads if x.active and isinstance(x.active, PyFile)]      #---------------------------------------------------------------------- diff --git a/module/plugins/hoster/FilesonicCom.py b/module/plugins/hoster/FilesonicCom.py index cbe74f214..ba6c4c963 100644 --- a/module/plugins/hoster/FilesonicCom.py +++ b/module/plugins/hoster/FilesonicCom.py @@ -121,7 +121,13 @@ class FilesonicCom(Hoster):      def downloadPremium(self):
          self.logDebug("Premium download")
 -        self.download(self.pyfile.url)
 +
 +        api = self.API_ADDRESS + "/link?method=getDownloadLink&u=%s&p=%s&ids=%s" % (
 +        self.user, self.account.getAccountData(self.user)["password"], getId(self.pyfile.url))
 +
 +        result = json_loads(self.load(api))
 +        dl = result["FSApi_Link"]["getDownloadLink"]["response"]["links"][0]["url"]
 +        self.download(dl)
      def downloadFree(self):
          self.logDebug("Free download")
  | 
