From b8e165f35383b247a7248edabde2b2145a4a32dd Mon Sep 17 00:00:00 2001 From: Jeix Date: Sat, 24 Dec 2011 12:14:10 +0100 Subject: OronCom improve --- module/plugins/hoster/OronCom.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module') diff --git a/module/plugins/hoster/OronCom.py b/module/plugins/hoster/OronCom.py index e3e157a6d..0be840d76 100755 --- a/module/plugins/hoster/OronCom.py +++ b/module/plugins/hoster/OronCom.py @@ -33,12 +33,12 @@ class OronCom(Hoster): __name__ = "OronCom" __type__ = "hoster" __pattern__ = r"http://(?:www.)?oron.com/" - __version__ = "0.12" + __version__ = "0.13" __description__ = "File Hoster: Oron.com" __author_name__ = ("chrox", "DHMH") __author_mail__ = ("chrox@pyload.org", "DHMH@pyload.org") - FILE_INFO_PATTERN = r'Dateiname: (.*)
Größe: ([0-9,.]+) (Kb|Mb|Gb)' + FILE_INFO_PATTERN = r'(?:Filename|Dateiname): (.*?)\s*
\s*(?:Größe|File size): ([0-9,\.]+) (Kb|Mb|Gb)' def init(self): self.resumeDownload = self.multiDL = True if self.account else False -- cgit v1.2.3 From ee1f2cff41825628a71a46a544d0ef893f50c6a3 Mon Sep 17 00:00:00 2001 From: Jeix Date: Mon, 26 Dec 2011 22:54:18 +0100 Subject: Filesonic --- module/plugins/hoster/FilesonicCom.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'module') diff --git a/module/plugins/hoster/FilesonicCom.py b/module/plugins/hoster/FilesonicCom.py index 813333acb..650addf61 100644 --- a/module/plugins/hoster/FilesonicCom.py +++ b/module/plugins/hoster/FilesonicCom.py @@ -54,7 +54,7 @@ class FilesonicCom(Hoster): API_ADDRESS = "http://api.filesonic.com" URL_DOMAIN_PATTERN = r'(?P.*?)(?P.(filesonic|sharingmatrix)\..+?)(?P/.*)' FILE_ID_PATTERN = r'/file/(?P([a-z][0-9]+/)?[0-9]+)(/.*)?' #change may break wupload - be careful - FILE_LINK_PATTERN = r'

