diff options
Diffstat (limited to 'module/plugins/hoster')
216 files changed, 525 insertions, 523 deletions
diff --git a/module/plugins/hoster/AlldebridCom.py b/module/plugins/hoster/AlldebridCom.py index c6c4365c7..b3d42a381 100644 --- a/module/plugins/hoster/AlldebridCom.py +++ b/module/plugins/hoster/AlldebridCom.py @@ -3,15 +3,14 @@  import re  import urllib -from module.common.json_layer import json_loads  from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo -from module.plugins.internal.Plugin import parse_size +from module.plugins.internal.utils import json, parse_size  class AlldebridCom(MultiHoster):      __name__    = "AlldebridCom"      __type__    = "hoster" -    __version__ = "0.48" +    __version__ = "0.49"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.|s\d+\.)?alldebrid\.com/dl/[\w^_]+' @@ -31,7 +30,7 @@ class AlldebridCom(MultiHoster):      def handle_premium(self, pyfile):          password = self.get_password() -        data = json_loads(self.load("http://www.alldebrid.com/service.php", +        data = json.loads(self.load("http://www.alldebrid.com/service.php",                                       get={'link': pyfile.url, 'json': "true", 'pw': password}))          self.log_debug("Json data", data) diff --git a/module/plugins/hoster/AndroidfilehostCom.py b/module/plugins/hoster/AndroidfilehostCom.py index 910e09533..6be7131d5 100644 --- a/module/plugins/hoster/AndroidfilehostCom.py +++ b/module/plugins/hoster/AndroidfilehostCom.py @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class AndroidfilehostCom(SimpleHoster):      __name__    = "AndroidfilehostCom"      __type__    = "hoster" -    __version__ = "0.02" +    __version__ = "0.03"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?androidfilehost\.com/\?fid=\d+' diff --git a/module/plugins/hoster/BasePlugin.py b/module/plugins/hoster/BasePlugin.py index be53a33c2..e1bb7c36a 100644 --- a/module/plugins/hoster/BasePlugin.py +++ b/module/plugins/hoster/BasePlugin.py @@ -1,95 +1,28 @@  # -*- coding: utf-8 -*- -import re -import urllib -import urlparse +from module.plugins.internal.hoster.Http import Http, create_getInfo -from module.network.HTTPRequest import BadHeader -from module.plugins.internal.SimpleHoster import create_getInfo -from module.plugins.internal.Hoster import Hoster - -class BasePlugin(Hoster): +class BasePlugin(Http):      __name__    = "BasePlugin"      __type__    = "hoster" -    __version__ = "0.46" +    __version__ = "0.48"      __status__  = "testing"      __pattern__ = r'^unmatchable$'      __config__  = [("activated", "bool", "Activated", True)] -    __description__ = """Base Plugin when any other didnt fit""" +    __description__ = """Default hoster plugin when any other didnt fit"""      __license__     = "GPLv3" -    __authors__     = [("RaNaN", "RaNaN@pyload.org"), -                       ("Walter Purcaro", "vuolter@gmail.com")] +    __authors__     = [("Walter Purcaro", "vuolter@gmail.com")]      def setup(self):          self.chunk_limit     = -1 -        self.multiDL        = True          self.resume_download = True - -    def process(self, pyfile): -        """ -        Main function -        """ -        netloc = urlparse.urlparse(pyfile.url).netloc - -        pyfile.name = self.get_info(pyfile.url)['name'] - -        if not pyfile.url.startswith("http"): +        if not self.pyfile.url.startswith("http"):              self.fail(_("No plugin matched")) -        try: -            link = self.direct_link(urllib.unquote(pyfile.url)) - -            if link: -                self.download(link, ref=False, disposition=True) -            else: -                self.fail(_("File not found")) - -        except BadHeader, e: -            if e.code == 404: -                self.offline() - -            elif e.code in (401, 403): -                self.log_debug("Auth required", "Received HTTP status code: %d" % e.code) - -                #@TODO: Recheck in 0.4.10 -                if self.account: -                    servers = [x['login'] for x in self.account.getAllAccounts()] -                else: -                    servers = [] - -                if netloc in servers: -                    self.log_debug("Logging on to %s" % netloc) -                    self.req.addAuth(self.account.get_login('password')) - -                else: -                    pwd = self.get_password() -                    if ':' in pwd: -                        self.req.addAuth(pwd) -                    else: -                        self.fail(_("Authorization required")) -            else: -                self.fail(e) - -        errmsg = self.check_file({'Empty file'   : re.compile(r'\A\s*\Z'), -                                     'Html error'   : re.compile(r'\A(?:\s*<.+>)?((?:[\w\s]*(?:[Ee]rror|ERROR)\s*\:?)?\s*\d{3})(?:\Z|\s+)'), -                                     'Html file'    : re.compile(r'\A\s*<!DOCTYPE html'), -                                     'Request error': re.compile(r'([Aa]n error occured while processing your request)')}) -        if not errmsg: -            return - -        try: -            errmsg += " | " + self.last_check.group(1).strip() - -        except Exception: -            pass - -        self.log_warning(_("Check result: ") + errmsg, _("Waiting 1 minute and retry")) -        self.retry(3, 60, errmsg) -  getInfo = create_getInfo(BasePlugin) diff --git a/module/plugins/hoster/BasketbuildCom.py b/module/plugins/hoster/BasketbuildCom.py index 95d665715..db4ad92ed 100644 --- a/module/plugins/hoster/BasketbuildCom.py +++ b/module/plugins/hoster/BasketbuildCom.py @@ -12,7 +12,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class BasketbuildCom(SimpleHoster):      __name__    = "BasketbuildCom"      __type__    = "hoster" -    __version__ = "0.04" +    __version__ = "0.05"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?(?:\w\.)?basketbuild\.com/filedl/.+' diff --git a/module/plugins/hoster/BayfilesCom.py b/module/plugins/hoster/BayfilesCom.py index 6e9397d4f..bf9275c0d 100644 --- a/module/plugins/hoster/BayfilesCom.py +++ b/module/plugins/hoster/BayfilesCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class BayfilesCom(DeadHoster):      __name__    = "BayfilesCom"      __type__    = "hoster" -    __version__ = "0.10" -    __status__  = "testing" +    __version__ = "0.11" +    __status__  = "stable"      __pattern__ = r'https?://(?:www\.)?bayfiles\.(com|net)/file/(?P<ID>\w+/\w+/[^/]+)'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/BezvadataCz.py b/module/plugins/hoster/BezvadataCz.py index f557d3b39..b80890208 100644 --- a/module/plugins/hoster/BezvadataCz.py +++ b/module/plugins/hoster/BezvadataCz.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class BezvadataCz(SimpleHoster):      __name__    = "BezvadataCz"      __type__    = "hoster" -    __version__ = "0.30" +    __version__ = "0.31"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?bezvadata\.cz/stahnout/.+' diff --git a/module/plugins/hoster/BillionuploadsCom.py b/module/plugins/hoster/BillionuploadsCom.py index a142f4ab3..c4236231b 100644 --- a/module/plugins/hoster/BillionuploadsCom.py +++ b/module/plugins/hoster/BillionuploadsCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class BillionuploadsCom(DeadHoster):      __name__    = "BillionuploadsCom"      __type__    = "hoster" -    __version__ = "0.07" -    __status__  = "testing" +    __version__ = "0.08" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?billionuploads\.com/\w{12}'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/BitshareCom.py b/module/plugins/hoster/BitshareCom.py index 94e16c617..36eac0c22 100644 --- a/module/plugins/hoster/BitshareCom.py +++ b/module/plugins/hoster/BitshareCom.py @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class BitshareCom(SimpleHoster):      __name__    = "BitshareCom"      __type__    = "hoster" -    __version__ = "0.56" +    __version__ = "0.57"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?bitshare\.com/(files/)?(?(1)|\?f=)(?P<ID>\w+)(?(1)/(?P<NAME>.+?)\.html)' diff --git a/module/plugins/hoster/BoltsharingCom.py b/module/plugins/hoster/BoltsharingCom.py index c33049e01..5217426ab 100644 --- a/module/plugins/hoster/BoltsharingCom.py +++ b/module/plugins/hoster/BoltsharingCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class BoltsharingCom(DeadHoster):      __name__    = "BoltsharingCom"      __type__    = "hoster" -    __version__ = "0.03" -    __status__  = "testing" +    __version__ = "0.04" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?boltsharing\.com/\w{12}'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/CatShareNet.py b/module/plugins/hoster/CatShareNet.py index 8a9a42669..4ceb075f3 100644 --- a/module/plugins/hoster/CatShareNet.py +++ b/module/plugins/hoster/CatShareNet.py @@ -9,7 +9,7 @@ from module.plugins.captcha.ReCaptcha import ReCaptcha  class CatShareNet(SimpleHoster):      __name__    = "CatShareNet"      __type__    = "hoster" -    __version__ = "0.17" +    __version__ = "0.18"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?catshare\.net/\w{15,16}' diff --git a/module/plugins/hoster/CloudzerNet.py b/module/plugins/hoster/CloudzerNet.py index fa0bccba3..7d9b9f5fc 100644 --- a/module/plugins/hoster/CloudzerNet.py +++ b/module/plugins/hoster/CloudzerNet.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class CloudzerNet(DeadHoster):      __name__    = "CloudzerNet"      __type__    = "hoster" -    __version__ = "0.06" -    __status__  = "testing" +    __version__ = "0.07" +    __status__  = "stable"      __pattern__ = r'https?://(?:www\.)?(cloudzer\.net/file/|clz\.to/(file/)?)\w+'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/CloudzillaTo.py b/module/plugins/hoster/CloudzillaTo.py index 5c6c5158e..34c1581f3 100644 --- a/module/plugins/hoster/CloudzillaTo.py +++ b/module/plugins/hoster/CloudzillaTo.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class CloudzillaTo(SimpleHoster):      __name__    = "CloudzillaTo"      __type__    = "hoster" -    __version__ = "0.09" +    __version__ = "0.10"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?cloudzilla\.to/share/file/(?P<ID>[\w^_]+)' diff --git a/module/plugins/hoster/CramitIn.py b/module/plugins/hoster/CramitIn.py index 9dcb94ca8..e41ff0dd2 100644 --- a/module/plugins/hoster/CramitIn.py +++ b/module/plugins/hoster/CramitIn.py @@ -6,7 +6,7 @@ from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo  class CramitIn(XFSHoster):      __name__    = "CramitIn"      __type__    = "hoster" -    __version__ = "0.08" +    __version__ = "0.09"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?cramit\.in/\w{12}' diff --git a/module/plugins/hoster/CrockoCom.py b/module/plugins/hoster/CrockoCom.py index 1ec9bd85b..db1941409 100644 --- a/module/plugins/hoster/CrockoCom.py +++ b/module/plugins/hoster/CrockoCom.py @@ -10,7 +10,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class CrockoCom(SimpleHoster):      __name__    = "CrockoCom"      __type__    = "hoster" -    __version__ = "0.22" +    __version__ = "0.23"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?(crocko|easy-share)\.com/\w+' diff --git a/module/plugins/hoster/CyberlockerCh.py b/module/plugins/hoster/CyberlockerCh.py index 8cb9f7851..315fa49a9 100644 --- a/module/plugins/hoster/CyberlockerCh.py +++ b/module/plugins/hoster/CyberlockerCh.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class CyberlockerCh(DeadHoster):      __name__    = "CyberlockerCh"      __type__    = "hoster" -    __version__ = "0.03" -    __status__  = "testing" +    __version__ = "0.04" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?cyberlocker\.ch/\w+'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/CzshareCom.py b/module/plugins/hoster/CzshareCom.py index ea56caef4..e98568385 100644 --- a/module/plugins/hoster/CzshareCom.py +++ b/module/plugins/hoster/CzshareCom.py @@ -5,14 +5,14 @@  import re -from module.plugins.internal.Plugin import parse_size  from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo +from module.plugins.internal.utils import parse_size  class CzshareCom(SimpleHoster):      __name__    = "CzshareCom"      __type__    = "hoster" -    __version__ = "1.05" +    __version__ = "1.06"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/(\d+/|download\.php\?).+' diff --git a/module/plugins/hoster/DailymotionCom.py b/module/plugins/hoster/DailymotionCom.py index 1634bb12d..e133416e7 100644 --- a/module/plugins/hoster/DailymotionCom.py +++ b/module/plugins/hoster/DailymotionCom.py @@ -3,7 +3,7 @@  import re  from module.PyFile import statusMap -from module.common.json_layer import json_loads +from module.plugins.internal.utils import json  from module.network.RequestFactory import getURL as get_url  from module.plugins.internal.Hoster import Hoster @@ -17,7 +17,7 @@ def get_info(urls):      for url in urls:          id   = regex.match(url).group('ID')          html = get_url(apiurl % id, get=request) -        info = json_loads(html) +        info = json.loads(html)          name = info['title'] + ".mp4" if "title" in info else url @@ -44,7 +44,7 @@ def get_info(urls):  class DailymotionCom(Hoster):      __name__    = "DailymotionCom"      __type__    = "hoster" -    __version__ = "0.22" +    __version__ = "0.23"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?dailymotion\.com/.*video/(?P<ID>[\w^_]+)' diff --git a/module/plugins/hoster/DataHu.py b/module/plugins/hoster/DataHu.py index 295e60873..bda967018 100644 --- a/module/plugins/hoster/DataHu.py +++ b/module/plugins/hoster/DataHu.py @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class DataHu(SimpleHoster):      __name__    = "DataHu"      __type__    = "hoster" -    __version__ = "0.04" +    __version__ = "0.05"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?data\.hu/get/\w+' diff --git a/module/plugins/hoster/DataportCz.py b/module/plugins/hoster/DataportCz.py index d5ab0787f..da33fd10e 100644 --- a/module/plugins/hoster/DataportCz.py +++ b/module/plugins/hoster/DataportCz.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class DataportCz(SimpleHoster):      __name__    = "DataportCz"      __type__    = "hoster" -    __version__ = "0.43" +    __version__ = "0.44"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?dataport\.cz/file/(.+)' diff --git a/module/plugins/hoster/DateiTo.py b/module/plugins/hoster/DateiTo.py index 23aeff47b..8261f52da 100644 --- a/module/plugins/hoster/DateiTo.py +++ b/module/plugins/hoster/DateiTo.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class DateiTo(SimpleHoster):      __name__    = "DateiTo"      __type__    = "hoster" -    __version__ = "0.10" +    __version__ = "0.11"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?datei\.to/datei/(?P<ID>\w+)\.html' diff --git a/module/plugins/hoster/DdlstorageCom.py b/module/plugins/hoster/DdlstorageCom.py index 5a826452b..4370e97f3 100644 --- a/module/plugins/hoster/DdlstorageCom.py +++ b/module/plugins/hoster/DdlstorageCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class DdlstorageCom(DeadHoster):      __name__    = "DdlstorageCom"      __type__    = "hoster" -    __version__ = "1.03" -    __status__  = "testing" +    __version__ = "1.04" +    __status__  = "stable"      __pattern__ = r'https?://(?:www\.)?ddlstorage\.com/\w+'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/DebridItaliaCom.py b/module/plugins/hoster/DebridItaliaCom.py index e18d86323..6dd01277c 100644 --- a/module/plugins/hoster/DebridItaliaCom.py +++ b/module/plugins/hoster/DebridItaliaCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo  class DebridItaliaCom(MultiHoster):      __name__    = "DebridItaliaCom"      __type__    = "hoster" -    __version__ = "0.19" +    __version__ = "0.20"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.|s\d+\.)?debriditalia\.com/dl/\d+' diff --git a/module/plugins/hoster/DepositfilesCom.py b/module/plugins/hoster/DepositfilesCom.py index 352a38dd2..bc1bb4660 100644 --- a/module/plugins/hoster/DepositfilesCom.py +++ b/module/plugins/hoster/DepositfilesCom.py @@ -10,7 +10,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class DepositfilesCom(SimpleHoster):      __name__    = "DepositfilesCom"      __type__    = "hoster" -    __version__ = "0.58" +    __version__ = "0.59"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?(depositfiles\.com|dfiles\.(eu|ru))(/\w{1,3})?/files/(?P<ID>\w+)' diff --git a/module/plugins/hoster/DevhostSt.py b/module/plugins/hoster/DevhostSt.py index 27e1ea85a..5c11b28a6 100644 --- a/module/plugins/hoster/DevhostSt.py +++ b/module/plugins/hoster/DevhostSt.py @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class DevhostSt(SimpleHoster):      __name__    = "DevhostSt"      __type__    = "hoster" -    __version__ = "0.06" +    __version__ = "0.07"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?d-h\.st/(?!users/)\w{3}' diff --git a/module/plugins/hoster/DlFreeFr.py b/module/plugins/hoster/DlFreeFr.py index b6e618235..1b82ffa32 100644 --- a/module/plugins/hoster/DlFreeFr.py +++ b/module/plugins/hoster/DlFreeFr.py @@ -35,7 +35,7 @@ class CustomBrowser(Browser):  class DlFreeFr(SimpleHoster):      __name__    = "DlFreeFr"      __type__    = "hoster" -    __version__ = "0.32" +    __version__ = "0.33"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?dl\.free\.fr/(\w+|getfile\.pl\?file=/\w+)' @@ -91,7 +91,7 @@ class DlFreeFr(SimpleHoster):              self.offline()          else: -            self.fail(_("Invalid return code: ") + str(headers.get('code'))) +            self.fail(_("Invalid return code: %s") % headers.get('code'))      def handle_free(self, pyfile): diff --git a/module/plugins/hoster/DodanePl.py b/module/plugins/hoster/DodanePl.py index 3a2c732d8..4ff6a664d 100644 --- a/module/plugins/hoster/DodanePl.py +++ b/module/plugins/hoster/DodanePl.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class DodanePl(DeadHoster):      __name__    = "DodanePl"      __type__    = "hoster" -    __version__ = "0.04" -    __status__  = "testing" +    __version__ = "0.05" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?dodane\.pl/file/\d+'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/DropboxCom.py b/module/plugins/hoster/DropboxCom.py index 265f61c6f..1bddefd95 100644 --- a/module/plugins/hoster/DropboxCom.py +++ b/module/plugins/hoster/DropboxCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class DropboxCom(SimpleHoster):      __name__    = "DropboxCom"      __type__    = "hoster" -    __version__ = "0.05" +    __version__ = "0.06"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?dropbox\.com/.+' diff --git a/module/plugins/hoster/DuploadOrg.py b/module/plugins/hoster/DuploadOrg.py index 124919d91..fad6ec951 100644 --- a/module/plugins/hoster/DuploadOrg.py +++ b/module/plugins/hoster/DuploadOrg.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class DuploadOrg(DeadHoster):      __name__    = "DuploadOrg"      __type__    = "hoster" -    __version__ = "0.03" -    __status__  = "testing" +    __version__ = "0.04" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?dupload\.org/\w{12}'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/EasybytezCom.py b/module/plugins/hoster/EasybytezCom.py index 272832e2f..b89e69104 100644 --- a/module/plugins/hoster/EasybytezCom.py +++ b/module/plugins/hoster/EasybytezCom.py @@ -6,7 +6,7 @@ from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo  class EasybytezCom(XFSHoster):      __name__    = "EasybytezCom"      __type__    = "hoster" -    __version__ = "0.24" +    __version__ = "0.25"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?easybytez\.com/\w{12}' diff --git a/module/plugins/hoster/EdiskCz.py b/module/plugins/hoster/EdiskCz.py index 3b368ade7..0b3d7fc45 100644 --- a/module/plugins/hoster/EdiskCz.py +++ b/module/plugins/hoster/EdiskCz.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class EdiskCz(SimpleHoster):      __name__    = "EdiskCz"      __type__    = "hoster" -    __version__ = "0.24" +    __version__ = "0.25"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?edisk\.(cz|sk|eu)/(stahni|sk/stahni|en/download)/.+' diff --git a/module/plugins/hoster/EgoFilesCom.py b/module/plugins/hoster/EgoFilesCom.py index d91c70fdc..9758089ac 100644 --- a/module/plugins/hoster/EgoFilesCom.py +++ b/module/plugins/hoster/EgoFilesCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class EgoFilesCom(DeadHoster):      __name__    = "EgoFilesCom"      __type__    = "hoster" -    __version__ = "0.17" -    __status__  = "testing" +    __version__ = "0.18" +    __status__  = "stable"      __pattern__ = r'https?://(?:www\.)?egofiles\.com/\w+'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/EnteruploadCom.py b/module/plugins/hoster/EnteruploadCom.py index bc7d2415a..225db9c07 100644 --- a/module/plugins/hoster/EnteruploadCom.py +++ b/module/plugins/hoster/EnteruploadCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class EnteruploadCom(DeadHoster):      __name__    = "EnteruploadCom"      __type__    = "hoster" -    __version__ = "0.03" -    __status__  = "testing" +    __version__ = "0.04" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?enterupload\.com/\w+'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/EpicShareNet.py b/module/plugins/hoster/EpicShareNet.py index 498a43395..53e4c0f1d 100644 --- a/module/plugins/hoster/EpicShareNet.py +++ b/module/plugins/hoster/EpicShareNet.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class EpicShareNet(DeadHoster):      __name__    = "EpicShareNet"      __type__    = "hoster" -    __version__ = "0.03" -    __status__  = "testing" +    __version__ = "0.04" +    __status__  = "stable"      __pattern__ = r'https?://(?:www\.)?epicshare\.net/\w{12}'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/EuroshareEu.py b/module/plugins/hoster/EuroshareEu.py index 7ec6dc428..31044919a 100644 --- a/module/plugins/hoster/EuroshareEu.py +++ b/module/plugins/hoster/EuroshareEu.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class EuroshareEu(SimpleHoster):      __name__    = "EuroshareEu"      __type__    = "hoster" -    __version__ = "0.34" +    __version__ = "0.35"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?euroshare\.(eu|sk|cz|hu|pl)/file/.+' @@ -22,7 +22,7 @@ class EuroshareEu(SimpleHoster):      NAME_PATTERN    = r'<h1 class="nazev-souboru">(?P<N>.+?)</h1>'      SIZE_PATTERN    = r'<p class="posledni vpravo">.*\| (?P<S>.+?) (?P<U>.+?)</p>' -     +      OFFLINE_PATTERN = ur'<h2>S.bor sa nena.iel</h2>|Poşadovaná stránka neexistuje!'      LINK_FREE_PATTERN = r'onclick="return checkLoad\(\);" href="(.+?)" class="tlacitko velky"' @@ -40,8 +40,10 @@ class EuroshareEu(SimpleHoster):          self.link = pyfile.url.rstrip('/') + "/download/" -        check = self.check_file({'login': re.compile(self.ERROR_PATTERN), -                                    'json' : re.compile(r'\{"status":"error".*?"message":"(.*?)"')}) +        check = self.check_file({ +            'login': re.compile(self.ERROR_PATTERN), +            'json' : re.compile(r'\{"status":"error".*?"message":"(.*?)"') +        })          if check == "login" or (check == "json" and self.last_check.group(1) == "Access token expired"):              self.account.relogin() diff --git a/module/plugins/hoster/ExashareCom.py b/module/plugins/hoster/ExashareCom.py index 010314491..ac8ed999b 100644 --- a/module/plugins/hoster/ExashareCom.py +++ b/module/plugins/hoster/ExashareCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo  class ExashareCom(XFSHoster):      __name__    = "ExashareCom"      __type__    = "hoster" -    __version__ = "0.02" +    __version__ = "0.03"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?exashare\.com/\w{12}' diff --git a/module/plugins/hoster/ExtabitCom.py b/module/plugins/hoster/ExtabitCom.py index 0311ada4b..28a6effa7 100644 --- a/module/plugins/hoster/ExtabitCom.py +++ b/module/plugins/hoster/ExtabitCom.py @@ -2,7 +2,7 @@  import re -from module.common.json_layer import json_loads +from module.plugins.internal.utils import json  from module.plugins.captcha.ReCaptcha import ReCaptcha  from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo, seconds_to_midnight @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo, s  class ExtabitCom(SimpleHoster):      __name__    = "ExtabitCom"      __type__    = "hoster" -    __version__ = "0.68" +    __version__ = "0.69"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?extabit\.com/(file|go|fid)/(?P<ID>\w+)' @@ -54,7 +54,7 @@ class ExtabitCom(SimpleHoster):              get_data = {'type': "recaptcha"}              get_data['capture'], get_data['challenge'] = recaptcha.challenge(captcha_key) -            res = json_loads(self.load("http://extabit.com/file/%s/" % fileID, get=get_data)) +            res = json.loads(self.load("http://extabit.com/file/%s/" % fileID, get=get_data))              if "ok" in res:                  self.captcha.correct() diff --git a/module/plugins/hoster/FastixRu.py b/module/plugins/hoster/FastixRu.py index dac8e9404..9e0c799a5 100644 --- a/module/plugins/hoster/FastixRu.py +++ b/module/plugins/hoster/FastixRu.py @@ -3,14 +3,14 @@  import re  import urllib -from module.common.json_layer import json_loads +from module.plugins.internal.utils import json  from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo  class FastixRu(MultiHoster):      __name__    = "FastixRu"      __type__    = "hoster" -    __version__ = "0.16" +    __version__ = "0.17"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?fastix\.(ru|it)/file/\w{24}' @@ -32,7 +32,7 @@ class FastixRu(MultiHoster):                                get={'apikey': self.account.get_data('apikey'),                                     'sub'   : "getdirectlink",                                     'link'  : pyfile.url}) -        data = json_loads(self.html) +        data = json.loads(self.html)          self.log_debug("Json data", data) diff --git a/module/plugins/hoster/FastshareCz.py b/module/plugins/hoster/FastshareCz.py index c53e42f1e..1908002e3 100644 --- a/module/plugins/hoster/FastshareCz.py +++ b/module/plugins/hoster/FastshareCz.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class FastshareCz(SimpleHoster):      __name__    = "FastshareCz"      __type__    = "hoster" -    __version__ = "0.36" +    __version__ = "0.37"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?fastshare\.cz/\d+/.+' diff --git a/module/plugins/hoster/FileApeCom.py b/module/plugins/hoster/FileApeCom.py index c91024824..7b6bb64f9 100644 --- a/module/plugins/hoster/FileApeCom.py +++ b/module/plugins/hoster/FileApeCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class FileApeCom(DeadHoster):      __name__    = "FileApeCom"      __type__    = "hoster" -    __version__ = "0.13" -    __status__  = "testing" +    __version__ = "0.14" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?fileape\.com/(index\.php\?act=download\&id=|dl/)\w+'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/FileSharkPl.py b/module/plugins/hoster/FileSharkPl.py index d3d7ebd40..2091baf30 100644 --- a/module/plugins/hoster/FileSharkPl.py +++ b/module/plugins/hoster/FileSharkPl.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class FileSharkPl(SimpleHoster):      __name__    = "FileSharkPl"      __type__    = "hoster" -    __version__ = "0.15" +    __version__ = "0.16"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?fileshark\.pl/pobierz/\d+/\w+' diff --git a/module/plugins/hoster/FileStoreTo.py b/module/plugins/hoster/FileStoreTo.py index e7ba300cd..174655444 100644 --- a/module/plugins/hoster/FileStoreTo.py +++ b/module/plugins/hoster/FileStoreTo.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class FileStoreTo(SimpleHoster):      __name__    = "FileStoreTo"      __type__    = "hoster" -    __version__ = "0.06" +    __version__ = "0.07"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?filestore\.to/\?d=(?P<ID>\w+)' diff --git a/module/plugins/hoster/FilebeerInfo.py b/module/plugins/hoster/FilebeerInfo.py index 9db53fe19..201d28a30 100644 --- a/module/plugins/hoster/FilebeerInfo.py +++ b/module/plugins/hoster/FilebeerInfo.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class FilebeerInfo(DeadHoster):      __name__    = "FilebeerInfo"      __type__    = "hoster" -    __version__ = "0.04" -    __status__  = "testing" +    __version__ = "0.05" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?filebeer\.info/(?!\d*~f)(?P<ID>\w+)'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/FileboomMe.py b/module/plugins/hoster/FileboomMe.py index 56432130a..7472cde10 100644 --- a/module/plugins/hoster/FileboomMe.py +++ b/module/plugins/hoster/FileboomMe.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class FileboomMe(SimpleHoster):      __name__    = "FileboomMe"      __type__    = "hoster" -    __version__ = "0.03" +    __version__ = "0.04"      __status__  = "testing"      __pattern__ = r'https?://f(?:ile)?boom\.me/file/(?P<ID>\w+)' diff --git a/module/plugins/hoster/FilecloudIo.py b/module/plugins/hoster/FilecloudIo.py index c83813111..c5e126b51 100644 --- a/module/plugins/hoster/FilecloudIo.py +++ b/module/plugins/hoster/FilecloudIo.py @@ -2,7 +2,7 @@  import re -from module.common.json_layer import json_loads +from module.plugins.internal.utils import json  from module.plugins.captcha.ReCaptcha import ReCaptcha  from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo @@ -10,7 +10,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class FilecloudIo(SimpleHoster):      __name__    = "FilecloudIo"      __type__    = "hoster" -    __version__ = "0.11" +    __version__ = "0.12"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?(?:filecloud\.io|ifile\.it|mihd\.net)/(?P<ID>\w+)' @@ -71,7 +71,7 @@ class FilecloudIo(SimpleHoster):          json_url = "http://filecloud.io/download-request.json"          res = self.load(json_url, post=data)          self.log_debug(res) -        res = json_loads(res) +        res = json.loads(res)          if "error" in res and res['error']:              self.fail(res) @@ -84,7 +84,7 @@ class FilecloudIo(SimpleHoster):              json_url = "http://filecloud.io/download-request.json"              res = self.load(json_url, post=data)              self.log_debug(res) -            res = json_loads(res) +            res = json.loads(res)              if "retry" in res and res['retry']:                  self.retry_captcha() @@ -114,7 +114,7 @@ class FilecloudIo(SimpleHoster):          rep = self.load("http://api.filecloud.io/api-fetch_download_url.api",                          post={'akey': akey, 'ukey': ukey})          self.log_debug("FetchDownloadUrl: " + rep) -        rep = json_loads(rep) +        rep = json.loads(rep)          if rep['status'] == "ok":              self.link = rep['download_url']          else: diff --git a/module/plugins/hoster/FiledropperCom.py b/module/plugins/hoster/FiledropperCom.py index df1000681..1a193c0f7 100644 --- a/module/plugins/hoster/FiledropperCom.py +++ b/module/plugins/hoster/FiledropperCom.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class FiledropperCom(SimpleHoster):      __name__    = "FiledropperCom"      __type__    = "hoster" -    __version__ = "0.02" +    __version__ = "0.03"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?filedropper\.com/\w+' diff --git a/module/plugins/hoster/FilefactoryCom.py b/module/plugins/hoster/FilefactoryCom.py index e608d6db0..75d98d5cc 100644 --- a/module/plugins/hoster/FilefactoryCom.py +++ b/module/plugins/hoster/FilefactoryCom.py @@ -21,7 +21,7 @@ def get_info(urls):  class FilefactoryCom(SimpleHoster):      __name__    = "FilefactoryCom"      __type__    = "hoster" -    __version__ = "0.59" +    __version__ = "0.60"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?filefactory\.com/(file|trafficshare/\w+)/\w+' @@ -63,8 +63,10 @@ class FilefactoryCom(SimpleHoster):      def check_download(self): -        check = self.check_file({'multiple': "You are currently downloading too many files at once.", -                                    'error'   : '<div id="errorMessage">'}) +        check = self.check_file({ +            'multiple': "You are currently downloading too many files at once.", +            'error'   : '<div id="errorMessage">' +        })          if check == "multiple":              self.log_debug("Parallel downloads detected; waiting 15 minutes") diff --git a/module/plugins/hoster/FilejungleCom.py b/module/plugins/hoster/FilejungleCom.py index 642f39c55..ba13c5665 100644 --- a/module/plugins/hoster/FilejungleCom.py +++ b/module/plugins/hoster/FilejungleCom.py @@ -7,7 +7,7 @@ from module.plugins.internal.Plugin import chunks  class FilejungleCom(FileserveCom):      __name__    = "FilejungleCom"      __type__    = "hoster" -    __version__ = "0.53" +    __version__ = "0.54"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?filejungle\.com/f/(?P<ID>[^/]+)' diff --git a/module/plugins/hoster/FileomCom.py b/module/plugins/hoster/FileomCom.py index 678351238..ab886992a 100644 --- a/module/plugins/hoster/FileomCom.py +++ b/module/plugins/hoster/FileomCom.py @@ -9,7 +9,7 @@ from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo  class FileomCom(XFSHoster):      __name__    = "FileomCom"      __type__    = "hoster" -    __version__ = "0.06" +    __version__ = "0.07"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?fileom\.com/\w{12}' diff --git a/module/plugins/hoster/FilepostCom.py b/module/plugins/hoster/FilepostCom.py index 10af73ff9..726d15b67 100644 --- a/module/plugins/hoster/FilepostCom.py +++ b/module/plugins/hoster/FilepostCom.py @@ -3,7 +3,7 @@  import re  import time -from module.common.json_layer import json_loads +from module.plugins.internal.utils import json  from module.plugins.captcha.ReCaptcha import ReCaptcha  from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class FilepostCom(SimpleHoster):      __name__    = "FilepostCom"      __type__    = "hoster" -    __version__ = "0.36" +    __version__ = "0.37"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?(?:filepost\.com/files|fp\.io)/(?P<ID>[^/]+)' @@ -81,7 +81,7 @@ class FilepostCom(SimpleHoster):      def get_json_response(self, get_dict, post_dict, field): -        res = json_loads(self.load('https://filepost.com/files/get/', get=get_dict, post=post_dict)) +        res = json.loads(self.load('https://filepost.com/files/get/', get=get_dict, post=post_dict))          self.log_debug(res) diff --git a/module/plugins/hoster/FilepupNet.py b/module/plugins/hoster/FilepupNet.py index 7e0fd9c29..05a55b233 100644 --- a/module/plugins/hoster/FilepupNet.py +++ b/module/plugins/hoster/FilepupNet.py @@ -12,7 +12,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class FilepupNet(SimpleHoster):      __name__    = "FilepupNet"      __type__    = "hoster" -    __version__ = "0.04" +    __version__ = "0.05"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?filepup\.net/files/\w+' diff --git a/module/plugins/hoster/FilerNet.py b/module/plugins/hoster/FilerNet.py index a44728895..068552ce9 100644 --- a/module/plugins/hoster/FilerNet.py +++ b/module/plugins/hoster/FilerNet.py @@ -14,7 +14,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class FilerNet(SimpleHoster):      __name__    = "FilerNet"      __type__    = "hoster" -    __version__ = "0.21" +    __version__ = "0.22"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?filer\.net/get/\w+' diff --git a/module/plugins/hoster/FilerioCom.py b/module/plugins/hoster/FilerioCom.py index 5d58ecf22..a943b4cad 100644 --- a/module/plugins/hoster/FilerioCom.py +++ b/module/plugins/hoster/FilerioCom.py @@ -6,7 +6,7 @@ from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo  class FilerioCom(XFSHoster):      __name__    = "FilerioCom"      __type__    = "hoster" -    __version__ = "0.08" +    __version__ = "0.09"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?(filerio\.(in|com)|filekeen\.com)/\w{12}' diff --git a/module/plugins/hoster/FilesMailRu.py b/module/plugins/hoster/FilesMailRu.py index eae9ec1c4..aedd37f8f 100644 --- a/module/plugins/hoster/FilesMailRu.py +++ b/module/plugins/hoster/FilesMailRu.py @@ -33,7 +33,7 @@ def get_info(urls):  class FilesMailRu(Hoster):      __name__    = "FilesMailRu"      __type__    = "hoster" -    __version__ = "0.35" +    __version__ = "0.36"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?files\.mail\.ru/.+' @@ -105,9 +105,7 @@ class FilesMailRu(Hoster):          #: so i set it to check every download because sometimes there are downloads          #: that contain the HTML-Text and 60MB ZEROs after that in a xyzfile.part1.rar file          #: (Loading 100MB in to ram is not an option) -        check = self.check_file({'html': "<meta name="}, read_size=50000) -        if check == "html": -            self.log_info(_( -                "There was HTML Code in the Downloaded File (%s)...redirect error? The Download will be restarted." % -                self.pyfile.name)) +        if self.check_file({'html': "<meta name="}, read_size=50000) is "html": +            self.log_info(_("There was HTML Code in the Downloaded File (%s)...redirect error? The Download will be restarted." % +                          self.pyfile.name))              self.retry() diff --git a/module/plugins/hoster/FileserveCom.py b/module/plugins/hoster/FileserveCom.py index c6abbc843..2d797eeb3 100644 --- a/module/plugins/hoster/FileserveCom.py +++ b/module/plugins/hoster/FileserveCom.py @@ -2,12 +2,11 @@  import re -from module.common.json_layer import json_loads  from module.network.RequestFactory import getURL as get_url  from module.plugins.captcha.ReCaptcha import ReCaptcha  from module.plugins.internal.Hoster import Hoster -from module.plugins.internal.Plugin import chunks, parse_size  from module.plugins.internal.SimpleHoster import seconds_to_midnight +from module.plugins.internal.utils import chunks, json, parse_size  def check_file(plugin, urls): @@ -33,7 +32,7 @@ def check_file(plugin, urls):  class FileserveCom(Hoster):      __name__    = "FileserveCom"      __type__    = "hoster" -    __version__ = "0.62" +    __version__ = "0.63"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?fileserve\.com/file/(?P<ID>[^/]+)' @@ -84,7 +83,7 @@ class FileserveCom(Hoster):      def handle_free(self):          self.html = self.load(self.url)          action = self.load(self.url, post={'checkDownload': "check"}) -        action = json_loads(action) +        action = json.loads(action)          self.log_debug(action)          if "fail" in action: @@ -162,7 +161,7 @@ class FileserveCom(Hoster):          recaptcha = ReCaptcha(self)          response, challenge = recaptcha.challenge(captcha_key) -        res = json_loads(self.load(self.URLS[2], +        res = json.loads(self.load(self.URLS[2],                                     post={'recaptcha_challenge_field'  : challenge,                                           'recaptcha_response_field'   : response,                                           'recaptcha_shortencode_field': self.file_id})) @@ -187,7 +186,7 @@ class FileserveCom(Hoster):                                    'password': self.account.get_login('password'),                                    'shorten': self.file_id})              if res: -                res = json_loads(res) +                res = json.loads(res)                  if res['error_code'] == "302":                      premium_url = res['next'] @@ -205,7 +204,8 @@ class FileserveCom(Hoster):          self.download(premium_url or self.pyfile.url) -        if not premium_url and self.check_file({'login': re.compile(self.NOT_LOGGED_IN_PATTERN)}): +        if not premium_url and \ +           self.check_file({'login': re.compile(self.NOT_LOGGED_IN_PATTERN)}):              self.account.relogin()              self.retry(msg=_("Not logged in")) diff --git a/module/plugins/hoster/FileshareInUa.py b/module/plugins/hoster/FileshareInUa.py index 3fb181348..0546db0fc 100644 --- a/module/plugins/hoster/FileshareInUa.py +++ b/module/plugins/hoster/FileshareInUa.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class FileshareInUa(DeadHoster):      __name__    = "FileshareInUa"      __type__    = "hoster" -    __version__ = "0.03" -    __status__  = "testing" +    __version__ = "0.04" +    __status__  = "stable"      __pattern__ = r'https?://(?:www\.)?fileshare\.in\.ua/\w{7}'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/FilesonicCom.py b/module/plugins/hoster/FilesonicCom.py index 59c0ea246..a9f41b3ed 100644 --- a/module/plugins/hoster/FilesonicCom.py +++ b/module/plugins/hoster/FilesonicCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class FilesonicCom(DeadHoster):      __name__    = "FilesonicCom"      __type__    = "hoster" -    __version__ = "0.36" -    __status__  = "testing" +    __version__ = "0.37" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?filesonic\.com/file/\w+'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/FileuploadNet.py b/module/plugins/hoster/FileuploadNet.py index 0f1aa6420..9a2736e66 100644 --- a/module/plugins/hoster/FileuploadNet.py +++ b/module/plugins/hoster/FileuploadNet.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class FileuploadNet(SimpleHoster):      __name__    = "FileuploadNet"      __type__    = "hoster" -    __version__ = "0.03" +    __version__ = "0.04"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?(en\.)?file-upload\.net/download-\d+/.+' diff --git a/module/plugins/hoster/FilezyNet.py b/module/plugins/hoster/FilezyNet.py index 249548d13..3bbab7f5d 100644 --- a/module/plugins/hoster/FilezyNet.py +++ b/module/plugins/hoster/FilezyNet.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class FilezyNet(DeadHoster):      __name__    = "FilezyNet"      __type__    = "hoster" -    __version__ = "0.21" -    __status__  = "testing" +    __version__ = "0.22" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?filezy\.net/\w{12}'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/FiredriveCom.py b/module/plugins/hoster/FiredriveCom.py index cc530a3c5..4ee9ae851 100644 --- a/module/plugins/hoster/FiredriveCom.py +++ b/module/plugins/hoster/FiredriveCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class FiredriveCom(DeadHoster):      __name__    = "FiredriveCom"      __type__    = "hoster" -    __version__ = "0.06" -    __status__  = "testing" +    __version__ = "0.07" +    __status__  = "stable"      __pattern__ = r'https?://(?:www\.)?(firedrive|putlocker)\.com/(mobile/)?(file|embed)/(?P<ID>\w+)'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/FlyFilesNet.py b/module/plugins/hoster/FlyFilesNet.py index 76ff8d9b4..009a3493a 100644 --- a/module/plugins/hoster/FlyFilesNet.py +++ b/module/plugins/hoster/FlyFilesNet.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster  class FlyFilesNet(SimpleHoster):      __name__    = "FlyFilesNet"      __type__    = "hoster" -    __version__ = "0.11" +    __version__ = "0.12"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?flyfiles\.net/.+' diff --git a/module/plugins/hoster/FourSharedCom.py b/module/plugins/hoster/FourSharedCom.py index d2c31c837..b357d7a15 100644 --- a/module/plugins/hoster/FourSharedCom.py +++ b/module/plugins/hoster/FourSharedCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class FourSharedCom(SimpleHoster):      __name__    = "FourSharedCom"      __type__    = "hoster" -    __version__ = "0.33" +    __version__ = "0.34"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?4shared(-china)?\.com/(account/)?(download|get|file|document|photo|video|audio|mp3|office|rar|zip|archive|music)/.+' diff --git a/module/plugins/hoster/FreakshareCom.py b/module/plugins/hoster/FreakshareCom.py index bb3daf35d..53fc839ad 100644 --- a/module/plugins/hoster/FreakshareCom.py +++ b/module/plugins/hoster/FreakshareCom.py @@ -10,7 +10,7 @@ from module.plugins.internal.SimpleHoster import seconds_to_midnight  class FreakshareCom(Hoster):      __name__    = "FreakshareCom"      __type__    = "hoster" -    __version__ = "0.44" +    __version__ = "0.45"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?freakshare\.(net|com)/files/\S*?/' @@ -45,11 +45,13 @@ class FreakshareCom(Hoster):              self.download(pyfile.url, post=self.req_opts) -            check = self.check_file({'bad'           : "bad try", -                                        'paralell'      : "> Sorry, you cant download more then 1 files at time. <", -                                        'empty'         : "Warning: Unknown: Filename cannot be empty", -                                        'wrong_captcha' : "Wrong Captcha!", -                                        'downloadserver': "No Downloadserver. Please try again later!"}) +            check = self.check_file({ +                'bad'           : "bad try", +                'paralell'      : "> Sorry, you cant download more then 1 files at time. <", +                'empty'         : "Warning: Unknown: Filename cannot be empty", +                'wrong_captcha' : "Wrong Captcha!", +                'downloadserver': "No Downloadserver. Please try again later!" +            })              if check == "bad":                  self.fail(_("Bad Try")) diff --git a/module/plugins/hoster/FreeWayMe.py b/module/plugins/hoster/FreeWayMe.py index 6a3476813..9f95f43a4 100644 --- a/module/plugins/hoster/FreeWayMe.py +++ b/module/plugins/hoster/FreeWayMe.py @@ -6,7 +6,7 @@ from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo  class FreeWayMe(MultiHoster):      __name__    = "FreeWayMe"      __type__    = "hoster" -    __version__ = "0.20" +    __version__ = "0.21"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?free-way\.(bz|me)/.+' diff --git a/module/plugins/hoster/FreevideoCz.py b/module/plugins/hoster/FreevideoCz.py index ec8734b6a..d4c64328c 100644 --- a/module/plugins/hoster/FreevideoCz.py +++ b/module/plugins/hoster/FreevideoCz.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class FreevideoCz(DeadHoster):      __name__    = "FreevideoCz"      __type__    = "hoster" -    __version__ = "0.31" -    __status__  = "testing" +    __version__ = "0.32" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?freevideo\.cz/vase-videa/.+'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/FshareVn.py b/module/plugins/hoster/FshareVn.py index e0220fff7..c80a18377 100644 --- a/module/plugins/hoster/FshareVn.py +++ b/module/plugins/hoster/FshareVn.py @@ -23,7 +23,7 @@ def double_decode(m):  class FshareVn(SimpleHoster):      __name__    = "FshareVn"      __type__    = "hoster" -    __version__ = "0.21" +    __version__ = "0.22"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?fshare\.vn/file/.+' diff --git a/module/plugins/hoster/Ftp.py b/module/plugins/hoster/Ftp.py index c30ad3c37..260d85ee4 100644 --- a/module/plugins/hoster/Ftp.py +++ b/module/plugins/hoster/Ftp.py @@ -2,16 +2,15 @@  import pycurl  import re -import urllib  import urlparse -from module.plugins.internal.Hoster import Hoster +from module.plugins.internal.Hoster import Hoster, parse_name  class Ftp(Hoster):      __name__    = "Ftp"      __type__    = "hoster" -    __version__ = "0.55" +    __version__ = "0.56"      __status__  = "testing"      __pattern__ = r'(?:ftps?|sftp)://([\w\-.]+(:[\w\-.]+)?@)?[\w\-.]+(:\d+)?/.+' @@ -25,20 +24,15 @@ class Ftp(Hoster):      def setup(self): -        self.chunk_limit = -1 +        self.chunk_limit     = -1          self.resume_download = True      def process(self, pyfile): -        p_url = urlparse.urlparse(pyfile.url) +        p_url  = urlparse.urlparse(pyfile.url)          netloc = p_url.netloc -        pyfile.name = p_url.path.rpartition('/')[2] -        try: -            pyfile.name = urllib.unquote(str(pyfile.name)).decode('utf8') - -        except Exception: -            pass +        pyfile.name = parse_name(p_url.path.rpartition('/')[2])          if not "@" in netloc:              self.log_debug("Auth required") @@ -74,6 +68,7 @@ class Ftp(Hoster):          m = re.search(r"Content-Length:\s*(\d+)", res)          if m is not None:              pyfile.size = int(m.group(1)) +              self.download(pyfile.url)          else: diff --git a/module/plugins/hoster/GamefrontCom.py b/module/plugins/hoster/GamefrontCom.py index ef50003fd..c94017946 100644 --- a/module/plugins/hoster/GamefrontCom.py +++ b/module/plugins/hoster/GamefrontCom.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class GamefrontCom(SimpleHoster):      __name__    = "GamefrontCom"      __type__    = "hoster" -    __version__ = "0.09" +    __version__ = "0.10"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?gamefront\.com/files/(?P<ID>\d+)' diff --git a/module/plugins/hoster/GigapetaCom.py b/module/plugins/hoster/GigapetaCom.py index 2d1ffe7bf..09b2bc29d 100644 --- a/module/plugins/hoster/GigapetaCom.py +++ b/module/plugins/hoster/GigapetaCom.py @@ -10,7 +10,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class GigapetaCom(SimpleHoster):      __name__    = "GigapetaCom"      __type__    = "hoster" -    __version__ = "0.05" +    __version__ = "0.06"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?gigapeta\.com/dl/\w+' diff --git a/module/plugins/hoster/GooIm.py b/module/plugins/hoster/GooIm.py index 427d9630a..b92e366b5 100644 --- a/module/plugins/hoster/GooIm.py +++ b/module/plugins/hoster/GooIm.py @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class GooIm(SimpleHoster):      __name__    = "GooIm"      __type__    = "hoster" -    __version__ = "0.05" +    __version__ = "0.06"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?goo\.im/.+' diff --git a/module/plugins/hoster/GoogledriveCom.py b/module/plugins/hoster/GoogledriveCom.py index 27141dbe8..00a540e47 100644 --- a/module/plugins/hoster/GoogledriveCom.py +++ b/module/plugins/hoster/GoogledriveCom.py @@ -7,13 +7,13 @@ import re  import urlparse  from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo -from module.utils import html_unescape +from module.plugins.internal.utils import html_unescape  class GoogledriveCom(SimpleHoster):      __name__    = "GoogledriveCom"      __type__    = "hoster" -    __version__ = "0.14" +    __version__ = "0.15"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?(drive|docs)\.google\.com/(file/d/\w+|uc\?.*id=)' @@ -45,12 +45,12 @@ class GoogledriveCom(SimpleHoster):                  return              link = self.fixurl(link, "https://docs.google.com/") -            direct_link = self.direct_link(link, False) +            dl   = self.is_download(link, redirect=False) -            if not direct_link: +            if not dl:                  self.html = self.load(link)              else: -                self.link = direct_link +                self.link = dl                  break diff --git a/module/plugins/hoster/HellshareCz.py b/module/plugins/hoster/HellshareCz.py index ca2e39b10..1dba2959c 100644 --- a/module/plugins/hoster/HellshareCz.py +++ b/module/plugins/hoster/HellshareCz.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class HellshareCz(SimpleHoster):      __name__    = "HellshareCz"      __type__    = "hoster" -    __version__ = "0.86" +    __version__ = "0.87"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?hellshare\.(?:cz|com|sk|hu|pl)/[^?]*/\d+' diff --git a/module/plugins/hoster/HellspyCz.py b/module/plugins/hoster/HellspyCz.py index 499a94413..7faa2edaa 100644 --- a/module/plugins/hoster/HellspyCz.py +++ b/module/plugins/hoster/HellspyCz.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class HellspyCz(DeadHoster):      __name__    = "HellspyCz"      __type__    = "hoster" -    __version__ = "0.29" -    __status__  = "testing" +    __version__ = "0.30" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?(?:hellspy\.(?:cz|com|sk|hu|pl)|sciagaj\.pl)(/\S+/\d+)'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/HighWayMe.py b/module/plugins/hoster/HighWayMe.py index baf80a4d0..c3baf326d 100644 --- a/module/plugins/hoster/HighWayMe.py +++ b/module/plugins/hoster/HighWayMe.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import seconds_to_midnight  class HighWayMe(MultiHoster):      __name__    = "HighWayMe"      __type__    = "hoster" -    __version__ = "0.15" +    __version__ = "0.16"      __status__  = "testing"      __pattern__ = r'https?://.+high-way\.my' diff --git a/module/plugins/hoster/HostujeNet.py b/module/plugins/hoster/HostujeNet.py index 81bcecc58..8b184159e 100644 --- a/module/plugins/hoster/HostujeNet.py +++ b/module/plugins/hoster/HostujeNet.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class HostujeNet(SimpleHoster):      __name__    = "HostujeNet"      __type__    = "hoster" -    __version__ = "0.02" +    __version__ = "0.03"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?hostuje\.net/\w+' diff --git a/module/plugins/hoster/HotfileCom.py b/module/plugins/hoster/HotfileCom.py index 032bd350e..d56c43cdd 100644 --- a/module/plugins/hoster/HotfileCom.py +++ b/module/plugins/hoster/HotfileCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class HotfileCom(DeadHoster):      __name__    = "HotfileCom"      __type__    = "hoster" -    __version__ = "0.38" -    __status__  = "testing" +    __version__ = "0.39" +    __status__  = "stable"      __pattern__ = r'https?://(?:www\.)?hotfile\.com/dl/\d+/\w+'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/Http.py b/module/plugins/hoster/Http.py new file mode 100644 index 000000000..ad5f36d43 --- /dev/null +++ b/module/plugins/hoster/Http.py @@ -0,0 +1,93 @@ +# -*- coding: utf-8 -*- + +import re +import urlparse + +from module.network.HTTPRequest import BadHeader +from module.plugins.internal.SimpleHoster import create_getInfo +from module.plugins.internal.Hoster import Hoster + + +class Http(Hoster): +    __name__    = "Http" +    __type__    = "hoster" +    __version__ = "0.02" +    __status__  = "testing" + +    __pattern__ = r'(?:jd|pys?)://.+' +    __config__  = [("activated", "bool", "Activated", True)] + +    __description__ = """Download from http link""" +    __license__     = "GPLv3" +    __authors__     = [("RaNaN", "RaNaN@pyload.org"), +                       ("Walter Purcaro", "vuolter@gmail.com")] + + +    def setup(self): +        self.chunk_limit     = -1 +        self.resume_download = True + + +    def process(self, pyfile): +        url    = re.sub(r'^(jd|py)', "http", pyfile.url) +        netloc = urlparse.urlparse(url).netloc + +        link = self.is_download(url) + +        if not link: +            return + +        for _i in xrange(2): +            try: +                self.download(link, ref=False, disposition=True) + +            except BadHeader, e: +                if e.code in (404, 410): +                    self.offline() + +                elif e.code in (401, 403): +                    self.log_debug("Auth required", "Received HTTP status code: %d" % e.code) + +                    #@TODO: Recheck in 0.4.10 +                    if self.account: +                        servers = [x['login'] for x in self.account.getAllAccounts()] +                    else: +                        servers = [] + +                    if netloc in servers: +                        self.log_debug("Logging on to %s" % netloc) +                        self.req.addAuth(self.account.get_login('password')) + +                    else: +                        pwd = self.get_password() +                        if ':' in pwd: +                            self.req.addAuth(pwd) +                        else: +                            self.fail(_("Authorization required")) +                else: +                    self.fail(e) + +            else: +                break + +        self.check_download() + + +    def check_download(self): +        errmsg = self.check_file({'Html error'   : re.compile(r'\A(?:\s*<.+>)?((?:[\w\s]*(?:[Ee]rror|ERROR)\s*\:?)?\s*\d{3})(?:\Z|\s+)'), +                                  'Html file'    : re.compile(r'\A\s*<!DOCTYPE html'), +                                  'Request error': re.compile(r'([Aa]n error occured while processing your request)')}) +        if not errmsg: +            return + +        try: +            errmsg += " | " + self.last_check.group(1).strip() + +        except Exception: +            pass + +        self.log_warning(_("Check result: ") + errmsg, _("Waiting 1 minute and retry")) +        self.retry(3, 60, errmsg) + + +getInfo = create_getInfo(Http) diff --git a/module/plugins/hoster/HugefilesNet.py b/module/plugins/hoster/HugefilesNet.py index 050b8ab98..90391a4e2 100644 --- a/module/plugins/hoster/HugefilesNet.py +++ b/module/plugins/hoster/HugefilesNet.py @@ -8,7 +8,7 @@ from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo  class HugefilesNet(XFSHoster):      __name__    = "HugefilesNet"      __type__    = "hoster" -    __version__ = "0.06" +    __version__ = "0.07"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?hugefiles\.net/\w{12}' diff --git a/module/plugins/hoster/HundredEightyUploadCom.py b/module/plugins/hoster/HundredEightyUploadCom.py index 4dc397caa..00bd9d0cc 100644 --- a/module/plugins/hoster/HundredEightyUploadCom.py +++ b/module/plugins/hoster/HundredEightyUploadCom.py @@ -6,7 +6,7 @@ from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo  class HundredEightyUploadCom(XFSHoster):      __name__    = "HundredEightyUploadCom"      __type__    = "hoster" -    __version__ = "0.06" +    __version__ = "0.07"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?180upload\.com/\w{12}' diff --git a/module/plugins/hoster/IFileWs.py b/module/plugins/hoster/IFileWs.py index 2444846d7..061a912ed 100644 --- a/module/plugins/hoster/IFileWs.py +++ b/module/plugins/hoster/IFileWs.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class IFileWs(DeadHoster):      __name__    = "IFileWs"      __type__    = "hoster" -    __version__ = "0.03" -    __status__  = "testing" +    __version__ = "0.04" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?ifile\.ws/\w{12}'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/IcyFilesCom.py b/module/plugins/hoster/IcyFilesCom.py index 975e6bfc0..d8bdc610e 100644 --- a/module/plugins/hoster/IcyFilesCom.py +++ b/module/plugins/hoster/IcyFilesCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class IcyFilesCom(DeadHoster):      __name__    = "IcyFilesCom"      __type__    = "hoster" -    __version__ = "0.07" -    __status__  = "testing" +    __version__ = "0.08" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?icyfiles\.com/(.+)'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/IfileIt.py b/module/plugins/hoster/IfileIt.py index a0c435762..5e2e0db1e 100644 --- a/module/plugins/hoster/IfileIt.py +++ b/module/plugins/hoster/IfileIt.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class IfileIt(DeadHoster):      __name__    = "IfileIt"      __type__    = "hoster" -    __version__ = "0.30" -    __status__  = "testing" +    __version__ = "0.31" +    __status__  = "stable"      __pattern__ = r'^unmatchable$'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/IfolderRu.py b/module/plugins/hoster/IfolderRu.py index 76c6c669b..1e41b2564 100644 --- a/module/plugins/hoster/IfolderRu.py +++ b/module/plugins/hoster/IfolderRu.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class IfolderRu(SimpleHoster):      __name__    = "IfolderRu"      __type__    = "hoster" -    __version__ = "0.40" +    __version__ = "0.41"      __status__  = "testing"      __pattern__ = r'http://(?:www)?(files\.)?(ifolder\.ru|metalarea\.org|rusfolder\.(com|net|ru))/(files/)?(?P<ID>\d+)' diff --git a/module/plugins/hoster/JumbofilesCom.py b/module/plugins/hoster/JumbofilesCom.py index 8784742eb..ee08a4e6b 100644 --- a/module/plugins/hoster/JumbofilesCom.py +++ b/module/plugins/hoster/JumbofilesCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class JumbofilesCom(SimpleHoster):      __name__    = "JumbofilesCom"      __type__    = "hoster" -    __version__ = "0.04" +    __version__ = "0.05"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?jumbofiles\.com/(?P<ID>\w{12})' diff --git a/module/plugins/hoster/JunocloudMe.py b/module/plugins/hoster/JunocloudMe.py index 37e06afab..63b430f2b 100644 --- a/module/plugins/hoster/JunocloudMe.py +++ b/module/plugins/hoster/JunocloudMe.py @@ -6,7 +6,7 @@ from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo  class JunocloudMe(XFSHoster):      __name__    = "JunocloudMe"      __type__    = "hoster" -    __version__ = "0.06" +    __version__ = "0.07"      __status__  = "testing"      __pattern__ = r'http://(?:\w+\.)?junocloud\.me/\w{12}' diff --git a/module/plugins/hoster/Keep2ShareCc.py b/module/plugins/hoster/Keep2ShareCc.py index f59821feb..d9901abbc 100644 --- a/module/plugins/hoster/Keep2ShareCc.py +++ b/module/plugins/hoster/Keep2ShareCc.py @@ -10,8 +10,8 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class Keep2ShareCc(SimpleHoster):      __name__    = "Keep2ShareCc"      __type__    = "hoster" -    __version__ = "0.26" -    __status__  = "testing" +    __version__ = "0.27" +    __status__  = "broken"      __pattern__ = r'https?://(?:www\.)?(keep2share|k2s|keep2s)\.cc/file/(?P<ID>\w+)'      __config__  = [("activated", "bool", "Activated", True), diff --git a/module/plugins/hoster/KickloadCom.py b/module/plugins/hoster/KickloadCom.py index 2b23b1616..017fbab19 100644 --- a/module/plugins/hoster/KickloadCom.py +++ b/module/plugins/hoster/KickloadCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class KickloadCom(DeadHoster):      __name__    = "KickloadCom"      __type__    = "hoster" -    __version__ = "0.22" -    __status__  = "testing" +    __version__ = "0.23" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?kickload\.com/get/.+'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/KingfilesNet.py b/module/plugins/hoster/KingfilesNet.py index e9b6d00c7..e0f74743c 100644 --- a/module/plugins/hoster/KingfilesNet.py +++ b/module/plugins/hoster/KingfilesNet.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class KingfilesNet(SimpleHoster):      __name__    = "KingfilesNet"      __type__    = "hoster" -    __version__ = "0.09" +    __version__ = "0.10"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?kingfiles\.net/(?P<ID>\w{12})' diff --git a/module/plugins/hoster/LemUploadsCom.py b/module/plugins/hoster/LemUploadsCom.py index 1f4f96a1f..fbe0bb798 100644 --- a/module/plugins/hoster/LemUploadsCom.py +++ b/module/plugins/hoster/LemUploadsCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class LemUploadsCom(DeadHoster):      __name__    = "LemUploadsCom"      __type__    = "hoster" -    __version__ = "0.03" -    __status__  = "testing" +    __version__ = "0.04" +    __status__  = "stable"      __pattern__ = r'https?://(?:www\.)?lemuploads\.com/\w{12}'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/LetitbitNet.py b/module/plugins/hoster/LetitbitNet.py index 7ac1a7d71..99f05a530 100644 --- a/module/plugins/hoster/LetitbitNet.py +++ b/module/plugins/hoster/LetitbitNet.py @@ -9,7 +9,7 @@  import re  import urlparse -from module.common.json_layer import json_loads, json_dumps +from module.plugins.internal.utils import json  from module.network.RequestFactory import getURL as get_url  from module.plugins.captcha.ReCaptcha import ReCaptcha  from module.plugins.internal.SimpleHoster import SimpleHoster, seconds_to_midnight @@ -18,8 +18,8 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, seconds_to_midnig  def api_response(url):      json_data = ["yw7XQy2v9", ["download/info", {'link': url}]]      api_rep   = get_url("http://api.letitbit.net/json", -                        post={'r': json_dumps(json_data)}) -    return json_loads(api_rep) +                        post={'r': json.dumps(json_data)}) +    return json.loads(api_rep)  def get_info(urls): @@ -35,7 +35,7 @@ def get_info(urls):  class LetitbitNet(SimpleHoster):      __name__    = "LetitbitNet"      __type__    = "hoster" -    __version__ = "0.33" +    __version__ = "0.34"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?(letitbit|shareflare)\.net/download/.+' @@ -108,7 +108,7 @@ class LetitbitNet(SimpleHoster):              self.wait(seconds_to_midnight(), True)          elif res.startswith('['): -            urls = json_loads(res) +            urls = json.loads(res)          elif res.startswith('http://'):              urls = [res] @@ -123,9 +123,9 @@ class LetitbitNet(SimpleHoster):          premium_key = self.account.get_login('password')          json_data = [self.account.user, ["download/direct_links", {'pass': premium_key, 'link': pyfile.url}]] -        api_rep = self.load('http://api.letitbit.net/json', post={'r': json_dumps(json_data)}) +        api_rep = self.load('http://api.letitbit.net/json', post={'r': json.dumps(json_data)})          self.log_debug("API Data: " + api_rep) -        api_rep = json_loads(api_rep) +        api_rep = json.loads(api_rep)          if api_rep['status'] == "FAIL":              self.fail(api_rep['data']) diff --git a/module/plugins/hoster/LinksnappyCom.py b/module/plugins/hoster/LinksnappyCom.py index aa9d9bdcb..809332d9a 100644 --- a/module/plugins/hoster/LinksnappyCom.py +++ b/module/plugins/hoster/LinksnappyCom.py @@ -3,14 +3,14 @@  import re  import urlparse -from module.common.json_layer import json_loads, json_dumps +from module.plugins.internal.utils import json  from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo  class LinksnappyCom(MultiHoster):      __name__    = "LinksnappyCom"      __type__    = "hoster" -    __version__ = "0.12" +    __version__ = "0.13"      __status__  = "testing"      __pattern__ = r'https?://(?:[^/]+\.)?linksnappy\.com' @@ -25,7 +25,7 @@ class LinksnappyCom(MultiHoster):      def handle_premium(self, pyfile):          host        = self._get_host(pyfile.url) -        json_params = json_dumps({'link'    : pyfile.url, +        json_params = json.dumps({'link'    : pyfile.url,                                    'type'    : host,                                    'username': self.account.user,                                    'password': self.account.get_login('password')}) @@ -35,7 +35,7 @@ class LinksnappyCom(MultiHoster):          self.log_debug("JSON data: " + r) -        j = json_loads(r)['links'][0] +        j = json.loads(r)['links'][0]          if j['error']:              self.error(_("Error converting the link")) diff --git a/module/plugins/hoster/LoadTo.py b/module/plugins/hoster/LoadTo.py index 3066e3561..d572f95a4 100644 --- a/module/plugins/hoster/LoadTo.py +++ b/module/plugins/hoster/LoadTo.py @@ -13,7 +13,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class LoadTo(SimpleHoster):      __name__    = "LoadTo"      __type__    = "hoster" -    __version__ = "0.25" +    __version__ = "0.26"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?load\.to/\w+' diff --git a/module/plugins/hoster/LolabitsEs.py b/module/plugins/hoster/LolabitsEs.py index 18c845d8e..e91708a10 100644 --- a/module/plugins/hoster/LolabitsEs.py +++ b/module/plugins/hoster/LolabitsEs.py @@ -3,13 +3,13 @@  import re  from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo -from module.utils import html_unescape +from module.plugins.internal.utils import html_unescape  class LolabitsEs(SimpleHoster):      __name__    = "LolabitsEs"      __type__    = "hoster" -    __version__ = "0.03" +    __version__ = "0.04"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?lolabits\.es/.+' diff --git a/module/plugins/hoster/LomafileCom.py b/module/plugins/hoster/LomafileCom.py index 9e625a1eb..5b11ac257 100644 --- a/module/plugins/hoster/LomafileCom.py +++ b/module/plugins/hoster/LomafileCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class LomafileCom(DeadHoster):      __name__    = "LomafileCom"      __type__    = "hoster" -    __version__ = "0.53" -    __status__  = "testing" +    __version__ = "0.54" +    __status__  = "stable"      __pattern__ = r'http://lomafile\.com/\w{12}'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/LuckyShareNet.py b/module/plugins/hoster/LuckyShareNet.py index dc8f6448b..d12f84623 100644 --- a/module/plugins/hoster/LuckyShareNet.py +++ b/module/plugins/hoster/LuckyShareNet.py @@ -2,7 +2,7 @@  import re -from module.common.json_layer import json_loads +from module.plugins.internal.utils import json  from module.plugins.captcha.ReCaptcha import ReCaptcha  from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo @@ -10,7 +10,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class LuckyShareNet(SimpleHoster):      __name__    = "LuckyShareNet"      __type__    = "hoster" -    __version__ = "0.10" +    __version__ = "0.11"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?luckyshare\.net/(?P<ID>\d{10,})' @@ -38,7 +38,7 @@ class LuckyShareNet(SimpleHoster):                  self.error(_("Unable to detect wait time between free downloads"))          elif 'Hash expired' in rep:              self.retry(msg=_("Hash expired")) -        return json_loads(rep) +        return json.loads(rep)      #@TODO: There should be a filesize limit for free downloads @@ -48,14 +48,14 @@ class LuckyShareNet(SimpleHoster):          self.log_debug("JSON: " + rep) -        json = self.parse_json(rep) -        self.wait(json['time']) +        jso = self.parse_json(rep) +        self.wait(jso['time'])          recaptcha = ReCaptcha(self)          response, challenge = recaptcha.challenge()          rep = self.load(r"http://luckyshare.net/download/verify/challenge/%s/response/%s/hash/%s" % -                        (challenge, response, json['hash'])) +                        (challenge, response, jso['hash']))          self.log_debug("JSON: " + rep) @@ -64,9 +64,9 @@ class LuckyShareNet(SimpleHoster):          elif 'link' in rep:              self.captcha.correct() -            json.update(self.parse_json(rep)) -            if json['link']: -                self.link = json['link'] +            jso.update(self.parse_json(rep)) +            if jso['link']: +                self.link = jso['link']  getInfo = create_getInfo(LuckyShareNet) diff --git a/module/plugins/hoster/MediafireCom.py b/module/plugins/hoster/MediafireCom.py index 9418b4996..7e83f275f 100644 --- a/module/plugins/hoster/MediafireCom.py +++ b/module/plugins/hoster/MediafireCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class MediafireCom(SimpleHoster):      __name__    = "MediafireCom"      __type__    = "hoster" -    __version__ = "0.91" +    __version__ = "0.92"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?mediafire\.com/(file/|view/\??|download(\.php\?|/)|\?)(?P<ID>\w+)' diff --git a/module/plugins/hoster/MegaCoNz.py b/module/plugins/hoster/MegaCoNz.py index 36ad929f4..59d75d445 100644 --- a/module/plugins/hoster/MegaCoNz.py +++ b/module/plugins/hoster/MegaCoNz.py @@ -2,18 +2,18 @@  import array  import os -# import pycurl  import random  import re +# import pycurl +  from base64 import standard_b64decode  from Crypto.Cipher import AES  from Crypto.Util import Counter -from module.common.json_layer import json_loads, json_dumps  from module.plugins.internal.Hoster import Hoster -from module.utils import decode, fs_decode, fs_encode +from module.plugins.internal.utils import decode, encode, json  ############################ General errors ################################### @@ -48,7 +48,7 @@ from module.utils import decode, fs_decode, fs_encode  class MegaCoNz(Hoster):      __name__    = "MegaCoNz"      __type__    = "hoster" -    __version__ = "0.31" +    __version__ = "0.32"      __status__  = "testing"      __pattern__ = r'(https?://(?:www\.)?mega(\.co)?\.nz/|mega:|chrome:.+?)#(?P<TYPE>N|)!(?P<ID>[\w^_]+)!(?P<KEY>[\w\-,]+)' @@ -89,9 +89,9 @@ class MegaCoNz(Hoster):          #: Generate a session id, no idea where to obtain elsewhere          uid = random.randint(10 << 9, 10 ** 10) -        res = self.load(self.API_URL, get={'id': uid}, post=json_dumps([kwargs])) +        res = self.load(self.API_URL, get={'id': uid}, post=json.dumps([kwargs]))          self.log_debug("Api Response: " + res) -        return json_loads(res) +        return json.loads(res)      def decrypt_attr(self, data, key): @@ -104,7 +104,7 @@ class MegaCoNz(Hoster):              self.fail(_("Decryption failed"))          #: Data is padded, 0-bytes must be stripped -        return json_loads(re.search(r'{.+?}', attr).group(0)) +        return json.loads(re.search(r'{.+?}', attr).group(0))      def decrypt_file(self, key): @@ -122,7 +122,7 @@ class MegaCoNz(Hoster):          self.pyfile.setStatus("decrypting")          self.pyfile.setProgress(0) -        file_crypted   = fs_encode(self.last_download) +        file_crypted   = encode(self.last_download)          file_decrypted = file_crypted.rsplit(self.FILE_SUFFIX)[0]          try: @@ -169,7 +169,7 @@ class MegaCoNz(Hoster):              # self.fail(_("Checksum mismatch"))          os.remove(file_crypted) -        self.last_download = fs_decode(file_decrypted) +        self.last_download = decode(file_decrypted)      def check_error(self, code): diff --git a/module/plugins/hoster/MegaDebridEu.py b/module/plugins/hoster/MegaDebridEu.py index b6c7c513c..fa157cc20 100644 --- a/module/plugins/hoster/MegaDebridEu.py +++ b/module/plugins/hoster/MegaDebridEu.py @@ -3,14 +3,14 @@  import re  import urllib -from module.common.json_layer import json_loads +from module.plugins.internal.utils import json  from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo  class MegaDebridEu(MultiHoster):      __name__    = "MegaDebridEu"      __type__    = "hoster" -    __version__ = "0.50" +    __version__ = "0.51"      __status__  = "testing"      __pattern__ = r'http://((?:www\d+\.|s\d+\.)?mega-debrid\.eu|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/download/file/[\w^_]+' @@ -34,7 +34,7 @@ class MegaDebridEu(MultiHoster):          user, info = self.account.select()          jsonResponse = self.load(self.API_URL,                                   get={'action': 'connectUser', 'login': user, 'password': info['login']['password']}) -        res = json_loads(jsonResponse) +        res = json.loads(jsonResponse)          if res['response_code'] == "ok":              self.token = res['token'] @@ -55,7 +55,7 @@ class MegaDebridEu(MultiHoster):                                   get={'action': 'getLink', 'token': self.token},                                   post={'link': pyfile.url}) -        res = json_loads(jsonResponse) +        res = json.loads(jsonResponse)          if res['response_code'] == "ok":              self.link = res['debridLink'][1:-1] diff --git a/module/plugins/hoster/MegaFilesSe.py b/module/plugins/hoster/MegaFilesSe.py index 03c684751..490ced6a7 100644 --- a/module/plugins/hoster/MegaFilesSe.py +++ b/module/plugins/hoster/MegaFilesSe.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class MegaFilesSe(DeadHoster):      __name__    = "MegaFilesSe"      __type__    = "hoster" -    __version__ = "0.03" -    __status__  = "testing" +    __version__ = "0.04" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?megafiles\.se/\w{12}'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/MegaRapidCz.py b/module/plugins/hoster/MegaRapidCz.py index 429902307..28746c435 100644 --- a/module/plugins/hoster/MegaRapidCz.py +++ b/module/plugins/hoster/MegaRapidCz.py @@ -22,7 +22,7 @@ def get_info(urls):  class MegaRapidCz(SimpleHoster):      __name__    = "MegaRapidCz"      __type__    = "hoster" -    __version__ = "0.59" +    __version__ = "0.60"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?(share|mega)rapid\.cz/soubor/\d+/.+' diff --git a/module/plugins/hoster/MegaRapidoNet.py b/module/plugins/hoster/MegaRapidoNet.py index caee97fd8..bc002865e 100644 --- a/module/plugins/hoster/MegaRapidoNet.py +++ b/module/plugins/hoster/MegaRapidoNet.py @@ -23,7 +23,7 @@ def random_with_n_digits(n):  class MegaRapidoNet(MultiHoster):      __name__    = "MegaRapidoNet"      __type__    = "hoster" -    __version__ = "0.05" +    __version__ = "0.06"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?\w+\.megarapido\.net/\?file=\w+' diff --git a/module/plugins/hoster/MegacrypterCom.py b/module/plugins/hoster/MegacrypterCom.py index 655258e1d..1b0ace9c1 100644 --- a/module/plugins/hoster/MegacrypterCom.py +++ b/module/plugins/hoster/MegacrypterCom.py @@ -2,7 +2,7 @@  import re -from module.common.json_layer import json_loads, json_dumps +from module.plugins.internal.utils import json  from module.plugins.hoster.MegaCoNz import MegaCoNz @@ -10,7 +10,7 @@ from module.plugins.hoster.MegaCoNz import MegaCoNz  class MegacrypterCom(MegaCoNz):      __name__    = "MegacrypterCom"      __type__    = "hoster" -    __version__ = "0.23" +    __version__ = "0.24"      __status__  = "testing"      __pattern__ = r'https?://\w{0,10}\.?megacrypter\.com/[\w\-!]+' @@ -29,10 +29,10 @@ class MegacrypterCom(MegaCoNz):          """          Dispatch a call to the api, see megacrypter.com/api_doc          """ -        self.log_debug("JSON request: " + json_dumps(kwargs)) -        res = self.load(self.API_URL, post=json_dumps(kwargs)) +        self.log_debug("JSON request: " + json.dumps(kwargs)) +        res = self.load(self.API_URL, post=json.dumps(kwargs))          self.log_debug("API Response: " + res) -        return json_loads(res) +        return json.loads(res)      def process(self, pyfile): diff --git a/module/plugins/hoster/MegareleaseOrg.py b/module/plugins/hoster/MegareleaseOrg.py index ab9a864c9..ec446cbd5 100644 --- a/module/plugins/hoster/MegareleaseOrg.py +++ b/module/plugins/hoster/MegareleaseOrg.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class MegareleaseOrg(DeadHoster):      __name__    = "MegareleaseOrg"      __type__    = "hoster" -    __version__ = "0.03" -    __status__  = "testing" +    __version__ = "0.04" +    __status__  = "stable"      __pattern__ = r'https?://(?:www\.)?megarelease\.org/\w{12}'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/MegasharesCom.py b/module/plugins/hoster/MegasharesCom.py index 7673032ec..c049e5f5d 100644 --- a/module/plugins/hoster/MegasharesCom.py +++ b/module/plugins/hoster/MegasharesCom.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class MegasharesCom(SimpleHoster):      __name__    = "MegasharesCom"      __type__    = "hoster" -    __version__ = "0.33" +    __version__ = "0.34"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?(d\d{2}\.)?megashares\.com/((index\.php)?\?d\d{2}=|dl/)\w+' diff --git a/module/plugins/hoster/MegauploadCom.py b/module/plugins/hoster/MegauploadCom.py index 468734c35..cfa5a0bfc 100644 --- a/module/plugins/hoster/MegauploadCom.py +++ b/module/plugins/hoster/MegauploadCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class MegauploadCom(DeadHoster):      __name__    = "MegauploadCom"      __type__    = "hoster" -    __version__ = "0.32" -    __status__  = "testing" +    __version__ = "0.33" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?megaupload\.com/\?.*&?(d|v)=\w+'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/MegavideoCom.py b/module/plugins/hoster/MegavideoCom.py index a3339a932..96a3683b8 100644 --- a/module/plugins/hoster/MegavideoCom.py +++ b/module/plugins/hoster/MegavideoCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class MegavideoCom(DeadHoster):      __name__    = "MegavideoCom"      __type__    = "hoster" -    __version__ = "0.22" -    __status__  = "testing" +    __version__ = "0.23" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?megavideo\.com/\?.*&?(d|v)=\w+'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/MovReelCom.py b/module/plugins/hoster/MovReelCom.py index f4f32c25c..86d1b2106 100644 --- a/module/plugins/hoster/MovReelCom.py +++ b/module/plugins/hoster/MovReelCom.py @@ -6,7 +6,7 @@ from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo  class MovReelCom(XFSHoster):      __name__    = "MovReelCom"      __type__    = "hoster" -    __version__ = "1.25" +    __version__ = "1.26"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?movreel\.com/\w{12}' diff --git a/module/plugins/hoster/MultihostersCom.py b/module/plugins/hoster/MultihostersCom.py index d951b086b..ee752d2f4 100644 --- a/module/plugins/hoster/MultihostersCom.py +++ b/module/plugins/hoster/MultihostersCom.py @@ -6,7 +6,7 @@ from module.plugins.hoster.ZeveraCom import ZeveraCom  class MultihostersCom(ZeveraCom):      __name__    = "MultihostersCom"      __type__    = "hoster" -    __version__ = "0.04" +    __version__ = "0.05"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)multihosters\.com/(getFiles\.ashx|Members/download\.ashx)\?.*ourl=.+' diff --git a/module/plugins/hoster/MultishareCz.py b/module/plugins/hoster/MultishareCz.py index d6c31dcb0..b16be7cfc 100644 --- a/module/plugins/hoster/MultishareCz.py +++ b/module/plugins/hoster/MultishareCz.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class MultishareCz(SimpleHoster):      __name__    = "MultishareCz"      __type__    = "hoster" -    __version__ = "0.43" +    __version__ = "0.44"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?multishare\.cz/stahnout/(?P<ID>\d+)' @@ -41,7 +41,7 @@ class MultishareCz(SimpleHoster):      def handle_multi(self, pyfile):          self.html = self.load('http://www.multishare.cz/html/mms_ajax.php', post={'link': pyfile.url}) -        self.check_info() +        self.update_info()          if not self.check_traffic():              self.fail(_("Not enough credit left to download file")) diff --git a/module/plugins/hoster/MyfastfileCom.py b/module/plugins/hoster/MyfastfileCom.py index 2885a5634..29b40e4c8 100644 --- a/module/plugins/hoster/MyfastfileCom.py +++ b/module/plugins/hoster/MyfastfileCom.py @@ -2,14 +2,14 @@  import re -from module.common.json_layer import json_loads +from module.plugins.internal.utils import json  from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo  class MyfastfileCom(MultiHoster):      __name__    = "MyfastfileCom"      __type__    = "hoster" -    __version__ = "0.11" +    __version__ = "0.12"      __status__  = "testing"      __pattern__ = r'http://\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/dl/' @@ -33,7 +33,7 @@ class MyfastfileCom(MultiHoster):                                'link': pyfile.url})          self.log_debug("JSON data: " + self.html) -        self.html = json_loads(self.html) +        self.html = json.loads(self.html)          if self.html['status'] != 'ok':              self.fail(_("Unable to unrestrict link")) diff --git a/module/plugins/hoster/MystoreTo.py b/module/plugins/hoster/MystoreTo.py index 433537e5a..a22e71cb7 100644 --- a/module/plugins/hoster/MystoreTo.py +++ b/module/plugins/hoster/MystoreTo.py @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class MystoreTo(SimpleHoster):      __name__    = "MystoreTo"      __type__    = "hoster" -    __version__ = "0.04" +    __version__ = "0.05"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?mystore\.to/dl/.+' diff --git a/module/plugins/hoster/MyvideoDe.py b/module/plugins/hoster/MyvideoDe.py index 5df1669b8..eb1d283e2 100644 --- a/module/plugins/hoster/MyvideoDe.py +++ b/module/plugins/hoster/MyvideoDe.py @@ -3,13 +3,13 @@  import re  from module.plugins.internal.Hoster import Hoster -from module.utils import html_unescape +from module.plugins.internal.utils import html_unescape  class MyvideoDe(Hoster):      __name__    = "MyvideoDe"      __type__    = "hoster" -    __version__ = "0.92" +    __version__ = "0.93"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?myvideo\.de/watch/' diff --git a/module/plugins/hoster/NahrajCz.py b/module/plugins/hoster/NahrajCz.py index 0d710c9b0..39511ff1a 100644 --- a/module/plugins/hoster/NahrajCz.py +++ b/module/plugins/hoster/NahrajCz.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class NahrajCz(DeadHoster):      __name__    = "NahrajCz"      __type__    = "hoster" -    __version__ = "0.22" -    __status__  = "testing" +    __version__ = "0.23" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?nahraj\.cz/content/download/.+'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/NarodRu.py b/module/plugins/hoster/NarodRu.py index 1802f058d..1184bb124 100644 --- a/module/plugins/hoster/NarodRu.py +++ b/module/plugins/hoster/NarodRu.py @@ -10,7 +10,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class NarodRu(SimpleHoster):      __name__    = "NarodRu"      __type__    = "hoster" -    __version__ = "0.13" +    __version__ = "0.14"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?narod(\.yandex)?\.ru/(disk|start/\d+\.\w+\-narod\.yandex\.ru)/(?P<ID>\d+)/.+' diff --git a/module/plugins/hoster/NetloadIn.py b/module/plugins/hoster/NetloadIn.py index ff9e75c72..f892d222a 100644 --- a/module/plugins/hoster/NetloadIn.py +++ b/module/plugins/hoster/NetloadIn.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class NetloadIn(DeadHoster):      __name__    = "NetloadIn"      __type__    = "hoster" -    __version__ = "0.51" -    __status__  = "testing" +    __version__ = "0.52" +    __status__  = "stable"      __pattern__ = r'https?://(?:www\.)?netload\.(in|me)/(?P<PATH>datei|index\.php\?id=10&file_id=)(?P<ID>\w+)'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/NitroflareCom.py b/module/plugins/hoster/NitroflareCom.py index 7e704b8a2..4bd27e741 100644 --- a/module/plugins/hoster/NitroflareCom.py +++ b/module/plugins/hoster/NitroflareCom.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster  class NitroflareCom(SimpleHoster):      __name__    = "NitroflareCom"      __type__    = "hoster" -    __version__ = "0.15" +    __version__ = "0.16"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?nitroflare\.com/view/(?P<ID>[\w^_]+)' diff --git a/module/plugins/hoster/NoPremiumPl.py b/module/plugins/hoster/NoPremiumPl.py index c4f07fbae..9d0b3331e 100644 --- a/module/plugins/hoster/NoPremiumPl.py +++ b/module/plugins/hoster/NoPremiumPl.py @@ -1,13 +1,13 @@  # -*- coding: utf-8 -*- -from module.common.json_layer import json_loads +from module.plugins.internal.utils import json  from module.plugins.internal.MultiHoster import MultiHoster  class NoPremiumPl(MultiHoster):      __name__    = "NoPremiumPl"      __type__    = "hoster" -    __version__ = "0.05" +    __version__ = "0.06"      __status__  = "testing"      __pattern__ = r'https?://direct\.nopremium\.pl.+' @@ -70,7 +70,7 @@ class NoPremiumPl(MultiHoster):              self.temp_offline("Query error #1")          try: -            parsed = json_loads(data) +            parsed = json.loads(data)          except Exception:              self.temp_offline("Data not found") diff --git a/module/plugins/hoster/NosuploadCom.py b/module/plugins/hoster/NosuploadCom.py index 18de2aeeb..3b726b904 100644 --- a/module/plugins/hoster/NosuploadCom.py +++ b/module/plugins/hoster/NosuploadCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo  class NosuploadCom(XFSHoster):      __name__    = "NosuploadCom"      __type__    = "hoster" -    __version__ = "0.32" +    __version__ = "0.33"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?nosupload\.com/\?d=\w{12}' diff --git a/module/plugins/hoster/NovafileCom.py b/module/plugins/hoster/NovafileCom.py index a07de6802..0d83a8aee 100644 --- a/module/plugins/hoster/NovafileCom.py +++ b/module/plugins/hoster/NovafileCom.py @@ -10,7 +10,7 @@ from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo  class NovafileCom(XFSHoster):      __name__    = "NovafileCom"      __type__    = "hoster" -    __version__ = "0.06" +    __version__ = "0.07"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?novafile\.com/\w{12}' diff --git a/module/plugins/hoster/NowDownloadSx.py b/module/plugins/hoster/NowDownloadSx.py index 79e964236..5b86746c8 100644 --- a/module/plugins/hoster/NowDownloadSx.py +++ b/module/plugins/hoster/NowDownloadSx.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class NowDownloadSx(SimpleHoster):      __name__    = "NowDownloadSx"      __type__    = "hoster" -    __version__ = "0.11" +    __version__ = "0.12"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?(nowdownload\.[a-zA-Z]{2,}/(dl/|download\.php.+?id=|mobile/(#/files/|.+?id=))|likeupload\.org/)\w+' diff --git a/module/plugins/hoster/NowVideoSx.py b/module/plugins/hoster/NowVideoSx.py index d209d6475..f75072d17 100644 --- a/module/plugins/hoster/NowVideoSx.py +++ b/module/plugins/hoster/NowVideoSx.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class NowVideoSx(SimpleHoster):      __name__    = "NowVideoSx"      __type__    = "hoster" -    __version__ = "0.13" +    __version__ = "0.14"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?nowvideo\.[a-zA-Z]{2,}/(video/|mobile/(#/videos/|.+?id=))(?P<ID>\w+)' diff --git a/module/plugins/hoster/OboomCom.py b/module/plugins/hoster/OboomCom.py index a73d646e1..cbfda10c7 100644 --- a/module/plugins/hoster/OboomCom.py +++ b/module/plugins/hoster/OboomCom.py @@ -5,7 +5,7 @@  import re -from module.common.json_layer import json_loads +from module.plugins.internal.utils import json  from module.plugins.internal.Hoster import Hoster  from module.plugins.captcha.ReCaptcha import ReCaptcha @@ -13,7 +13,7 @@ from module.plugins.captcha.ReCaptcha import ReCaptcha  class OboomCom(Hoster):      __name__    = "OboomCom"      __type__    = "hoster" -    __version__ = "0.39" +    __version__ = "0.40"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?oboom\.com/(?:#(?:id=|/)?)?(?P<ID>\w{8})' @@ -50,7 +50,7 @@ class OboomCom(Hoster):      def load_url(self, url, get=None):          if get is None:              get = {} -        return json_loads(self.load(url, get)) +        return json.loads(self.load(url, get))      def get_file_id(self, url): diff --git a/module/plugins/hoster/OneFichierCom.py b/module/plugins/hoster/OneFichierCom.py index 8de529643..7df253e55 100644 --- a/module/plugins/hoster/OneFichierCom.py +++ b/module/plugins/hoster/OneFichierCom.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class OneFichierCom(SimpleHoster):      __name__    = "OneFichierCom"      __type__    = "hoster" -    __version__ = "0.93" +    __version__ = "0.94"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?(?:\w+\.)?(?P<HOST>1fichier\.com|alterupload\.com|cjoint\.net|d(es)?fichiers\.com|dl4free\.com|megadl\.fr|mesfichiers\.org|piecejointe\.net|pjointe\.com|tenvoi\.com)(?:/\?\w+)?' @@ -76,27 +76,11 @@ class OneFichierCom(SimpleHoster):          else:              info = {'status' : 8, -                    'error'    : _("Too many redirects")} +                    'error'  : _("Too many redirects")}          return info -    def handle_direct(self, pyfile): -        redirect = pyfile.url -        for i in xrange(self.get_config("maxredirs", plugin="UserAgentSwitcher")): - -            headers = self.load(redirect, just_header=True) -            if 'location' in headers and headers['location']: -                self.log_debug("Redirect #%d to: %s" % (i, redirect)) -                redirect = headers['location'] -            else: -                if 'content-type' in headers and headers['content-type'] == "application/octet-stream": -                    self.link = pyfile.url -                break -        else: -            self.fail(_("Too many redirects")) - -      def handle_free(self, pyfile):          self.check_errors() @@ -114,7 +98,7 @@ class OneFichierCom(SimpleHoster):      def handle_premium(self, pyfile): -        self.download(pyfile.url, post={'dl': "Download", 'did': 0}) +        self.download(pyfile.url, post={'did': 0, 'dl_no_ssl': "on"})  getInfo = create_getInfo(OneFichierCom) diff --git a/module/plugins/hoster/OpenloadIo.py b/module/plugins/hoster/OpenloadIo.py index 8fff581fe..0b394d51c 100644 --- a/module/plugins/hoster/OpenloadIo.py +++ b/module/plugins/hoster/OpenloadIo.py @@ -1,16 +1,16 @@  # -*- coding: utf-8 -*- -import json  import re  from module.network.RequestFactory import getURL  from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo +from module.plugins.internal.utils import json  class OpenloadIo(SimpleHoster):      __name__    = "OpenloadIo"      __type__    = "hoster" -    __version__ = "0.10" +    __version__ = "0.12"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?openload\.(co|io)/(f|embed)/(?P<ID>[\w\-]+)' @@ -38,12 +38,12 @@ class OpenloadIo(SimpleHoster):      @classmethod      def api_info(cls, url): -        file_id   = cls.info['pattern']['ID'] +        file_id   = re.match(cls.__pattern__, url).group('ID')          info_json = cls._load_json(cls._FILE_INFO_URI_PATTERN.format(file_id))          file_info = info_json['result'][file_id] -        return {'name'  : file_info['name'], -                'size'  : file_info['size']} +        return {'name': file_info['name'], +                'size': file_info['size']}      def setup(self): diff --git a/module/plugins/hoster/OronCom.py b/module/plugins/hoster/OronCom.py index e1887ce76..edc800973 100644 --- a/module/plugins/hoster/OronCom.py +++ b/module/plugins/hoster/OronCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class OronCom(DeadHoster):      __name__    = "OronCom"      __type__    = "hoster" -    __version__ = "0.15" -    __status__  = "testing" +    __version__ = "0.16" +    __status__  = "stable"      __pattern__ = r'https?://(?:www\.)?oron\.com/\w{12}'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/OverLoadMe.py b/module/plugins/hoster/OverLoadMe.py index b03d263b9..49d2c305f 100644 --- a/module/plugins/hoster/OverLoadMe.py +++ b/module/plugins/hoster/OverLoadMe.py @@ -3,15 +3,14 @@  import re  import urllib -from module.common.json_layer import json_loads  from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo -from module.plugins.internal.Plugin import parse_size +from module.plugins.internal.utils import json, parse_size  class OverLoadMe(MultiHoster):      __name__    = "OverLoadMe"      __type__    = "hoster" -    __version__ = "0.14" +    __version__ = "0.15"      __status__  = "testing"      __pattern__ = r'https?://.*overload\.me/.+' @@ -34,7 +33,7 @@ class OverLoadMe(MultiHoster):                            get={'auth': data['password'],                                 'link': pyfile.url}) -        data = json_loads(page) +        data = json.loads(page)          self.log_debug(data) diff --git a/module/plugins/hoster/PandaplaNet.py b/module/plugins/hoster/PandaplaNet.py index 4efe20b5a..1e7b5d3bb 100644 --- a/module/plugins/hoster/PandaplaNet.py +++ b/module/plugins/hoster/PandaplaNet.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class PandaplaNet(DeadHoster):      __name__    = "PandaplaNet"      __type__    = "hoster" -    __version__ = "0.04" -    __status__  = "testing" +    __version__ = "0.05" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?pandapla\.net/\w{12}'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/PornhostCom.py b/module/plugins/hoster/PornhostCom.py index 13a8dff4d..7520e261f 100644 --- a/module/plugins/hoster/PornhostCom.py +++ b/module/plugins/hoster/PornhostCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.Hoster import Hoster  class PornhostCom(Hoster):      __name__    = "PornhostCom"      __type__    = "hoster" -    __version__ = "0.22" +    __version__ = "0.23"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?pornhost\.com/(\d+/\d+\.html|\d+)' diff --git a/module/plugins/hoster/PornhubCom.py b/module/plugins/hoster/PornhubCom.py index fb0299b85..5946497f1 100644 --- a/module/plugins/hoster/PornhubCom.py +++ b/module/plugins/hoster/PornhubCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.Hoster import Hoster  class PornhubCom(Hoster):      __name__    = "PornhubCom"      __type__    = "hoster" -    __version__ = "0.52" +    __version__ = "0.53"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?pornhub\.com/view_video\.php\?viewkey=\w+' diff --git a/module/plugins/hoster/PotloadCom.py b/module/plugins/hoster/PotloadCom.py index 8279412e4..e4f38b000 100644 --- a/module/plugins/hoster/PotloadCom.py +++ b/module/plugins/hoster/PotloadCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class PotloadCom(DeadHoster):      __name__    = "PotloadCom"      __type__    = "hoster" -    __version__ = "0.03" -    __status__  = "testing" +    __version__ = "0.04" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?potload\.com/\w{12}'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/PremiumTo.py b/module/plugins/hoster/PremiumTo.py index 874e19c93..5b90f4d5a 100644 --- a/module/plugins/hoster/PremiumTo.py +++ b/module/plugins/hoster/PremiumTo.py @@ -5,13 +5,13 @@ from __future__ import with_statement  import os  from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo -from module.utils import fs_encode +from module.plugins.internal.utils import encode  class PremiumTo(MultiHoster):      __name__    = "PremiumTo"      __type__    = "hoster" -    __version__ = "0.26" +    __version__ = "0.27"      __status__  = "testing"      __pattern__ = r'^unmatchable$' @@ -45,7 +45,7 @@ class PremiumTo(MultiHoster):          err = ""          if self.req.http.code == "420":              #: Custom error code send - fail -            file = fs_encode(self.last_download) +            file = encode(self.last_download)              with open(file, "rb") as f:                  err = f.read(256).strip()              os.remove(file) diff --git a/module/plugins/hoster/PremiumizeMe.py b/module/plugins/hoster/PremiumizeMe.py index 918526355..f9f14cb3e 100644 --- a/module/plugins/hoster/PremiumizeMe.py +++ b/module/plugins/hoster/PremiumizeMe.py @@ -1,13 +1,13 @@  # -*- coding: utf-8 -*- -from module.common.json_layer import json_loads +from module.plugins.internal.utils import json  from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo  class PremiumizeMe(MultiHoster):      __name__    = "PremiumizeMe"      __type__    = "hoster" -    __version__ = "0.21" +    __version__ = "0.22"      __status__  = "testing"      __pattern__ = r'^unmatchable$'  #: Since we want to allow the user to specify the list of hoster to use we let MultiHoster.activate @@ -35,7 +35,7 @@ class PremiumizeMe(MultiHoster):          user, info = self.account.select()          #: Get rewritten link using the premiumize.me api v1 (see https://secure.premiumize.me/?show=api) -        data = json_loads(self.load("http://api.premiumize.me/pm-api/v1.php",  #@TODO: Revert to `https` in 0.4.10 +        data = json.loads(self.load("http://api.premiumize.me/pm-api/v1.php",  #@TODO: Revert to `https` in 0.4.10                                      get={'method'       : "directdownloadlink",                                           'params[login]': user,                                           'params[pass]' : info['login']['password'], diff --git a/module/plugins/hoster/PromptfileCom.py b/module/plugins/hoster/PromptfileCom.py index ed3daa18e..9db1a495a 100644 --- a/module/plugins/hoster/PromptfileCom.py +++ b/module/plugins/hoster/PromptfileCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class PromptfileCom(SimpleHoster):      __name__    = "PromptfileCom"      __type__    = "hoster" -    __version__ = "0.14" +    __version__ = "0.15"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?promptfile\.com/' diff --git a/module/plugins/hoster/PrzeklejPl.py b/module/plugins/hoster/PrzeklejPl.py index b066444da..ac6aec196 100644 --- a/module/plugins/hoster/PrzeklejPl.py +++ b/module/plugins/hoster/PrzeklejPl.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class PrzeklejPl(DeadHoster):      __name__    = "PrzeklejPl"      __type__    = "hoster" -    __version__ = "0.12" -    __status__  = "testing" +    __version__ = "0.13" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?przeklej\.pl/plik/.+'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/PutdriveCom.py b/module/plugins/hoster/PutdriveCom.py index d917bf812..ee81596cd 100644 --- a/module/plugins/hoster/PutdriveCom.py +++ b/module/plugins/hoster/PutdriveCom.py @@ -6,7 +6,7 @@ from module.plugins.hoster.ZeveraCom import ZeveraCom  class PutdriveCom(ZeveraCom):      __name__    = "PutdriveCom"      __type__    = "hoster" -    __version__ = "0.03" +    __version__ = "0.04"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)putdrive\.com/(getFiles\.ashx|Members/download\.ashx)\?.*ourl=.+' diff --git a/module/plugins/hoster/QuickshareCz.py b/module/plugins/hoster/QuickshareCz.py index b6600478d..73b4aa48c 100644 --- a/module/plugins/hoster/QuickshareCz.py +++ b/module/plugins/hoster/QuickshareCz.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class QuickshareCz(SimpleHoster):      __name__    = "QuickshareCz"      __type__    = "hoster" -    __version__ = "0.58" +    __version__ = "0.59"      __status__  = "testing"      __pattern__ = r'http://(?:[^/]*\.)?quickshare\.cz/stahnout-soubor/.+' diff --git a/module/plugins/hoster/RPNetBiz.py b/module/plugins/hoster/RPNetBiz.py index af3d41946..cc4b0589c 100644 --- a/module/plugins/hoster/RPNetBiz.py +++ b/module/plugins/hoster/RPNetBiz.py @@ -3,13 +3,13 @@  import re  from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo -from module.common.json_layer import json_loads +from module.plugins.internal.utils import json  class RPNetBiz(MultiHoster):      __name__    = "RPNetBiz"      __type__    = "hoster" -    __version__ = "0.17" +    __version__ = "0.18"      __status__  = "testing"      __pattern__ = r'https?://.+rpnet\.biz' @@ -36,7 +36,7 @@ class RPNetBiz(MultiHoster):                               'links'   : pyfile.url})          self.log_debug("JSON data: %s" % res) -        link_status = json_loads(res)['links'][0]  #: Get the first link... since we only queried one +        link_status = json.loads(res)['links'][0]  #: Get the first link... since we only queried one          #: Check if we only have an id as a HDD link          if 'id' in link_status: @@ -54,7 +54,7 @@ class RPNetBiz(MultiHoster):                                       'action'  : "downloadInformation",                                       'id'      : link_status['id']})                  self.log_debug("JSON data hdd query: %s" % res) -                download_status = json_loads(res)['download'] +                download_status = json.loads(res)['download']                  if download_status['status'] == "100":                      link_status['generated'] = download_status['rpnet_link'] diff --git a/module/plugins/hoster/RapideoPl.py b/module/plugins/hoster/RapideoPl.py index 7a5c25297..eedf1a9e4 100644 --- a/module/plugins/hoster/RapideoPl.py +++ b/module/plugins/hoster/RapideoPl.py @@ -1,13 +1,13 @@  # -*- coding: utf-8 -*- -from module.common.json_layer import json_loads +from module.plugins.internal.utils import json  from module.plugins.internal.MultiHoster import MultiHoster  class RapideoPl(MultiHoster):      __name__    = "RapideoPl"      __type__    = "hoster" -    __version__ = "0.05" +    __version__ = "0.06"      __status__  = "testing"      __pattern__ = r'^unmatchable$' @@ -70,7 +70,7 @@ class RapideoPl(MultiHoster):              self.temp_offline("Query error #1")          try: -            parsed = json_loads(data) +            parsed = json.loads(data)          except Exception:              self.temp_offline("Data not found") diff --git a/module/plugins/hoster/RapidfileshareNet.py b/module/plugins/hoster/RapidfileshareNet.py index 9c91ab9b8..4f139d443 100644 --- a/module/plugins/hoster/RapidfileshareNet.py +++ b/module/plugins/hoster/RapidfileshareNet.py @@ -6,7 +6,7 @@ from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo  class RapidfileshareNet(XFSHoster):      __name__    = "RapidfileshareNet"      __type__    = "hoster" -    __version__ = "0.04" +    __version__ = "0.05"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?rapidfileshare\.net/\w{12}' diff --git a/module/plugins/hoster/RapidgatorNet.py b/module/plugins/hoster/RapidgatorNet.py index bb4622386..0b302abd5 100644 --- a/module/plugins/hoster/RapidgatorNet.py +++ b/module/plugins/hoster/RapidgatorNet.py @@ -3,7 +3,7 @@  import pycurl  import re -from module.common.json_layer import json_loads +from module.plugins.internal.utils import json  from module.network.HTTPRequest import BadHeader  from module.plugins.captcha.AdsCaptcha import AdsCaptcha  from module.plugins.captcha.ReCaptcha import ReCaptcha @@ -14,7 +14,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class RapidgatorNet(SimpleHoster):      __name__    = "RapidgatorNet"      __type__    = "hoster" -    __version__ = "0.36" +    __version__ = "0.37"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?(rapidgator\.net|rg\.to)/file/\w+' @@ -65,13 +65,13 @@ class RapidgatorNet(SimpleHoster):      def api_response(self, cmd):          try: -            json = self.load('%s/%s' % (self.API_URL, cmd), +            html = self.load('%s/%s' % (self.API_URL, cmd),                               get={'sid': self.sid,                                    'url': self.pyfile.url}) -            self.log_debug("API:%s" % cmd, json, "SID: %s" % self.sid) -            json = json_loads(json) -            status = json['response_status'] -            msg = json['response_details'] +            self.log_debug("API:%s" % cmd, html, "SID: %s" % self.sid) +            jso = json.loads(html) +            status = jso['response_status'] +            msg = jso['response_details']          except BadHeader, e:              self.log_error("API: %s" % cmd, e, "SID: %s" % self.sid) @@ -79,7 +79,7 @@ class RapidgatorNet(SimpleHoster):              msg = e          if status == 200: -            return json['response'] +            return jso['response']          elif status == 423:              self.account.empty() @@ -156,7 +156,7 @@ class RapidgatorNet(SimpleHoster):          if not res.startswith('{'):              self.retry()          self.log_debug(url, res) -        return json_loads(res) +        return json.loads(res)  getInfo = create_getInfo(RapidgatorNet) diff --git a/module/plugins/hoster/RapiduNet.py b/module/plugins/hoster/RapiduNet.py index d86cb4184..c06d7ba44 100644 --- a/module/plugins/hoster/RapiduNet.py +++ b/module/plugins/hoster/RapiduNet.py @@ -4,7 +4,7 @@ import pycurl  import re  import time -from module.common.json_layer import json_loads +from module.plugins.internal.utils import json  from module.plugins.captcha.ReCaptcha import ReCaptcha  from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo @@ -12,7 +12,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class RapiduNet(SimpleHoster):      __name__    = "RapiduNet"      __type__    = "hoster" -    __version__ = "0.10" +    __version__ = "0.11"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?rapidu\.net/(?P<ID>\d{10})' @@ -78,7 +78,7 @@ class RapiduNet(SimpleHoster):          self.log_debug(res) -        return json_loads(res) +        return json.loads(res)  getInfo = create_getInfo(RapiduNet) diff --git a/module/plugins/hoster/RarefileNet.py b/module/plugins/hoster/RarefileNet.py index 326476076..339bcdf6f 100644 --- a/module/plugins/hoster/RarefileNet.py +++ b/module/plugins/hoster/RarefileNet.py @@ -8,7 +8,7 @@ from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo  class RarefileNet(XFSHoster):      __name__    = "RarefileNet"      __type__    = "hoster" -    __version__ = "0.10" +    __version__ = "0.11"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?rarefile\.net/\w{12}' diff --git a/module/plugins/hoster/RealdebridCom.py b/module/plugins/hoster/RealdebridCom.py index a8685d0f8..7c6615391 100644 --- a/module/plugins/hoster/RealdebridCom.py +++ b/module/plugins/hoster/RealdebridCom.py @@ -4,15 +4,14 @@ import re  import time  import urllib -from module.common.json_layer import json_loads  from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo -from module.plugins.internal.Plugin import parse_size +from module.plugins.internal.utils import json, parse_size  class RealdebridCom(MultiHoster):      __name__    = "RealdebridCom"      __type__    = "hoster" -    __version__ = "0.69" +    __version__ = "0.70"      __status__  = "testing"      __pattern__ = r'https?://((?:www\.|s\d+\.)?real-debrid\.com/dl/|[\w^_]\.rdb\.so/d/)[\w^_]+' @@ -30,7 +29,7 @@ class RealdebridCom(MultiHoster):      def handle_premium(self, pyfile): -        data = json_loads(self.load("https://real-debrid.com/ajax/unrestrict.php", +        data = json.loads(self.load("https://real-debrid.com/ajax/unrestrict.php",                                      get={'lang'    : "en",                                           'link'    : pyfile.url,                                           'password': self.get_password(), diff --git a/module/plugins/hoster/RedtubeCom.py b/module/plugins/hoster/RedtubeCom.py index b5897ac80..4d93e0149 100644 --- a/module/plugins/hoster/RedtubeCom.py +++ b/module/plugins/hoster/RedtubeCom.py @@ -3,13 +3,13 @@  import re  from module.plugins.internal.Hoster import Hoster -from module.utils import html_unescape +from module.plugins.internal.utils import html_unescape  class RedtubeCom(Hoster):      __name__    = "RedtubeCom"      __type__    = "hoster" -    __version__ = "0.22" +    __version__ = "0.23"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?redtube\.com/\d+' diff --git a/module/plugins/hoster/RehostTo.py b/module/plugins/hoster/RehostTo.py index 9ec7e8ee6..9365d36fd 100644 --- a/module/plugins/hoster/RehostTo.py +++ b/module/plugins/hoster/RehostTo.py @@ -8,7 +8,7 @@ from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo  class RehostTo(MultiHoster):      __name__    = "RehostTo"      __type__    = "hoster" -    __version__ = "0.24" +    __version__ = "0.25"      __status__  = "testing"      __pattern__ = r'https?://.*rehost\.to\..+' diff --git a/module/plugins/hoster/RemixshareCom.py b/module/plugins/hoster/RemixshareCom.py index dd8072799..f2edb362c 100644 --- a/module/plugins/hoster/RemixshareCom.py +++ b/module/plugins/hoster/RemixshareCom.py @@ -16,7 +16,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class RemixshareCom(SimpleHoster):      __name__    = "RemixshareCom"      __type__    = "hoster" -    __version__ = "0.06" +    __version__ = "0.07"      __status__  = "testing"      __pattern__ = r'https?://remixshare\.com/(download|dl)/\w+' diff --git a/module/plugins/hoster/RgHostNet.py b/module/plugins/hoster/RgHostNet.py index 24f398de0..c20224888 100644 --- a/module/plugins/hoster/RgHostNet.py +++ b/module/plugins/hoster/RgHostNet.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class RgHostNet(SimpleHoster):      __name__    = "RgHostNet"      __type__    = "hoster" -    __version__ = "0.05" +    __version__ = "0.06"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?rghost\.(net|ru)/[\d\-]+' diff --git a/module/plugins/hoster/SafesharingEu.py b/module/plugins/hoster/SafesharingEu.py index 80e289f69..73d458e24 100644 --- a/module/plugins/hoster/SafesharingEu.py +++ b/module/plugins/hoster/SafesharingEu.py @@ -6,7 +6,7 @@ from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo  class SafesharingEu(XFSHoster):      __name__    = "SafesharingEu"      __type__    = "hoster" -    __version__ = "0.06" +    __version__ = "0.07"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?safesharing\.eu/\w{12}' diff --git a/module/plugins/hoster/SecureUploadEu.py b/module/plugins/hoster/SecureUploadEu.py index 4e3dcc6a7..af59f5f3a 100644 --- a/module/plugins/hoster/SecureUploadEu.py +++ b/module/plugins/hoster/SecureUploadEu.py @@ -6,7 +6,7 @@ from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo  class SecureUploadEu(XFSHoster):      __name__    = "SecureUploadEu"      __type__    = "hoster" -    __version__ = "0.06" +    __version__ = "0.07"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?secureupload\.eu/\w{12}' diff --git a/module/plugins/hoster/SendspaceCom.py b/module/plugins/hoster/SendspaceCom.py index b5f8781a3..9c62bdaaf 100644 --- a/module/plugins/hoster/SendspaceCom.py +++ b/module/plugins/hoster/SendspaceCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class SendspaceCom(SimpleHoster):      __name__    = "SendspaceCom"      __type__    = "hoster" -    __version__ = "0.18" +    __version__ = "0.19"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?sendspace\.com/file/\w+' diff --git a/module/plugins/hoster/Share4WebCom.py b/module/plugins/hoster/Share4WebCom.py index 4b1279407..fa4861a89 100644 --- a/module/plugins/hoster/Share4WebCom.py +++ b/module/plugins/hoster/Share4WebCom.py @@ -7,7 +7,7 @@ from module.plugins.internal.SimpleHoster import create_getInfo  class Share4WebCom(UnibytesCom):      __name__    = "Share4WebCom"      __type__    = "hoster" -    __version__ = "0.13" +    __version__ = "0.14"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?share4web\.com/get/\w+' diff --git a/module/plugins/hoster/Share76Com.py b/module/plugins/hoster/Share76Com.py index 863fb0a7e..4f0ed74a0 100644 --- a/module/plugins/hoster/Share76Com.py +++ b/module/plugins/hoster/Share76Com.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class Share76Com(DeadHoster):      __name__    = "Share76Com"      __type__    = "hoster" -    __version__ = "0.05" -    __status__  = "testing" +    __version__ = "0.06" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?share76\.com/\w{12}'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/ShareFilesCo.py b/module/plugins/hoster/ShareFilesCo.py index a42ceb91c..b1b67324c 100644 --- a/module/plugins/hoster/ShareFilesCo.py +++ b/module/plugins/hoster/ShareFilesCo.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class ShareFilesCo(DeadHoster):      __name__    = "ShareFilesCo"      __type__    = "hoster" -    __version__ = "0.03" -    __status__  = "testing" +    __version__ = "0.04" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?sharefiles\.co/\w{12}'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/SharebeesCom.py b/module/plugins/hoster/SharebeesCom.py index c987ac0f9..7ee26c9be 100644 --- a/module/plugins/hoster/SharebeesCom.py +++ b/module/plugins/hoster/SharebeesCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class SharebeesCom(DeadHoster):      __name__    = "SharebeesCom"      __type__    = "hoster" -    __version__ = "0.03" -    __status__  = "testing" +    __version__ = "0.04" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?sharebees\.com/\w{12}'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/ShareonlineBiz.py b/module/plugins/hoster/ShareonlineBiz.py index 1cf1d5508..1177a7a24 100644 --- a/module/plugins/hoster/ShareonlineBiz.py +++ b/module/plugins/hoster/ShareonlineBiz.py @@ -12,7 +12,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class ShareonlineBiz(SimpleHoster):      __name__    = "ShareonlineBiz"      __type__    = "hoster" -    __version__ = "0.60" +    __version__ = "0.61"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?(share-online\.biz|egoshare\.com)/(download\.php\?id=|dl/)(?P<ID>\w+)' @@ -38,12 +38,10 @@ class ShareonlineBiz(SimpleHoster):      @classmethod      def api_info(cls, url): -        info = super(ShareonlineBiz, cls).api_info(url) - +        info  = {}          field = get_url("http://api.share-online.biz/linkcheck.php",                          get={'md5'  : "1",                               'links': re.match(cls.__pattern__, url).group("ID")}).split(";") -          try:              if field[1] == "OK":                  info['fileid'] = field[0] diff --git a/module/plugins/hoster/ShareplaceCom.py b/module/plugins/hoster/ShareplaceCom.py index 56bec3002..88d3ad7e4 100644 --- a/module/plugins/hoster/ShareplaceCom.py +++ b/module/plugins/hoster/ShareplaceCom.py @@ -9,7 +9,7 @@ from module.plugins.internal.Hoster import Hoster  class ShareplaceCom(Hoster):      __name__    = "ShareplaceCom"      __type__    = "hoster" -    __version__ = "0.14" +    __version__ = "0.15"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?shareplace\.(com|org)/\?\w+' diff --git a/module/plugins/hoster/SharingmatrixCom.py b/module/plugins/hoster/SharingmatrixCom.py index e6d5d4ab8..6a7ed1dd8 100644 --- a/module/plugins/hoster/SharingmatrixCom.py +++ b/module/plugins/hoster/SharingmatrixCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class SharingmatrixCom(DeadHoster):      __name__    = "SharingmatrixCom"      __type__    = "hoster" -    __version__ = "0.02" -    __status__  = "testing" +    __version__ = "0.03" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?sharingmatrix\.com/file/\w+'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/ShragleCom.py b/module/plugins/hoster/ShragleCom.py index 1313ba0e0..3f63cb92f 100644 --- a/module/plugins/hoster/ShragleCom.py +++ b/module/plugins/hoster/ShragleCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class ShragleCom(DeadHoster):      __name__    = "ShragleCom"      __type__    = "hoster" -    __version__ = "0.23" -    __status__  = "testing" +    __version__ = "0.24" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?(cloudnator|shragle)\.com/files/(?P<ID>.+?)/'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/SimplyPremiumCom.py b/module/plugins/hoster/SimplyPremiumCom.py index 750928ab0..5dffdd3fb 100644 --- a/module/plugins/hoster/SimplyPremiumCom.py +++ b/module/plugins/hoster/SimplyPremiumCom.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import seconds_to_midnight  class SimplyPremiumCom(MultiHoster):      __name__    = "SimplyPremiumCom"      __type__    = "hoster" -    __version__ = "0.12" +    __version__ = "0.13"      __status__  = "testing"      __pattern__ = r'https?://.+simply-premium\.com' diff --git a/module/plugins/hoster/SimplydebridCom.py b/module/plugins/hoster/SimplydebridCom.py index 60d35f211..c5dad0a06 100644 --- a/module/plugins/hoster/SimplydebridCom.py +++ b/module/plugins/hoster/SimplydebridCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo, rep  class SimplydebridCom(MultiHoster):      __name__    = "SimplydebridCom"      __type__    = "hoster" -    __version__ = "0.21" +    __version__ = "0.22"      __status__  = "testing"      __pattern__ = r'http://\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/sd\.php' diff --git a/module/plugins/hoster/SizedriveCom.py b/module/plugins/hoster/SizedriveCom.py index e545b1d28..9659d9438 100644 --- a/module/plugins/hoster/SizedriveCom.py +++ b/module/plugins/hoster/SizedriveCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class SizedriveCom(SimpleHoster):      __name__    = "SizedriveCom"      __type__    = "hoster" -    __version__ = "0.03" +    __version__ = "0.04"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?sizedrive\.com/[rd]/(?P<ID>\w+)' diff --git a/module/plugins/hoster/SmoozedCom.py b/module/plugins/hoster/SmoozedCom.py index 5676e6190..e1400b3bb 100644 --- a/module/plugins/hoster/SmoozedCom.py +++ b/module/plugins/hoster/SmoozedCom.py @@ -1,13 +1,13 @@  # -*- coding: utf-8 -*- -from module.common.json_layer import json_loads +from module.plugins.internal.utils import json  from module.plugins.internal.MultiHoster import MultiHoster  class SmoozedCom(MultiHoster):      __name__    = "SmoozedCom"      __type__    = "hoster" -    __version__ = "0.09" +    __version__ = "0.10"      __status__  = "testing"      __pattern__ = r'^unmatchable$'  #: Since we want to allow the user to specify the list of hoster to use we let MultiHoster.activate @@ -40,7 +40,7 @@ class SmoozedCom(MultiHoster):          get_data = {'session_key': self.account.get_data('session'),                      'url'        : pyfile.url} -        data = json_loads(self.load("http://www2.smoozed.com/api/check", get=get_data)) +        data = json.loads(self.load("http://www2.smoozed.com/api/check", get=get_data))          if data['state'] != "ok":              self.fail(data['message']) diff --git a/module/plugins/hoster/SockshareCom.py b/module/plugins/hoster/SockshareCom.py index b45a22b72..30fb748bc 100644 --- a/module/plugins/hoster/SockshareCom.py +++ b/module/plugins/hoster/SockshareCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class SockshareCom(DeadHoster):      __name__    = "SockshareCom"      __type__    = "hoster" -    __version__ = "0.06" -    __status__  = "testing" +    __version__ = "0.07" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?sockshare\.com/(mobile/)?(file|embed)/(?P<ID>\w+)'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/SolidfilesCom.py b/module/plugins/hoster/SolidfilesCom.py index ee2f12c92..64c05447f 100644 --- a/module/plugins/hoster/SolidfilesCom.py +++ b/module/plugins/hoster/SolidfilesCom.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class SolidfilesCom(SimpleHoster):      __name__    = "SolidfilesCom"      __type__    = "hoster" -    __version__ = "0.03" +    __version__ = "0.04"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?solidfiles\.com\/d/\w+' diff --git a/module/plugins/hoster/SoundcloudCom.py b/module/plugins/hoster/SoundcloudCom.py index 90c8acc11..8baf7190a 100644 --- a/module/plugins/hoster/SoundcloudCom.py +++ b/module/plugins/hoster/SoundcloudCom.py @@ -3,13 +3,13 @@  import re  from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo -from module.common.json_layer import json_loads +from module.plugins.internal.utils import json  class SoundcloudCom(SimpleHoster):      __name__    = "SoundcloudCom"      __type__    = "hoster" -    __version__ = "0.12" +    __version__ = "0.13"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?soundcloud\.com/[\w\-]+/[\w\-]+' @@ -40,7 +40,7 @@ class SoundcloudCom(SimpleHoster):              client_id = "b45b1aa10f1ac2941910a7f0d10f8e28"          #: Url to retrieve the actual song url -        streams = json_loads(self.load("https://api.soundcloud.com/tracks/%s/streams" % song_id, +        streams = json.loads(self.load("https://api.soundcloud.com/tracks/%s/streams" % song_id,                               get={'client_id': client_id}))          regex = re.compile(r'[^\d]') diff --git a/module/plugins/hoster/SpeedLoadOrg.py b/module/plugins/hoster/SpeedLoadOrg.py index abba1be79..1ccdfb96a 100644 --- a/module/plugins/hoster/SpeedLoadOrg.py +++ b/module/plugins/hoster/SpeedLoadOrg.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class SpeedLoadOrg(DeadHoster):      __name__    = "SpeedLoadOrg"      __type__    = "hoster" -    __version__ = "1.03" -    __status__  = "testing" +    __version__ = "1.04" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?speedload\.org/(?P<ID>\w+)'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/SpeedfileCz.py b/module/plugins/hoster/SpeedfileCz.py index 75a55d490..a4daff030 100644 --- a/module/plugins/hoster/SpeedfileCz.py +++ b/module/plugins/hoster/SpeedfileCz.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class SpeedfileCz(DeadHoster):      __name__    = "SpeedFileCz"      __type__    = "hoster" -    __version__ = "0.33" -    __status__  = "testing" +    __version__ = "0.34" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?speedfile\.cz/.+'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/SpeedyshareCom.py b/module/plugins/hoster/SpeedyshareCom.py index 727bafd3d..bd7110445 100644 --- a/module/plugins/hoster/SpeedyshareCom.py +++ b/module/plugins/hoster/SpeedyshareCom.py @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class SpeedyshareCom(SimpleHoster):      __name__    = "SpeedyshareCom"      __type__    = "hoster" -    __version__ = "0.06" +    __version__ = "0.07"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?(speedyshare\.com|speedy\.sh)/\w+' diff --git a/module/plugins/hoster/StorageTo.py b/module/plugins/hoster/StorageTo.py index 3d0852204..0bab30f5d 100644 --- a/module/plugins/hoster/StorageTo.py +++ b/module/plugins/hoster/StorageTo.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class StorageTo(DeadHoster):      __name__    = "StorageTo"      __type__    = "hoster" -    __version__ = "0.02" -    __status__  = "testing" +    __version__ = "0.03" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?storage\.to/get/.+'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/StreamCz.py b/module/plugins/hoster/StreamCz.py index b52998a15..c5f53d90a 100644 --- a/module/plugins/hoster/StreamCz.py +++ b/module/plugins/hoster/StreamCz.py @@ -23,7 +23,7 @@ def get_info(urls):  class StreamCz(Hoster):      __name__    = "StreamCz"      __type__    = "hoster" -    __version__ = "0.22" +    __version__ = "0.23"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?stream\.cz/[^/]+/\d+' diff --git a/module/plugins/hoster/StreamcloudEu.py b/module/plugins/hoster/StreamcloudEu.py index f98e2fec9..a440ebc88 100644 --- a/module/plugins/hoster/StreamcloudEu.py +++ b/module/plugins/hoster/StreamcloudEu.py @@ -8,7 +8,7 @@ from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo  class StreamcloudEu(XFSHoster):      __name__    = "StreamcloudEu"      __type__    = "hoster" -    __version__ = "0.11" +    __version__ = "0.12"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?streamcloud\.eu/\w{12}' diff --git a/module/plugins/hoster/TurbobitNet.py b/module/plugins/hoster/TurbobitNet.py index d6ec4b643..7edb4c80b 100644 --- a/module/plugins/hoster/TurbobitNet.py +++ b/module/plugins/hoster/TurbobitNet.py @@ -17,8 +17,8 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class TurbobitNet(SimpleHoster):      __name__    = "TurbobitNet"      __type__    = "hoster" -    __version__ = "0.23" -    __status__  = "testing" +    __version__ = "0.24" +    __status__  = "broken"      __pattern__ = r'http://(?:www\.)?turbobit\.net/(?:download/free/)?(?P<ID>\w+)'      __config__  = [("activated", "bool", "Activated", True), diff --git a/module/plugins/hoster/TurbouploadCom.py b/module/plugins/hoster/TurbouploadCom.py index ffb88d53b..79a3d12b8 100644 --- a/module/plugins/hoster/TurbouploadCom.py +++ b/module/plugins/hoster/TurbouploadCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class TurbouploadCom(DeadHoster):      __name__    = "TurbouploadCom"      __type__    = "hoster" -    __version__ = "0.04" -    __status__  = "testing" +    __version__ = "0.05" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?turboupload\.com/(\w+)'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/TusfilesNet.py b/module/plugins/hoster/TusfilesNet.py index 74c402a6d..58b0c79f5 100644 --- a/module/plugins/hoster/TusfilesNet.py +++ b/module/plugins/hoster/TusfilesNet.py @@ -8,7 +8,7 @@ from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo  class TusfilesNet(XFSHoster):      __name__    = "TusfilesNet"      __type__    = "hoster" -    __version__ = "0.12" +    __version__ = "0.14"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?tusfiles\.net/\w{12}' @@ -25,7 +25,8 @@ class TusfilesNet(XFSHoster):      def setup(self):          self.chunk_limit     = -1 -        self.multiDL        = True +        self.multiDL         = True +        self.limitDL         = 2          self.resume_download = True diff --git a/module/plugins/hoster/TwoSharedCom.py b/module/plugins/hoster/TwoSharedCom.py index 8125d0f1e..f81372000 100644 --- a/module/plugins/hoster/TwoSharedCom.py +++ b/module/plugins/hoster/TwoSharedCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class TwoSharedCom(SimpleHoster):      __name__    = "TwoSharedCom"      __type__    = "hoster" -    __version__ = "0.15" +    __version__ = "0.16"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?2shared\.com/(account/)?(download|get|file|document|photo|video|audio)/.+' diff --git a/module/plugins/hoster/UlozTo.py b/module/plugins/hoster/UlozTo.py index ce63107e8..938efd118 100644 --- a/module/plugins/hoster/UlozTo.py +++ b/module/plugins/hoster/UlozTo.py @@ -3,7 +3,7 @@  import re  import time -from module.common.json_layer import json_loads +from module.plugins.internal.utils import json  from module.plugins.internal.Plugin import timestamp  from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo @@ -16,7 +16,7 @@ def convert_decimal_prefix(m):  class UlozTo(SimpleHoster):      __name__    = "UlozTo"      __type__    = "hoster" -    __version__ = "1.16" +    __version__ = "1.17"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj\.cz|zachowajto\.pl)/(?:live/)?(?P<ID>\w+/[^/?]*)' @@ -75,7 +75,7 @@ class UlozTo(SimpleHoster):              xapca = xapca.replace('sound":"', 'sound":"http:').replace('image":"', 'image":"http:')              self.log_debug("xapca: %s" % xapca) -            data = json_loads(xapca) +            data = json.loads(xapca)              captcha_value = self.captcha.decrypt(data['image'])              self.log_debug("CAPTCHA HASH: " + data['hash'], "CAPTCHA SALT: %s" % data['salt'], "CAPTCHA VALUE: " + captcha_value) diff --git a/module/plugins/hoster/UloziskoSk.py b/module/plugins/hoster/UloziskoSk.py index 1495cf25a..dd67937b0 100644 --- a/module/plugins/hoster/UloziskoSk.py +++ b/module/plugins/hoster/UloziskoSk.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class UloziskoSk(SimpleHoster):      __name__    = "UloziskoSk"      __type__    = "hoster" -    __version__ = "0.26" +    __version__ = "0.27"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?ulozisko\.sk/.+' diff --git a/module/plugins/hoster/UnibytesCom.py b/module/plugins/hoster/UnibytesCom.py index e0cf5ee1b..44e890b13 100644 --- a/module/plugins/hoster/UnibytesCom.py +++ b/module/plugins/hoster/UnibytesCom.py @@ -10,7 +10,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class UnibytesCom(SimpleHoster):      __name__    = "UnibytesCom"      __type__    = "hoster" -    __version__ = "0.16" +    __version__ = "0.17"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?unibytes\.com/[\w\- .]{11}B' diff --git a/module/plugins/hoster/UnrestrictLi.py b/module/plugins/hoster/UnrestrictLi.py index 082ad3e02..f30fc1b0e 100644 --- a/module/plugins/hoster/UnrestrictLi.py +++ b/module/plugins/hoster/UnrestrictLi.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class UnrestrictLi(DeadHoster):      __name__    = "UnrestrictLi"      __type__    = "hoster" -    __version__ = "0.24" -    __status__  = "testing" +    __version__ = "0.25" +    __status__  = "stable"      __pattern__ = r'https?://(?:www\.)?(unrestrict|unr)\.li/dl/[\w^_]+'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/UpleaCom.py b/module/plugins/hoster/UpleaCom.py index 8d7a07047..4b3b488c2 100644 --- a/module/plugins/hoster/UpleaCom.py +++ b/module/plugins/hoster/UpleaCom.py @@ -9,7 +9,7 @@ from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo  class UpleaCom(XFSHoster):      __name__    = "UpleaCom"      __type__    = "hoster" -    __version__ = "0.13" +    __version__ = "0.14"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?uplea\.com/dl/\w{15}' diff --git a/module/plugins/hoster/UploadStationCom.py b/module/plugins/hoster/UploadStationCom.py index 36b766b7e..7fb9282ed 100644 --- a/module/plugins/hoster/UploadStationCom.py +++ b/module/plugins/hoster/UploadStationCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class UploadStationCom(DeadHoster):      __name__    = "UploadStationCom"      __type__    = "hoster" -    __version__ = "0.53" -    __status__  = "testing" +    __version__ = "0.54" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?uploadstation\.com/file/(?P<ID>\w+)'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/UploadableCh.py b/module/plugins/hoster/UploadableCh.py index c816278ed..5fd5c0b59 100644 --- a/module/plugins/hoster/UploadableCh.py +++ b/module/plugins/hoster/UploadableCh.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class UploadableCh(SimpleHoster):      __name__    = "UploadableCh"      __type__    = "hoster" -    __version__ = "0.13" +    __version__ = "0.14"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?uploadable\.ch/file/(?P<ID>\w+)' diff --git a/module/plugins/hoster/UploadboxCom.py b/module/plugins/hoster/UploadboxCom.py index a1053a413..f686198bd 100644 --- a/module/plugins/hoster/UploadboxCom.py +++ b/module/plugins/hoster/UploadboxCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class UploadboxCom(DeadHoster):      __name__    = "Uploadbox"      __type__    = "hoster" -    __version__ = "0.06" -    __status__  = "testing" +    __version__ = "0.07" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?uploadbox\.com/files/.+'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/UploadedTo.py b/module/plugins/hoster/UploadedTo.py index c3c2ade08..cbfbbf5e5 100644 --- a/module/plugins/hoster/UploadedTo.py +++ b/module/plugins/hoster/UploadedTo.py @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class UploadedTo(SimpleHoster):      __name__    = "UploadedTo"      __type__    = "hoster" -    __version__ = "0.97" +    __version__ = "0.98"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?(uploaded\.(to|net)|ul\.to)(/file/|/?\?id=|.*?&id=|/)(?P<ID>\w+)' @@ -42,7 +42,7 @@ class UploadedTo(SimpleHoster):      @classmethod      def api_info(cls, url): -        info = super(UploadedTo, cls).api_info(url) +        info = {}          for _i in xrange(5):              html = get_url("http://uploaded.net/api/filemultiple", diff --git a/module/plugins/hoster/UploadhereCom.py b/module/plugins/hoster/UploadhereCom.py index a3c41e824..110d050d6 100644 --- a/module/plugins/hoster/UploadhereCom.py +++ b/module/plugins/hoster/UploadhereCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class UploadhereCom(DeadHoster):      __name__    = "UploadhereCom"      __type__    = "hoster" -    __version__ = "0.13" -    __status__  = "testing" +    __version__ = "0.14" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?uploadhere\.com/\w{10}'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/UploadheroCom.py b/module/plugins/hoster/UploadheroCom.py index d8f07b5f5..0154b4801 100644 --- a/module/plugins/hoster/UploadheroCom.py +++ b/module/plugins/hoster/UploadheroCom.py @@ -12,7 +12,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class UploadheroCom(SimpleHoster):      __name__    = "UploadheroCom"      __type__    = "hoster" -    __version__ = "0.19" +    __version__ = "0.20"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?uploadhero\.com?/dl/\w+' diff --git a/module/plugins/hoster/UploadingCom.py b/module/plugins/hoster/UploadingCom.py index 3ca91e652..5f888b7b2 100644 --- a/module/plugins/hoster/UploadingCom.py +++ b/module/plugins/hoster/UploadingCom.py @@ -3,7 +3,7 @@  import pycurl  import re -from module.common.json_layer import json_loads +from module.plugins.internal.utils import json  from module.plugins.internal.Plugin import encode, timestamp  from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class UploadingCom(SimpleHoster):      __name__    = "UploadingCom"      __type__    = "hoster" -    __version__ = "0.44" +    __version__ = "0.45"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?uploading\.com/files/(?:get/)?(?P<ID>\w+)' @@ -71,7 +71,7 @@ class UploadingCom(SimpleHoster):          self.req.http.c.setopt(pycurl.HTTPHEADER, ["X-Requested-With: XMLHttpRequest"])          self.req.http.lastURL = pyfile.url -        res = json_loads(self.load(ajax_url, post={'action': 'second_page', 'code': self.info['pattern']['ID']})) +        res = json.loads(self.load(ajax_url, post={'action': 'second_page', 'code': self.info['pattern']['ID']}))          if 'answer' in res and 'wait_time' in res['answer']:              wait_time = int(res['answer']['wait_time']) @@ -80,7 +80,7 @@ class UploadingCom(SimpleHoster):          else:              self.error(_("No AJAX/WAIT")) -        res = json_loads(self.load(ajax_url, post={'action': 'get_link', 'code': self.info['pattern']['ID'], 'pass': 'false'})) +        res = json.loads(self.load(ajax_url, post={'action': 'get_link', 'code': self.info['pattern']['ID'], 'pass': 'false'}))          if 'answer' in res and 'link' in res['answer']:              url = res['answer']['link'] diff --git a/module/plugins/hoster/UploadkingCom.py b/module/plugins/hoster/UploadkingCom.py index 54fe47cc8..9a41f7a5d 100644 --- a/module/plugins/hoster/UploadkingCom.py +++ b/module/plugins/hoster/UploadkingCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class UploadkingCom(DeadHoster):      __name__    = "UploadkingCom"      __type__    = "hoster" -    __version__ = "0.15" -    __status__  = "testing" +    __version__ = "0.16" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?uploadking\.com/\w{10}'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/UpstoreNet.py b/module/plugins/hoster/UpstoreNet.py index dcc156415..4c3b79f0d 100644 --- a/module/plugins/hoster/UpstoreNet.py +++ b/module/plugins/hoster/UpstoreNet.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class UpstoreNet(SimpleHoster):      __name__    = "UpstoreNet"      __type__    = "hoster" -    __version__ = "0.07" +    __version__ = "0.08"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?upstore\.net/' diff --git a/module/plugins/hoster/UptoboxCom.py b/module/plugins/hoster/UptoboxCom.py index 08cc26bfd..a0024a56f 100644 --- a/module/plugins/hoster/UptoboxCom.py +++ b/module/plugins/hoster/UptoboxCom.py @@ -6,7 +6,7 @@ from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo  class UptoboxCom(XFSHoster):      __name__    = "UptoboxCom"      __type__    = "hoster" -    __version__ = "0.22" +    __version__ = "0.23"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?(uptobox|uptostream)\.com/\w{12}' diff --git a/module/plugins/hoster/UserscloudCom.py b/module/plugins/hoster/UserscloudCom.py index f8b6d7703..9a68b15b5 100644 --- a/module/plugins/hoster/UserscloudCom.py +++ b/module/plugins/hoster/UserscloudCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class UserscloudCom(SimpleHoster):      __name__    = "UserscloudCom"      __type__    = "hoster" -    __version__ = "0.01" +    __version__ = "0.02"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?userscloud\.com/\w{12}' diff --git a/module/plugins/hoster/VeehdCom.py b/module/plugins/hoster/VeehdCom.py index 7f2ca4780..007505d12 100644 --- a/module/plugins/hoster/VeehdCom.py +++ b/module/plugins/hoster/VeehdCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.Hoster import Hoster  class VeehdCom(Hoster):      __name__    = "VeehdCom"      __type__    = "hoster" -    __version__ = "0.25" +    __version__ = "0.26"      __status__  = "testing"      __pattern__ = r'http://veehd\.com/video/\d+_\S+' diff --git a/module/plugins/hoster/VeohCom.py b/module/plugins/hoster/VeohCom.py index 423db2dbe..15199ef5c 100644 --- a/module/plugins/hoster/VeohCom.py +++ b/module/plugins/hoster/VeohCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class VeohCom(SimpleHoster):      __name__    = "VeohCom"      __type__    = "hoster" -    __version__ = "0.23" +    __version__ = "0.24"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?veoh\.com/(tv/)?(watch|videos)/(?P<ID>v\w+)' diff --git a/module/plugins/hoster/VidPlayNet.py b/module/plugins/hoster/VidPlayNet.py index e252535be..8b69e6e98 100644 --- a/module/plugins/hoster/VidPlayNet.py +++ b/module/plugins/hoster/VidPlayNet.py @@ -9,7 +9,7 @@ from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo  class VidPlayNet(XFSHoster):      __name__    = "VidPlayNet"      __type__    = "hoster" -    __version__ = "0.05" +    __version__ = "0.06"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?vidplay\.net/\w{12}' diff --git a/module/plugins/hoster/VimeoCom.py b/module/plugins/hoster/VimeoCom.py index b206e5574..4d321a1ed 100644 --- a/module/plugins/hoster/VimeoCom.py +++ b/module/plugins/hoster/VimeoCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class VimeoCom(SimpleHoster):      __name__    = "VimeoCom"      __type__    = "hoster" -    __version__ = "0.06" +    __version__ = "0.07"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?(player\.)?vimeo\.com/(video/)?(?P<ID>\d+)' diff --git a/module/plugins/hoster/Vipleech4UCom.py b/module/plugins/hoster/Vipleech4UCom.py index 8eac61341..cb8c61b3a 100644 --- a/module/plugins/hoster/Vipleech4UCom.py +++ b/module/plugins/hoster/Vipleech4UCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class Vipleech4UCom(DeadHoster):      __name__    = "Vipleech4UCom"      __type__    = "hoster" -    __version__ = "0.21" -    __status__  = "testing" +    __version__ = "0.22" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?vipleech4u\.com/manager\.php'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/VkCom.py b/module/plugins/hoster/VkCom.py index 245cb8dff..b32e5d2d0 100644 --- a/module/plugins/hoster/VkCom.py +++ b/module/plugins/hoster/VkCom.py @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class VkCom(SimpleHoster):      __name__    = "VkCom"      __type__    = "hoster" -    __version__ = "0.02" +    __version__ = "0.03"      __status__  = "testing"      __pattern__ = r"https?://(?:www\.)?vk\.com/video_ext\.php/\?.+" diff --git a/module/plugins/hoster/WarserverCz.py b/module/plugins/hoster/WarserverCz.py index a356dccdd..7d3053144 100644 --- a/module/plugins/hoster/WarserverCz.py +++ b/module/plugins/hoster/WarserverCz.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class WarserverCz(DeadHoster):      __name__    = "WarserverCz"      __type__    = "hoster" -    __version__ = "0.14" -    __status__  = "testing" +    __version__ = "0.15" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?warserver\.cz/stahnout/\d+'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/WebshareCz.py b/module/plugins/hoster/WebshareCz.py index eb91974d7..e4a6f53ff 100644 --- a/module/plugins/hoster/WebshareCz.py +++ b/module/plugins/hoster/WebshareCz.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class WebshareCz(SimpleHoster):      __name__    = "WebshareCz"      __type__    = "hoster" -    __version__ = "0.20" +    __version__ = "0.21"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?(en\.)?webshare\.cz/(?:#/)?file/(?P<ID>\w+)' @@ -24,19 +24,17 @@ class WebshareCz(SimpleHoster):      @classmethod      def api_info(cls, url): -        info = super(WebshareCz, cls).api_info(url) +        info = {} +        api  = get_url("https://webshare.cz/api/file_info/", +                       post={'ident': re.match(cls.__pattern__, url).group('ID'), +                             'wst'  : ""}) -        info['pattern'] = re.match(cls.__pattern__, url).groupdict() - -        api_data = get_url("https://webshare.cz/api/file_info/", -                           post={'ident': info['pattern']['ID'], 'wst': ""}) - -        if not re.search(r'<status>OK', api_data): +        if not re.search(r'<status>OK', api):              info['status'] = 1          else:              info['status'] = 2 -            info['name']   = re.search(r'<name>(.+?)<', api_data).group(1) -            info['size']   = re.search(r'<size>(.+?)<', api_data).group(1) +            info['name']   = re.search(r'<name>(.+?)<', api).group(1) +            info['size']   = re.search(r'<size>(.+?)<', api).group(1)          return info diff --git a/module/plugins/hoster/WrzucTo.py b/module/plugins/hoster/WrzucTo.py index 5ea3ad071..a96dfce25 100644 --- a/module/plugins/hoster/WrzucTo.py +++ b/module/plugins/hoster/WrzucTo.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class WrzucTo(SimpleHoster):      __name__    = "WrzucTo"      __type__    = "hoster" -    __version__ = "0.04" +    __version__ = "0.05"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?wrzuc\.to/(\w+(\.wt|\.html)|(\w+/?linki/\w+))' diff --git a/module/plugins/hoster/WuploadCom.py b/module/plugins/hoster/WuploadCom.py index 028e557e9..6eb7c8bca 100644 --- a/module/plugins/hoster/WuploadCom.py +++ b/module/plugins/hoster/WuploadCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class WuploadCom(DeadHoster):      __name__    = "WuploadCom"      __type__    = "hoster" -    __version__ = "0.24" -    __status__  = "testing" +    __version__ = "0.25" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?wupload\..+?/file/((\w+/)?\d+)(/.*)?'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/X7To.py b/module/plugins/hoster/X7To.py index 285499807..65eba227c 100644 --- a/module/plugins/hoster/X7To.py +++ b/module/plugins/hoster/X7To.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class X7To(DeadHoster):      __name__    = "X7To"      __type__    = "hoster" -    __version__ = "0.42" -    __status__  = "testing" +    __version__ = "0.43" +    __status__  = "stable"      __pattern__ = r'http://(?:www\.)?x7\.to/'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/XFileSharingPro.py b/module/plugins/hoster/XFileSharingPro.py index e202d23dd..59cfa8af0 100644 --- a/module/plugins/hoster/XFileSharingPro.py +++ b/module/plugins/hoster/XFileSharingPro.py @@ -8,10 +8,10 @@ from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo  class XFileSharingPro(XFSHoster):      __name__    = "XFileSharingPro"      __type__    = "hoster" -    __version__ = "0.54" +    __version__ = "0.56"      __status__  = "testing" -    __pattern__ = r'https?://(?:www\.)?(?:\w+\.)*?(?P<DOMAIN>(?:[\d.]+|[\w\-^_]{3,}(?:\.[a-zA-Z]{2,}){1,2})(?:\:\d+)?)/(?:embed-)?\w{12}(?:\W|$)' +    __pattern__ = r'https?://(?:www\.)?(?:\w+\.)*(?P<DOMAIN>(?:[\d.]+|[\w\-^_]{3,63}(?:\.[a-zA-Z]{2,}){1,2})(?:\:\d+)?)/(?:embed-)?\w{12}(?:\W|$)'      __config__  = [("activated", "bool", "Activated", True)]      __description__ = """XFileSharingPro dummy hoster plugin for hook""" @@ -37,7 +37,7 @@ class XFileSharingPro(XFSHoster):      def _setup(self): -        account_name     = self.classname if self.account.PLUGIN_DOMAIN is None else self.PLUGIN_NAME +        account_name     = self.classname if not self.account or self.account.PLUGIN_DOMAIN is None else self.PLUGIN_NAME          self.chunk_limit = 1          self.multiDL     = True diff --git a/module/plugins/hoster/XHamsterCom.py b/module/plugins/hoster/XHamsterCom.py index 1673797cc..e13a209d1 100644 --- a/module/plugins/hoster/XHamsterCom.py +++ b/module/plugins/hoster/XHamsterCom.py @@ -3,7 +3,7 @@  import re  import urllib -from module.common.json_layer import json_loads +from module.plugins.internal.utils import json  from module.plugins.internal.Hoster import Hoster @@ -18,7 +18,7 @@ def clean_json(json_expr):  class XHamsterCom(Hoster):      __name__    = "XHamsterCom"      __type__    = "hoster" -    __version__ = "0.14" +    __version__ = "0.15"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?xhamster\.com/movies/.+' @@ -62,7 +62,7 @@ class XHamsterCom(Hoster):              self.error(_("flashvar not found"))          j = clean_json(json_flashvar.group(1)) -        flashvars = json_loads(j) +        flashvars = json.loads(j)          if flashvars['srv']:              srv_url = flashvars['srv'] + '/' diff --git a/module/plugins/hoster/XVideosCom.py b/module/plugins/hoster/XVideosCom.py index 04fb6a57c..7447d0636 100644 --- a/module/plugins/hoster/XVideosCom.py +++ b/module/plugins/hoster/XVideosCom.py @@ -9,7 +9,7 @@ from module.plugins.internal.Hoster import Hoster  class XVideosCom(Hoster):      __name__    = "XVideos.com"      __type__    = "hoster" -    __version__ = "0.12" +    __version__ = "0.13"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?xvideos\.com/video(\d+)' diff --git a/module/plugins/hoster/XdadevelopersCom.py b/module/plugins/hoster/XdadevelopersCom.py index a5d2011fd..c5582ee54 100644 --- a/module/plugins/hoster/XdadevelopersCom.py +++ b/module/plugins/hoster/XdadevelopersCom.py @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class XdadevelopersCom(SimpleHoster):      __name__    = "XdadevelopersCom"      __type__    = "hoster" -    __version__ = "0.04" +    __version__ = "0.05"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?forum\.xda-developers\.com/devdb/project/dl/\?id=\d+' diff --git a/module/plugins/hoster/Xdcc.py b/module/plugins/hoster/Xdcc.py index e107caf51..037176303 100644 --- a/module/plugins/hoster/Xdcc.py +++ b/module/plugins/hoster/Xdcc.py @@ -9,14 +9,13 @@ import time  from select import select  from module.plugins.internal.Hoster import Hoster -# from module.utils import decode -from module.utils import save_join as fs_join +from module.plugins.internal.utils import fs_join  class Xdcc(Hoster):      __name__    = "Xdcc"      __type__    = "hoster" -    __version__ = "0.34" +    __version__ = "0.35"      __status__  = "testing"      __config__ = [("nick", "str", "Nickname", "pyload"), @@ -189,8 +188,8 @@ class Xdcc(Hoster):          self.pyfile.name = packname -        download_folder = self.pyload.config.get("general", "download_folder") -        filename = fs_join(download_folder, packname) +        dl_folder = self.pyload.config.get("general", "download_folder") +        filename = fs_join(dl_folder, packname)          self.log_info(_("Downloading %s from %s:%d") % (packname, ip, port)) diff --git a/module/plugins/hoster/YadiSk.py b/module/plugins/hoster/YadiSk.py index 4e582219d..579046caf 100644 --- a/module/plugins/hoster/YadiSk.py +++ b/module/plugins/hoster/YadiSk.py @@ -3,14 +3,14 @@  import re  import random -from module.common.json_layer import json_loads +from module.plugins.internal.utils import json  from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class YadiSk(SimpleHoster):      __name__    = "YadiSk"      __type__    = "hoster" -    __version__ = "0.06" +    __version__ = "0.07"      __status__  = "testing"      __pattern__ = r'https?://yadi\.sk/d/[\w\-]+' @@ -36,7 +36,7 @@ class YadiSk(SimpleHoster):              m = re.search(r'<script id="models-client" type="application/json">(.+?)</script>', html)              if m is not None: -                api_data = json_loads(m.group(1)) +                api_data = json.loads(m.group(1))                  try:                      for sect in api_data:                          if 'model' in sect: @@ -80,7 +80,7 @@ class YadiSk(SimpleHoster):                                          'sk'      : self.info['sk'],                                          'id.0'    : self.info['id']}) -            self.link = json_loads(self.html)['models'][0]['data']['file'] +            self.link = json.loads(self.html)['models'][0]['data']['file']          except Exception:              pass diff --git a/module/plugins/hoster/YibaishiwuCom.py b/module/plugins/hoster/YibaishiwuCom.py index 11f907e33..675694162 100644 --- a/module/plugins/hoster/YibaishiwuCom.py +++ b/module/plugins/hoster/YibaishiwuCom.py @@ -3,14 +3,14 @@  import re  import urlparse -from module.common.json_layer import json_loads +from module.plugins.internal.utils import json  from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class YibaishiwuCom(SimpleHoster):      __name__    = "YibaishiwuCom"      __type__    = "hoster" -    __version__ = "0.15" +    __version__ = "0.16"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?(?:u\.)?115\.com/file/(?P<ID>\w+)' @@ -38,7 +38,7 @@ class YibaishiwuCom(SimpleHoster):          self.log_debug(('FREEUSER' if m.group(2) == "download" else 'GUEST') + ' URL', url) -        res = json_loads(self.load(urlparse.urljoin("http://115.com/", url), decode=False)) +        res = json.loads(self.load(urlparse.urljoin("http://115.com/", url), decode=False))          if "urls" in res:              mirrors = res['urls'] diff --git a/module/plugins/hoster/YoupornCom.py b/module/plugins/hoster/YoupornCom.py index 060b196a6..3a01b55ed 100644 --- a/module/plugins/hoster/YoupornCom.py +++ b/module/plugins/hoster/YoupornCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.Hoster import Hoster  class YoupornCom(Hoster):      __name__    = "YoupornCom"      __type__    = "hoster" -    __version__ = "0.22" +    __version__ = "0.23"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?youporn\.com/watch/.+' diff --git a/module/plugins/hoster/YourfilesTo.py b/module/plugins/hoster/YourfilesTo.py index b03f574a1..b5aca71cc 100644 --- a/module/plugins/hoster/YourfilesTo.py +++ b/module/plugins/hoster/YourfilesTo.py @@ -9,7 +9,7 @@ from module.plugins.internal.Hoster import Hoster  class YourfilesTo(Hoster):      __name__    = "YourfilesTo"      __type__    = "hoster" -    __version__ = "0.24" +    __version__ = "0.25"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?yourfiles\.(to|biz)/\?d=\w+' diff --git a/module/plugins/hoster/YoutubeCom.py b/module/plugins/hoster/YoutubeCom.py index 47317a029..5563ec12e 100644 --- a/module/plugins/hoster/YoutubeCom.py +++ b/module/plugins/hoster/YoutubeCom.py @@ -7,13 +7,13 @@ import urllib  from module.plugins.internal.Hoster import Hoster  from module.plugins.internal.Plugin import replace_patterns, which -from module.utils import html_unescape +from module.plugins.internal.utils import html_unescape  class YoutubeCom(Hoster):      __name__    = "YoutubeCom"      __type__    = "hoster" -    __version__ = "0.46" +    __version__ = "0.47"      __status__  = "testing"      __pattern__ = r'https?://(?:[^/]*\.)?(youtu\.be/|youtube\.com/watch\?(?:.*&)?v=)\w+' diff --git a/module/plugins/hoster/ZDF.py b/module/plugins/hoster/ZDF.py index 0eb2aa06b..1876ddb15 100644 --- a/module/plugins/hoster/ZDF.py +++ b/module/plugins/hoster/ZDF.py @@ -10,7 +10,7 @@ from module.plugins.internal.Hoster import Hoster  class ZDF(Hoster):      __name__    = "ZDF Mediathek"      __type__    = "hoster" -    __version__ = "0.84" +    __version__ = "0.85"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?zdf\.de/ZDFmediathek/\D*(\d+)\D*' diff --git a/module/plugins/hoster/ZShareNet.py b/module/plugins/hoster/ZShareNet.py index b5dd66769..17fd1d105 100644 --- a/module/plugins/hoster/ZShareNet.py +++ b/module/plugins/hoster/ZShareNet.py @@ -6,8 +6,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class ZShareNet(DeadHoster):      __name__    = "ZShareNet"      __type__    = "hoster" -    __version__ = "0.22" -    __status__  = "testing" +    __version__ = "0.23" +    __status__  = "stable"      __pattern__ = r'https?://(?:ww[2w]\.)?zshares?\.net/.+'      __config__  = []  #@TODO: Remove in 0.4.10 diff --git a/module/plugins/hoster/ZahikiNet.py b/module/plugins/hoster/ZahikiNet.py index fe1b8e0eb..3206ccba4 100644 --- a/module/plugins/hoster/ZahikiNet.py +++ b/module/plugins/hoster/ZahikiNet.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class ZahikiNet(SimpleHoster):      __name__    = "ZahikiNet"      __type__    = "hoster" -    __version__ = "0.02" +    __version__ = "0.03"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?zahiki\.net/\w+/.+' diff --git a/module/plugins/hoster/ZeveraCom.py b/module/plugins/hoster/ZeveraCom.py index 684221904..4f3940f78 100644 --- a/module/plugins/hoster/ZeveraCom.py +++ b/module/plugins/hoster/ZeveraCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo  class ZeveraCom(MultiHoster):      __name__    = "ZeveraCom"      __type__    = "hoster" -    __version__ = "0.33" +    __version__ = "0.34"      __status__  = "testing"      __pattern__ = r'https?://(?:www\.)zevera\.com/(getFiles\.ashx|Members/download\.ashx)\?.*ourl=.+' diff --git a/module/plugins/hoster/ZippyshareCom.py b/module/plugins/hoster/ZippyshareCom.py index 7b25d3ff9..437c4b40f 100644 --- a/module/plugins/hoster/ZippyshareCom.py +++ b/module/plugins/hoster/ZippyshareCom.py @@ -12,7 +12,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo  class ZippyshareCom(SimpleHoster):      __name__    = "ZippyshareCom"      __type__    = "hoster" -    __version__ = "0.83" +    __version__ = "0.84"      __status__  = "testing"      __pattern__ = r'http://www\d{0,3}\.zippyshare\.com/v(/|iew\.jsp.*key=)(?P<KEY>[\w^_]+)'  | 
