summaryrefslogtreecommitdiffstats
path: root/module
diff options
context:
space:
mode:
authorGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2011-06-03 00:29:40 +0200
committerGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2011-06-03 00:29:40 +0200
commitbdd63224c2d3760a0ded8be2b354abc139a1e858 (patch)
treea1c571de2b1e7534f6571834f6fccd57574b4b15 /module
parentfix (diff)
downloadpyload-bdd63224c2d3760a0ded8be2b354abc139a1e858.tar.xz
wupload fix
Diffstat (limited to 'module')
-rw-r--r--module/PluginThread.py3
-rw-r--r--module/PyFile.py2
-rw-r--r--module/ThreadManager.py5
-rw-r--r--module/plugins/hoster/FilesonicCom.py8
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")