Start download' + FILE_LINK_PATTERN = r'Start Download' WAIT_TIME_PATTERN = r'countDownDelay = (?P\d+)' WAIT_TM_PATTERN = r"name='tm' value='(.*?)' />" WAIT_TM_HASH_PATTERN = r"name='tm_hash' value='(.*?)' />" -- cgit v1.2.3 From d863b087394bbc911f4aee1c3399d0040e95a2bc Mon Sep 17 00:00:00 2001 From: RaNaN Date: Wed, 28 Dec 2011 21:37:45 +0100 Subject: fso update --- module/plugins/hoster/FilesonicCom.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'module') diff --git a/module/plugins/hoster/FilesonicCom.py b/module/plugins/hoster/FilesonicCom.py index 650addf61..8f8c9b43d 100644 --- a/module/plugins/hoster/FilesonicCom.py +++ b/module/plugins/hoster/FilesonicCom.py @@ -45,15 +45,15 @@ def getId(url): class FilesonicCom(Hoster): __name__ = "FilesonicCom" __type__ = "hoster" - __pattern__ = r"http://[\w\.]*?(sharingmatrix|filesonic)\..*?/file/(([a-z][0-9]+/)?[0-9]+)(/.*)?" - __version__ = "0.33" + __pattern__ = r"http://[\w\.]*?(sharingmatrix|filesonic)\..*?/.*?file/([a-zA-Z0-9]+(/.+)?|[a-z0-9]+/[0-9]+(/.+)?|[0-9]+(/.+)?)" + __version__ = "0.34" __description__ = """FilesonicCom und Sharingmatrix Download Hoster""" __author_name__ = ("jeix", "paulking") __author_mail__ = ("jeix@hasnomail.de", "") API_ADDRESS = "http://api.filesonic.com" URL_DOMAIN_PATTERN = r'(?P.*?)(?P.(filesonic|sharingmatrix)\..+?)(?P/.*)' - FILE_ID_PATTERN = r'/file/(?P([a-z][0-9]+/)?[0-9]+)(/.*)?' #change may break wupload - be careful + FILE_ID_PATTERN = r'/file/(?P([a-zA-Z0-9]+/)?[0-9]+)(/.*)?' #change may break wupload - be careful FILE_LINK_PATTERN = r'Start Download' WAIT_TIME_PATTERN = r'countDownDelay = (?P\d+)' WAIT_TM_PATTERN = r"name='tm' value='(.*?)' />" -- cgit v1.2.3 From c3b31113508a687d0070f54951f53f9cd458f734 Mon Sep 17 00:00:00 2001 From: RaNaN Date: Wed, 28 Dec 2011 22:07:05 +0100 Subject: little fix --- module/plugins/hoster/FilesonicCom.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'module') diff --git a/module/plugins/hoster/FilesonicCom.py b/module/plugins/hoster/FilesonicCom.py index 8f8c9b43d..fd6a1b833 100644 --- a/module/plugins/hoster/FilesonicCom.py +++ b/module/plugins/hoster/FilesonicCom.py @@ -28,7 +28,7 @@ def getInfo(urls): response = json_loads(getURL(check_url, decode=True)) for item in response["FSApi_Link"]["getInfo"]["response"]["links"]: if item["status"] != "AVAILABLE": - result.append((None, 0, 1, ids[str(item["id"])])) + result.append((ids[str(item["id"])], 0, 1, ids[str(item["id"])])) else: result.append((item["filename"], item["size"], 2, ids[str(item["id"])])) yield result -- cgit v1.2.3 From 79695028c05e30b114c7933b805b191f5c3f97e0 Mon Sep 17 00:00:00 2001 From: RaNaN Date: Thu, 29 Dec 2011 00:44:20 +0100 Subject: closed #479 --- module/plugins/hoster/MegauploadCom.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'module') diff --git a/module/plugins/hoster/MegauploadCom.py b/module/plugins/hoster/MegauploadCom.py index 100553ebf..6b5d10729 100644 --- a/module/plugins/hoster/MegauploadCom.py +++ b/module/plugins/hoster/MegauploadCom.py @@ -65,7 +65,7 @@ class MegauploadCom(Hoster): __name__ = "MegauploadCom" __type__ = "hoster" __pattern__ = r"http://[\w\.]*?(megaupload)\.com/.*?(\?|&)d=(?P[0-9A-Za-z]+)" - __version__ = "0.28" + __version__ = "0.3" __description__ = """Megaupload.com Download Hoster""" __author_name__ = ("spoob") __author_mail__ = ("spoob@pyload.org") @@ -74,6 +74,7 @@ class MegauploadCom(Hoster): API_STATUS_MAPPING = {"0": statusMap['online'], "1": statusMap['offline'], "3": statusMap['temp. offline']} FILE_URL_PATTERN = r'' def init(self): self.html = [None, None] @@ -125,12 +126,12 @@ class MegauploadCom(Hoster): if e.args and e.args[0] == 33: # undirect download and resume , not a good idea page = self.load(pyfile.url) - self.download(re.search(r'href=\"(http://[^\"]*?)\" class=\"down_ad_butt1\">', page).group(1)) + self.download(re.search(self.PREMIUM_URL_PATTERN, page).group(1)) return else: raise - check = self.checkDownload({"dllink": re.compile(r'href=\"(http://[^\"]*?)\" class=\"down_ad_butt1\">')}) + check = self.checkDownload({"dllink": re.compile(self.PREMIUM_URL_PATTERN)}) if check == "dllink": self.log.warning(_("You should enable direct Download in your Megaupload Account settings")) @@ -270,4 +271,4 @@ class MegauploadCom(Hoster): if re.search("The password you have entered is not correct", self.html[1]): self.fail(_("Wrong password for download link.")) - return True \ No newline at end of file + return True -- cgit v1.2.3 From c87e1f49ec8605f23960e001a449202d009c951b Mon Sep 17 00:00:00 2001 From: RaNaN Date: Thu, 29 Dec 2011 11:52:44 +0100 Subject: fix from Lino24 --- module/plugins/hoster/FilesonicCom.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module') diff --git a/module/plugins/hoster/FilesonicCom.py b/module/plugins/hoster/FilesonicCom.py index fd6a1b833..a878c45b3 100644 --- a/module/plugins/hoster/FilesonicCom.py +++ b/module/plugins/hoster/FilesonicCom.py @@ -53,8 +53,8 @@ class FilesonicCom(Hoster): API_ADDRESS = "http://api.filesonic.com" URL_DOMAIN_PATTERN = r'(?P.*?)(?P.(filesonic|sharingmatrix)\..+?)(?P/.*)' - FILE_ID_PATTERN = r'/file/(?P([a-zA-Z0-9]+/)?[0-9]+)(/.*)?' #change may break wupload - be careful - FILE_LINK_PATTERN = r'Start Download' + FILE_ID_PATTERN = r'/file/(?P([a-z][0-9]+/)?[a-zA-Z0-9\-._+]+)(/.*)?' #change may break wupload - be careful + FILE_LINK_PATTERN = r'

