summaryrefslogtreecommitdiffstats
path: root/module/plugins/hoster/SmoozedCom.py
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/hoster/SmoozedCom.py')
-rw-r--r--module/plugins/hoster/SmoozedCom.py52
1 files changed, 25 insertions, 27 deletions
diff --git a/module/plugins/hoster/SmoozedCom.py b/module/plugins/hoster/SmoozedCom.py
index 9ae12f145..33d098a00 100644
--- a/module/plugins/hoster/SmoozedCom.py
+++ b/module/plugins/hoster/SmoozedCom.py
@@ -7,58 +7,56 @@ from module.plugins.internal.MultiHoster import MultiHoster
class SmoozedCom(MultiHoster):
__name__ = "SmoozedCom"
__type__ = "hoster"
- __version__ = "0.05"
+ __version__ = "0.08"
+ __status__ = "testing"
- __pattern__ = r'^unmatchable$' #: Since we want to allow the user to specify the list of hoster to use we let MultiHoster.coreReady
- __config__ = [("use_premium", "bool", "Use premium account if available", True)]
+ __pattern__ = r'^unmatchable$' #: Since we want to allow the user to specify the list of hoster to use we let MultiHoster.activate
+ __config__ = [("use_premium" , "bool", "Use premium account if available" , True),
+ ("revertfailed", "bool", "Revert to standard download if fails", True)]
__description__ = """Smoozed.com hoster plugin"""
__license__ = "GPLv3"
__authors__ = [("", "")]
- def handleFree(self, pyfile):
- # In some cases hostsers do not supply us with a filename at download, so we
- # are going to set a fall back filename (e.g. for freakshare or xfileshare)
- pyfile.name = pyfile.name.split('/').pop() # Remove everthing before last slash
+ FILE_ERRORS = [("Error", r'{"state":"error"}'),
+ ("Retry", r'{"state":"retry"}')]
- # Correction for automatic assigned filename: Removing html at end if needed
+
+ def handle_free(self, pyfile):
+ #: In some cases hostsers do not supply us with a filename at download, so we
+ #: Are going to set a fall back filename (e.g. for freakshare or xfileshare)
+ pyfile.name = pyfile.name.split('/').pop() #: Remove everthing before last slash
+
+ #: Correction for automatic assigned filename: Removing html at end if needed
suffix_to_remove = ["html", "htm", "php", "php3", "asp", "shtm", "shtml", "cfml", "cfm"]
temp = pyfile.name.split('.')
if temp.pop() in suffix_to_remove:
pyfile.name = ".".join(temp)
- # Check the link
- get_data = {'session_key': self.account.getAccountInfo(self.user)['session'],
+ #: Check the link
+ get_data = {'session_key': self.account.get_data(self.user)['session'],
'url' : pyfile.url}
data = json_loads(self.load("http://www2.smoozed.com/api/check", get=get_data))
- if data["state"] != "ok":
- self.fail(data["message"])
+ if data['state'] != "ok":
+ self.fail(data['message'])
- if data["data"].get("state", "ok") != "ok":
- if data["data"] == "Offline":
+ if data['data'].get("state", "ok") != "ok":
+ if data['data'] == "Offline":
self.offline()
else:
- self.fail(data["data"]["message"])
+ self.fail(data['data']['message'])
- pyfile.name = data["data"]["name"]
- pyfile.size = int(data["data"]["size"])
+ pyfile.name = data['data']['name']
+ pyfile.size = int(data['data']['size'])
- # Start the download
+ #: Start the download
header = self.load("http://www2.smoozed.com/api/download", get=get_data, just_header=True)
if not "location" in header:
self.fail(_("Unable to initialize download"))
else:
- self.link = header["location"][-1] if isinstance(header["location"], list) else header["location"]
-
-
- def checkFile(self, rules={}):
- if self.checkDownload({'error': '{"state":"error"}',
- 'retry': '{"state":"retry"}'}):
- self.fail(_("Error response received"))
-
- return super(SmoozedCom, self).checkFile(rules)
+ self.link = header['location'][-1] if isinstance(header['location'], list) else header['location']