Start download' WAIT_TIME_PATTERN = r'countDownDelay = (?P\d+)' WAIT_TM_PATTERN = r"name='tm' value='(.*?)' />" WAIT_TM_HASH_PATTERN = r"name='tm_hash' value='(.*?)' />" -- cgit v1.2.3 From c561ffac98e3e15e43fee3debd8b765ac36113e8 Mon Sep 17 00:00:00 2001 From: Jeix Date: Thu, 29 Dec 2011 12:47:45 +0100 Subject: fso free user fix --- module/plugins/hoster/FilesonicCom.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'module') diff --git a/module/plugins/hoster/FilesonicCom.py b/module/plugins/hoster/FilesonicCom.py index a878c45b3..736b5b96b 100644 --- a/module/plugins/hoster/FilesonicCom.py +++ b/module/plugins/hoster/FilesonicCom.py @@ -54,7 +54,7 @@ class FilesonicCom(Hoster): API_ADDRESS = "http://api.filesonic.com" URL_DOMAIN_PATTERN = r'(?P.*?)(?P.(filesonic|sharingmatrix)\..+?)(?P/.*)' FILE_ID_PATTERN = r'/file/(?P([a-z][0-9]+/)?[a-zA-Z0-9\-._+]+)(/.*)?' #change may break wupload - be careful - FILE_LINK_PATTERN = r'

Start download' + FILE_LINK_PATTERN = r'Start Download' WAIT_TIME_PATTERN = r'countDownDelay = (?P\d+)' WAIT_TM_PATTERN = r"name='tm' value='(.*?)' />" WAIT_TM_HASH_PATTERN = r"name='tm_hash' value='(.*?)' />" -- cgit v1.2.3 From 89cdcdb027ef22ddb391ff5840e616d7df8495ac Mon Sep 17 00:00:00 2001 From: RaNaN Date: Thu, 29 Dec 2011 12:52:55 +0100 Subject: updatemanager fix --- module/plugins/hooks/UpdateManager.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'module') diff --git a/module/plugins/hooks/UpdateManager.py b/module/plugins/hooks/UpdateManager.py index 920a88060..0dfb42ff2 100644 --- a/module/plugins/hooks/UpdateManager.py +++ b/module/plugins/hooks/UpdateManager.py @@ -30,7 +30,7 @@ from module.plugins.Hook import threaded, Expose, Hook class UpdateManager(Hook): __name__ = "UpdateManager" - __version__ = "0.1" + __version__ = "0.11" __description__ = """checks for updates""" __config__ = [("activated", "bool", "Activated", "True"), ("interval", "int", "Check interval in minutes", "360"), @@ -124,6 +124,7 @@ class UpdateManager(Hook): else: name = filename.replace(".py", "") + #TODO: obsolete if prefix.endswith("s"): type = prefix[:-1] else: @@ -160,7 +161,7 @@ class UpdateManager(Hook): f.close() self.updated = True - reloads.append((type, name)) + reloads.append((prefix, name)) self.reloaded = self.core.pluginManager.reloadPlugins(reloads) @@ -191,4 +192,4 @@ class UpdateManager(Hook): reloads.append(id) self.mtimes[id] = mtime - self.core.pluginManager.reloadPlugins(reloads) \ No newline at end of file + self.core.pluginManager.reloadPlugins(reloads) -- cgit v1.2.3 From 050f570fbedb2477bdbcc3a3aa21a26efcef6a30 Mon Sep 17 00:00:00 2001 From: RaNaN Date: Thu, 29 Dec 2011 22:42:57 +0100 Subject: rehost fix --- module/plugins/hooks/RehostTo.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module') diff --git a/module/plugins/hooks/RehostTo.py b/module/plugins/hooks/RehostTo.py index 34bcbf4c7..b16987f5c 100644 --- a/module/plugins/hooks/RehostTo.py +++ b/module/plugins/hooks/RehostTo.py @@ -5,7 +5,7 @@ from module.plugins.internal.MultiHoster import MultiHoster class RehostTo(MultiHoster): __name__ = "RehostTo" - __version__ = "0.4" + __version__ = "0.41" __type__ = "hook" __config__ = [("activated", "bool", "Activated", "False")] @@ -24,7 +24,7 @@ class RehostTo(MultiHoster): def coreReady(self): - self.account = self.core.accountManager.loadClass("accounts", "RehostTo") + self.account = self.core.accountManager.getAccountPlugin("RehostTo") user = self.account.selectAccount()[0] -- cgit v1.2.3 From c79762afb617604e9e55c3bebde59ff850885ed7 Mon Sep 17 00:00:00 2001 From: CryNickSystems Date: Fri, 30 Dec 2011 20:57:35 +0100 Subject: OronCom fix - thx petrucci77 --- module/plugins/hoster/OronCom.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'module') diff --git a/module/plugins/hoster/OronCom.py b/module/plugins/hoster/OronCom.py index 0be840d76..0b547e516 100755 --- a/module/plugins/hoster/OronCom.py +++ b/module/plugins/hoster/OronCom.py @@ -15,7 +15,7 @@ def getInfo(urls): result.append((url, 0, 1, url)) continue - m = re.search(OronCom.FILE_INFO_PATTERN, html) + m = re.search(OronCom.FILE_INFO_PATTERN, html, re.MULTILINE) if m: name = m.group(1) hSize = float(m.group(2).replace(",", ".")) @@ -33,10 +33,10 @@ class OronCom(Hoster): __name__ = "OronCom" __type__ = "hoster" __pattern__ = r"http://(?:www.)?oron.com/" - __version__ = "0.13" + __version__ = "0.14" __description__ = "File Hoster: Oron.com" __author_name__ = ("chrox", "DHMH") - __author_mail__ = ("chrox@pyload.org", "DHMH@pyload.org") + __author_mail__ = ("chrox@pyload.org", "webmaster@pcProfil.de") FILE_INFO_PATTERN = r'(?:Filename|Dateiname): (.*?)\s*
\s*(?:Größe|File size): ([0-9,\.]+) (Kb|Mb|Gb)' -- cgit v1.2.3 From f4a3d381506442380ae2b60cfbbee693d14b5457 Mon Sep 17 00:00:00 2001 From: RaNaN Date: Tue, 3 Jan 2012 21:55:13 +0100 Subject: UpdateManager fix --- module/plugins/hooks/UpdateManager.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'module') diff --git a/module/plugins/hooks/UpdateManager.py b/module/plugins/hooks/UpdateManager.py index 0dfb42ff2..ce75399c5 100644 --- a/module/plugins/hooks/UpdateManager.py +++ b/module/plugins/hooks/UpdateManager.py @@ -15,7 +15,6 @@ along with this program; if not, see . @author: RaNaN - @interface-version: 0.1 """ import sys @@ -30,7 +29,7 @@ from module.plugins.Hook import threaded, Expose, Hook class UpdateManager(Hook): __name__ = "UpdateManager" - __version__ = "0.11" + __version__ = "0.12" __description__ = """checks for updates""" __config__ = [("activated", "bool", "Activated", "True"), ("interval", "int", "Check interval in minutes", "360"), @@ -172,7 +171,7 @@ class UpdateManager(Hook): self.last_check = time() modules = filter( - lambda m: m and (m.__name__.startswith("module.plugins.") or m.__name__.startswith("userplugins.")), + lambda m: m and (m.__name__.startswith("module.plugins.") or m.__name__.startswith("userplugins.")) and m.__name__.count(".") >= 2, sys.modules.itervalues()) reloads = [] -- cgit v1.2.3 From 503cff86eb5e5b902291f5995838f1facd84319c Mon Sep 17 00:00:00 2001 From: zoidberg10 Date: Thu, 5 Jan 2012 01:12:23 +0100 Subject: merge in plugin updates --- module/plugins/accounts/EasybytezCom.py | 68 +++++++++++++++++++++ module/plugins/accounts/MegauploadCom.py | 6 +- module/plugins/hooks/EasybytezCom.py | 32 ++++++++++ module/plugins/hoster/CrockoCom.py | 5 +- module/plugins/hoster/EasybytezCom.py | 100 ++++++++++++++++++++++++++++--- module/plugins/hoster/FilesonicCom.py | 6 +- module/plugins/hoster/MediafireCom.py | 6 +- 7 files changed, 204 insertions(+), 19 deletions(-) create mode 100644 module/plugins/accounts/EasybytezCom.py create mode 100644 module/plugins/hooks/EasybytezCom.py (limited to 'module') diff --git a/module/plugins/accounts/EasybytezCom.py b/module/plugins/accounts/EasybytezCom.py new file mode 100644 index 000000000..cf2b16394 --- /dev/null +++ b/module/plugins/accounts/EasybytezCom.py @@ -0,0 +1,68 @@ +# -*- coding: utf-8 -*- + +""" + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, + or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see . + + @author: zoidberg +""" + +from module.plugins.Account import Account +import re +from module.utils import parseFileSize +from time import mktime, strptime + +class EasybytezCom(Account): + __name__ = "EasybytezCom" + __version__ = "0.01" + __type__ = "account" + __description__ = """EasyBytez.com account plugin""" + __author_name__ = ("zoidberg") + __author_mail__ = ("zoidberg@mujmail.cz") + + VALID_UNTIL_PATTERN = r'Premium account expire:([^<]+)' + TRAFFIC_LEFT_PATTERN = r'Traffic available today:(?P[^<]+)' + + def loadAccountInfo(self, user, req): + #self.relogin(user) + html = req.load("http://www.easybytez.com/?op=my_account", decode = True) + + validuntil = -1 + found = re.search(self.VALID_UNTIL_PATTERN, html) + if found: + premium = True + try: + self.logDebug(found.group(1)) + validuntil = mktime(strptime(found.group(1), "%d %B %Y")) + except Exception, e: + self.logError(e) + else: + premium = False + + #found = re.search(self.TRAFFIC_LEFT_PATTERN, html) + #trafficleft = parseFileSize(found.group('S')) / 1024 if found else 0 + #self.premium = True if trafficleft else False + trafficleft = -1 + + return ({"validuntil": validuntil, "trafficleft": trafficleft, "premium": premium}) + + def login(self, user, data, req): + html = req.load('http://www.easybytez.com/', post = { + "login": user, + "op": "login", + "password": data['password'], + "redirect": "http://easybytez.com/" + }, decode = True) + + if 'Incorrect Login or Password' in html: + self.wrongPassword() \ No newline at end of file diff --git a/module/plugins/accounts/MegauploadCom.py b/module/plugins/accounts/MegauploadCom.py index 12e510fcf..ff4f5971c 100644 --- a/module/plugins/accounts/MegauploadCom.py +++ b/module/plugins/accounts/MegauploadCom.py @@ -24,16 +24,16 @@ from module.plugins.Account import Account class MegauploadCom(Account): __name__ = "MegauploadCom" - __version__ = "0.11" + __version__ = "0.12" __type__ = "account" __description__ = """megaupload account plugin""" __author_name__ = ("RaNaN") __author_mail__ = ("RaNaN@pyload.org") def loadAccountInfo(self, user, req): - page = req.load("http://www.megaupload.com/?c=account") + page = req.load("http://www.megaupload.com/?c=account&setlang=en", decode = True) - premium = True if r'