diff options
24 files changed, 166 insertions, 168 deletions
diff --git a/module/plugins/crypter/NetfolderIn.py b/module/plugins/crypter/NetfolderIn.py index c8110ef6b..d71a73d0a 100644 --- a/module/plugins/crypter/NetfolderIn.py +++ b/module/plugins/crypter/NetfolderIn.py @@ -7,7 +7,7 @@ class NetfolderIn(Crypter): __name__ = "NetfolderIn" __type__ = "crypter" __pattern__ = r"http://(?:www\.)?netfolder.in/((?P<id1>\w+)/\w+|folder.php\?folder_id=(?P<id2>\w+))" - __version__ = "0.3" + __version__ = "0.4" __description__ = """NetFolder Crypter Plugin""" __author_name__ = ("RaNaN", "fragonib") __author_mail__ = ("RaNaN@pyload.org", "fragonib[AT]yahoo[DOT]es") @@ -47,7 +47,7 @@ class NetfolderIn(Crypter): m = re.match(self.__pattern__, self.pyfile.url) id = max(m.group('id1'), m.group('id2')) except AttributeError: - self.logDebug("Unable to get package id from url [%s]" % url) + self.logDebug("Unable to get package id from url [%s]" % self.pyfile.url) return url = "http://netfolder.in/folder.php?folder_id=" + id password = self.getPassword() diff --git a/module/plugins/hoster/AlldebridCom.py b/module/plugins/hoster/AlldebridCom.py index e93e7beb9..fe58ff0a7 100644 --- a/module/plugins/hoster/AlldebridCom.py +++ b/module/plugins/hoster/AlldebridCom.py @@ -13,7 +13,7 @@ from module.utils import parseFileSize, fs_encode class AlldebridCom(Hoster):
__name__ = "AlldebridCom"
- __version__ = "0.2"
+ __version__ = "0.3"
__type__ = "hoster"
__pattern__ = r"https?://.*alldebrid\..*"
@@ -57,7 +57,7 @@ class AlldebridCom(Hoster): if data["error"]:
if data["error"] == "This link isn't available on the hoster website.":
- self.offline()
+ self.offline()
else:
self.logWarning(data["error"])
self.tempOffline()
diff --git a/module/plugins/hoster/CzshareCom.py b/module/plugins/hoster/CzshareCom.py index c8a576b29..a4a811e82 100644 --- a/module/plugins/hoster/CzshareCom.py +++ b/module/plugins/hoster/CzshareCom.py @@ -17,14 +17,14 @@ """ import re -from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo +from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo, PluginParseError from module.utils import parseFileSize class CzshareCom(SimpleHoster): __name__ = "CzshareCom" __type__ = "hoster" __pattern__ = r"http://(\w*\.)*czshare\.(com|cz)/(\d+/|download.php\?).*" - __version__ = "0.91" + __version__ = "0.92" __description__ = """CZshare.com""" __author_name__ = ("zoidberg") @@ -87,14 +87,14 @@ class CzshareCom(SimpleHoster): # get free url found = re.search(self.FREE_URL_PATTERN, self.html) if found is None: - raise PluginParseError('Free URL') + raise PluginParseError('Free URL') parsed_url = "http://czshare.com" + found.group(1) self.logDebug("PARSED_URL:" + parsed_url) # get download ticket and parse html self.html = self.load(parsed_url, cookies=True, decode=True) if re.search(self.MULTIDL_PATTERN, self.html): - self.longWait(300, 12) + self.longWait(300, 12) try: form = re.search(self.FREE_FORM_PATTERN, self.html, re.DOTALL).group(1) @@ -154,4 +154,4 @@ class CzshareCom(SimpleHoster): self.invalidCaptcha() self.retry() -getInfo = create_getInfo(CzshareCom)
\ No newline at end of file +getInfo = create_getInfo(CzshareCom) diff --git a/module/plugins/hoster/DateiTo.py b/module/plugins/hoster/DateiTo.py index 529a5a06f..8d994c179 100644 --- a/module/plugins/hoster/DateiTo.py +++ b/module/plugins/hoster/DateiTo.py @@ -24,7 +24,7 @@ class DateiTo(SimpleHoster): __name__ = "DateiTo" __type__ = "hoster" __pattern__ = r"http://(?:www\.)?datei\.to/datei/(?P<ID>\w+)\.html" - __version__ = "0.01" + __version__ = "0.02" __description__ = """Datei.to plugin - free only""" __author_name__ = ("zoidberg") __author_mail__ = ("zoidberg@mujmail.cz") @@ -77,6 +77,8 @@ class DateiTo(SimpleHoster): def checkErrors(self): found = re.search(self.PARALELL_PATTERN, self.html) if found: + found = re.search(self.WAIT_PATTERN, self.html) + wait_time = int(found.group(1)) if found else 30 self.setWait(wait_time + 1, False) self.wait(300) self.retry() diff --git a/module/plugins/hoster/DlFreeFr.py b/module/plugins/hoster/DlFreeFr.py index 8b32e5eb4..44906e7e8 100644 --- a/module/plugins/hoster/DlFreeFr.py +++ b/module/plugins/hoster/DlFreeFr.py @@ -92,7 +92,7 @@ class DlFreeFr(SimpleHoster): __name__ = "DlFreeFr" __type__ = "hoster" __pattern__ = r"http://dl\.free\.fr/([a-zA-Z0-9]+|getfile\.pl\?file=/[a-zA-Z0-9]+)" - __version__ = "0.23" + __version__ = "0.24" __description__ = """dl.free.fr download hoster""" __author_name__ = ("the-razer", "zoidberg", "Toilal") __author_mail__ = ("daniel_ AT gmx DOT net", "zoidberg@mujmail.cz", "toilal.dev@gmail.com") @@ -146,7 +146,7 @@ class DlFreeFr(SimpleHoster): result = adyoulike.result(ayl, challenge) inputs.update(result) - data = self.load("http://dl.free.fr/getfile.pl", post = inputs) + self.load("http://dl.free.fr/getfile.pl", post = inputs) headers = self.getLastHeaders() if headers.get("code") == 302 and headers.has_key("set-cookie") and headers.has_key("location"): found = re.search("(.*?)=(.*?); path=(.*?); domain=(.*?)", headers.get("set-cookie")) diff --git a/module/plugins/hoster/FilefactoryCom.py b/module/plugins/hoster/FilefactoryCom.py index 0cd60ce85..66d26c999 100644 --- a/module/plugins/hoster/FilefactoryCom.py +++ b/module/plugins/hoster/FilefactoryCom.py @@ -9,7 +9,6 @@ from module.common.json_layer import json_loads import re def checkFile(plugin, urls): - file_info = [] url_dict = {} for url in urls: @@ -35,7 +34,7 @@ class FilefactoryCom(Hoster): __name__ = "FilefactoryCom" __type__ = "hoster" __pattern__ = r"http://(?:www\.)?filefactory\.com/file/(?P<id>[a-zA-Z0-9]+).*" # URLs given out are often longer but this is the requirement - __version__ = "0.35" + __version__ = "0.36" __description__ = """Filefactory.Com File Download Hoster""" __author_name__ = ("paulking", "zoidberg") @@ -130,7 +129,7 @@ class FilefactoryCom(Hoster): url = re.search(self.FILE_URL_PATTERN,waithtml).group('url') # this may either download our file or forward us to an error page self.logDebug("Download URL: %s" % url) - dl = self.download(url) + self.download(url) check = self.checkDownload({"multiple": "You are currently downloading too many files at once.", "error": '<div id="errorMessage">'}) diff --git a/module/plugins/hoster/FilesMailRu.py b/module/plugins/hoster/FilesMailRu.py index 6002ab3dc..5f36de3c4 100644 --- a/module/plugins/hoster/FilesMailRu.py +++ b/module/plugins/hoster/FilesMailRu.py @@ -32,7 +32,7 @@ class FilesMailRu(Hoster): __name__ = "FilesMailRu" __type__ = "hoster" __pattern__ = r"http://files\.mail\.ru/.*" - __version__ = "0.2" + __version__ = "0.3" __description__ = """Files.Mail.Ru One-Klick Hoster""" __author_name__ = ("oZiRiz") __author_mail__ = ("ich@oziriz.de") @@ -96,5 +96,5 @@ class FilesMailRu(Hoster): # (Loading 100MB in to ram is not an option) check = self.checkDownload({"html": "<meta name="}, read_size=50000) if check == "html": - self.log.info(_("There was HTML Code in the Downloaded File("+ pyfile.name +")...redirect error? The Download will be restarted.")) + self.log.info(_("There was HTML Code in the Downloaded File("+ self.pyfile.name +")...redirect error? The Download will be restarted.")) self.retry() diff --git a/module/plugins/hoster/FreevideoCz.py b/module/plugins/hoster/FreevideoCz.py index dfa0eb01e..19eb77470 100644 --- a/module/plugins/hoster/FreevideoCz.py +++ b/module/plugins/hoster/FreevideoCz.py @@ -37,7 +37,7 @@ class FreevideoCz(Hoster): __name__ = "FreevideoCz" __type__ = "hoster" __pattern__ = r"http://www.freevideo.cz/vase-videa/(.*)\.html" - __version__ = "0.1" + __version__ = "0.2" __description__ = """freevideo.cz""" __author_name__ = ("zoidberg") @@ -53,7 +53,7 @@ class FreevideoCz(Hoster): self.html = self.load(pyfile.url, decode=True) if re.search(self.FILE_OFFLINE_PATTERN, self.html): - self.offline() + self.offline() found = re.search(self.URL_PATTERN, self.html) if found is None: self.fail("Parse error (URL)") @@ -61,4 +61,4 @@ class FreevideoCz(Hoster): pyfile.name = re.search(self.__pattern__, pyfile.url).group(1) + ".mp4" - self.download(download_url)
\ No newline at end of file + self.download(download_url) diff --git a/module/plugins/hoster/FshareVn.py b/module/plugins/hoster/FshareVn.py index 77d6fdb3d..3d26c1943 100644 --- a/module/plugins/hoster/FshareVn.py +++ b/module/plugins/hoster/FshareVn.py @@ -24,7 +24,7 @@ class FshareVn(SimpleHoster): __name__ = "FshareVn" __type__ = "hoster" __pattern__ = r"http://(www\.)?fshare.vn/file/.*" - __version__ = "0.14" + __version__ = "0.15" __description__ = """FshareVn Download Hoster""" __author_name__ = ("zoidberg") __author_mail__ = ("zoidberg@mujmail.cz") @@ -99,7 +99,7 @@ class FshareVn(SimpleHoster): self.account.relogin(self.user) self.retry(5, 1, 'VIP URL not found') self.url = found.group(1) - self.logDebug('VIP URL: ' + url) + self.logDebug('VIP URL: ' + self.url) self.download(self.url) @@ -125,4 +125,4 @@ class FshareVn(SimpleHoster): }) if check == "not_found": - self.fail("File not found on server")
\ No newline at end of file + self.fail("File not found on server") diff --git a/module/plugins/hoster/IcyFilesCom.py b/module/plugins/hoster/IcyFilesCom.py index 3f966d936..34737e560 100644 --- a/module/plugins/hoster/IcyFilesCom.py +++ b/module/plugins/hoster/IcyFilesCom.py @@ -42,7 +42,7 @@ class IcyFilesCom(Hoster): __name__ = "IcyFilesCom" __type__ = "hoster" __pattern__ = r"http://(?:www\.)?icyfiles\.com/(.*)" - __version__ = "0.04" + __version__ = "0.05" __description__ = """IcyFiles.com plugin - free only""" __author_name__ = ("godofdream") __author_mail__ = ("soilfiction@gmail.com") @@ -91,7 +91,7 @@ class IcyFilesCom(Hoster): if found is None: self.fail("Parse error (URL)") download_url = "http://icyfiles.com/download.php?key=" + found.group(1) - self.download(download_url) + self.download(download_url) # check download check = self.checkDownload({ "notfound": re.compile(r"^<head><title>404 Not Found</title>$"), diff --git a/module/plugins/hoster/MediafireCom.py b/module/plugins/hoster/MediafireCom.py index 1069e5e1a..0e405930f 100644 --- a/module/plugins/hoster/MediafireCom.py +++ b/module/plugins/hoster/MediafireCom.py @@ -39,7 +39,7 @@ def checkHTMLHeader(url): elif 'content-disposition' in line: return url, 2 else: - break + break except: return url, 3 @@ -58,7 +58,7 @@ class MediafireCom(SimpleHoster): __name__ = "MediafireCom" __type__ = "hoster" __pattern__ = r"http://(?:\w*\.)*mediafire\.com/(file/|(view/?|download.php)?\?)(\w{11}|\w{15})($|/)" - __version__ = "0.77" + __version__ = "0.78" __description__ = """Mediafire.com plugin - free only""" __author_name__ = ("zoidberg") __author_mail__ = ("zoidberg@mujmail.cz") @@ -160,4 +160,4 @@ class MediafireCom(SimpleHoster): else: break else: - self.fail("No valid recaptcha solution received")
\ No newline at end of file + self.fail("No valid recaptcha solution received") diff --git a/module/plugins/hoster/PornhubCom.py b/module/plugins/hoster/PornhubCom.py index 445627873..e1ed612b9 100644 --- a/module/plugins/hoster/PornhubCom.py +++ b/module/plugins/hoster/PornhubCom.py @@ -8,7 +8,7 @@ class PornhubCom(Hoster): __name__ = "PornhubCom"
__type__ = "hoster"
__pattern__ = r'http://[\w\.]*?pornhub\.com/view_video\.php\?viewkey=[\w\d]+'
- __version__ = "0.4"
+ __version__ = "0.5"
__description__ = """Pornhub.com Download Hoster"""
__author_name__ = ("jeix")
__author_mail__ = ("jeix@hasnomail.de")
@@ -61,7 +61,7 @@ class PornhubCom(Hoster): match = re.search(r'<title[^>]+>([^<]+) - ', self.html)
if match:
- name = re.group(1)
+ name = match.group(1)
else:
matches = re.findall('<h1>(.*?)</h1>', self.html)
if len(matches) > 1:
diff --git a/module/plugins/hoster/Premium4Me.py b/module/plugins/hoster/Premium4Me.py index d029b3df1..2679916e9 100644 --- a/module/plugins/hoster/Premium4Me.py +++ b/module/plugins/hoster/Premium4Me.py @@ -3,10 +3,13 @@ from urllib import quote
from module.plugins.Hoster import Hoster
+from module.utils import fs_encode
+from os.path import exists
+from os import remove
class Premium4Me(Hoster):
__name__ = "Premium4Me"
- __version__ = "0.03"
+ __version__ = "0.04"
__type__ = "hoster"
__pattern__ = r"http://premium4.me/.*"
@@ -55,4 +58,4 @@ class Premium4Me(Hoster): traffic = int(self.load ("http://premium4.me/api/traffic.php?authcode=%s" % self.account.authcode))
except:
traffic = 0
- return traffic
\ No newline at end of file + return traffic
diff --git a/module/plugins/hoster/QuickshareCz.py b/module/plugins/hoster/QuickshareCz.py index 4ea485672..4932c4702 100644 --- a/module/plugins/hoster/QuickshareCz.py +++ b/module/plugins/hoster/QuickshareCz.py @@ -24,7 +24,7 @@ class QuickshareCz(SimpleHoster): __name__ = "QuickshareCz" __type__ = "hoster" __pattern__ = r"http://.*quickshare.cz/stahnout-soubor/.*" - __version__ = "0.53" + __version__ = "0.54" __description__ = """Quickshare.cz""" __author_name__ = ("zoidberg") @@ -46,7 +46,7 @@ class QuickshareCz(SimpleHoster): if 'UU_prihlasen' in self.jsvars: if self.jsvars['UU_prihlasen'] == '0': self.logWarning('User not logged in') - self.relogin(user) + self.relogin(self.user) self.retry() elif float(self.jsvars['UU_kredit']) < float(self.jsvars['kredit_odecet']): self.logWarning('Not enough credit left') @@ -96,4 +96,4 @@ class QuickshareCz(SimpleHoster): self.logDebug("PREMIUM URL:" + download_url, data) self.download(download_url, get=data) -getInfo = create_getInfo(QuickshareCz)
\ No newline at end of file +getInfo = create_getInfo(QuickshareCz) diff --git a/module/plugins/hoster/RapidgatorNet.py b/module/plugins/hoster/RapidgatorNet.py index 750cf81a6..8a440d410 100644 --- a/module/plugins/hoster/RapidgatorNet.py +++ b/module/plugins/hoster/RapidgatorNet.py @@ -29,7 +29,7 @@ class RapidgatorNet(SimpleHoster): __name__ = "RapidgatorNet" __type__ = "hoster" __pattern__ = r"http://(?:www\.)?(rapidgator.net)/file/(\d+)" - __version__ = "0.13" + __version__ = "0.14" __description__ = """rapidgator.net""" __author_name__ = ("zoidberg","chrox") @@ -139,11 +139,7 @@ class RapidgatorNet(SimpleHoster): captcha_key = found.group(1) captcha = SolveMedia(self) else: - self.parseError("Captcha:"+st) - if captcha.__class__.__name__ == "SolveMedia": - captcha_prov = "adcopy" - else: - captcha_prov = captcha.__class__.__name__.lower() + self.parseError("Captcha") for i in range(5): self.checkWait() diff --git a/module/plugins/hoster/ShareRapidCom.py b/module/plugins/hoster/ShareRapidCom.py index aff88c6ac..5a08fed1f 100644 --- a/module/plugins/hoster/ShareRapidCom.py +++ b/module/plugins/hoster/ShareRapidCom.py @@ -9,8 +9,6 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, parseFileInfo from module.common.json_layer import json_loads def checkFile(url): - info = {"name" : url, "size" : 0, "status" : 3} - response = getURL("http://share-rapid.com/checkfiles.php", post = {"files": url}, decode = True) info = json_loads(response) @@ -45,7 +43,7 @@ class ShareRapidCom(SimpleHoster): __name__ = "ShareRapidCom" __type__ = "hoster" __pattern__ = r"http://(?:www\.)?((share(-?rapid\.(biz|com|cz|info|eu|net|org|pl|sk)|-(central|credit|free|net)\.cz|-ms\.net)|(s-?rapid|rapids)\.(cz|sk))|(e-stahuj|mediatack|premium-rapidshare|rapidshare-premium|qiuck)\.cz|kadzet\.com|stahuj-zdarma\.eu|strelci\.net|universal-share\.com)/stahuj/(\w+)" - __version__ = "0.51" + __version__ = "0.52" __description__ = """Share-rapid.com plugin - premium only""" __author_name__ = ("MikyWoW", "zoidberg") __author_mail__ = ("MikyWoW@seznam.cz", "zoidberg@mujmail.cz") @@ -103,4 +101,4 @@ class ShareRapidCom(SimpleHoster): elif re.search(self.ERR_CREDIT_PATTERN, self.html): self.fail("Not enough credit left") else: - self.fail("Download link not found")
\ No newline at end of file + self.fail("Download link not found") diff --git a/module/plugins/hoster/ShragleCom.py b/module/plugins/hoster/ShragleCom.py index 8fe05a2b9..99f9f2366 100644 --- a/module/plugins/hoster/ShragleCom.py +++ b/module/plugins/hoster/ShragleCom.py @@ -32,14 +32,14 @@ def parseFileInfo(self, url): def getInfo(urls): for url in urls: - file_info = parseFileInfo(plugin, url) + file_info = parseFileInfo(ShragleCom, url) yield file_info class ShragleCom(Hoster): __name__ = "ShragleCom" __type__ = "hoster" __pattern__ = r"http://(?:www.)?(cloudnator|shragle).com/files/(?P<ID>.*?)/" - __version__ = "0.20" + __version__ = "0.21" __description__ = """Cloudnator.com (Shragle.com) Download PLugin""" __author_name__ = ("RaNaN", "zoidberg") __author_mail__ = ("RaNaN@pyload.org", "zoidberg@mujmail.cz") @@ -103,4 +103,4 @@ class ShragleCom(Hoster): self.wait() self.retry() -
\ No newline at end of file + diff --git a/module/plugins/hoster/TurbobitNet.py b/module/plugins/hoster/TurbobitNet.py index b3b01c92b..b429d5510 100644 --- a/module/plugins/hoster/TurbobitNet.py +++ b/module/plugins/hoster/TurbobitNet.py @@ -24,6 +24,7 @@ import random from urllib import quote from binascii import hexlify, unhexlify from Crypto.Cipher import ARC4 +import time from module.network.RequestFactory import getURL from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo, timestamp @@ -35,7 +36,7 @@ class TurbobitNet(SimpleHoster): __name__ = "TurbobitNet" __type__ = "hoster" __pattern__ = r"http://(?:\w*\.)?(turbobit.net|unextfiles.com)/(?:download/free/)?(?P<ID>\w+).*" - __version__ = "0.07" + __version__ = "0.08" __description__ = """Turbobit.net plugin""" __author_name__ = ("zoidberg") __author_mail__ = ("zoidberg@mujmail.cz") @@ -150,7 +151,7 @@ class TurbobitNet(SimpleHoster): cipher = ARC4.new(hexlify('E\x15\xa1\x9e\xa3M\xa0\xc6\xa0\x84\xb6H\x83\xa8o\xa0')) return unhexlify(cipher.encrypt(unhexlify(data))) - def getLocalTimeString(): + def getLocalTimeString(self): lt = time.localtime() tz = time.altzone if lt.tm_isdst else time.timezone return "%s GMT%+03d%02d" % (time.strftime("%a %b %d %Y %H:%M:%S", lt), -tz // 3600, tz % 3600) @@ -166,4 +167,4 @@ class TurbobitNet(SimpleHoster): self.logDebug(self.url) self.download(self.url) -getInfo = create_getInfo(TurbobitNet)
\ No newline at end of file +getInfo = create_getInfo(TurbobitNet) diff --git a/module/plugins/hoster/UlozTo.py b/module/plugins/hoster/UlozTo.py index 5a930fd8a..5c38fdaad 100644 --- a/module/plugins/hoster/UlozTo.py +++ b/module/plugins/hoster/UlozTo.py @@ -27,7 +27,7 @@ class UlozTo(SimpleHoster): __name__ = "UlozTo" __type__ = "hoster" __pattern__ = r"http://(\w*\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj.cz|zachowajto.pl)/(?:live/)?(?P<id>\w+/[^/?]*)" - __version__ = "0.91" + __version__ = "0.92" __description__ = """uloz.to""" __author_name__ = ("zoidberg") @@ -80,7 +80,6 @@ class UlozTo(SimpleHoster): # get and decrypt captcha captcha_id_field = captcha_text_field = None - captcha_id = captcha_text = None for key in inputs.keys(): found = re.match("captcha.*(id|text|value)", key) diff --git a/module/plugins/hoster/UloziskoSk.py b/module/plugins/hoster/UloziskoSk.py index 8d950f0a6..c607e7a5b 100644 --- a/module/plugins/hoster/UloziskoSk.py +++ b/module/plugins/hoster/UloziskoSk.py @@ -17,13 +17,13 @@ """ import re -from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo +from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo, PluginParseError class UloziskoSk(SimpleHoster): __name__ = "UloziskoSk" __type__ = "hoster" __pattern__ = r"http://(\w*\.)?ulozisko.sk/.*" - __version__ = "0.22" + __version__ = "0.23" __description__ = """Ulozisko.sk""" __author_name__ = ("zoidberg") @@ -72,4 +72,4 @@ class UloziskoSk(SimpleHoster): "but": "++++STIAHNI+S%DABOR++++" }) -getInfo = create_getInfo(UloziskoSk)
\ No newline at end of file +getInfo = create_getInfo(UloziskoSk) diff --git a/module/plugins/hoster/VeehdCom.py b/module/plugins/hoster/VeehdCom.py index 06e59c7fa..23048b831 100644 --- a/module/plugins/hoster/VeehdCom.py +++ b/module/plugins/hoster/VeehdCom.py @@ -4,77 +4,77 @@ import re from module.plugins.Hoster import Hoster class VeehdCom(Hoster): - __name__ = 'VeehdCom' - __type__ = 'hoster' - __pattern__ = r'http://veehd\.com/video/\d+_\S+' - __config__ = [ - ('filename_spaces', 'bool', "Allow spaces in filename", 'False'), - ('replacement_char', 'str', "Filename replacement character", '_'), - ] - __version__ = '0.1' - __description__ = """Veehd.com Download Hoster""" - __author_name__ = ('cat') - __author_mail__ = ('cat@pyload') - - def _debug(self, msg): - self.log.debug('[%s] %s' % (self.__name__, msg)) - - def setup(self): - self.html = None - self.multiDL = True - self.req.canContinue = True + __name__ = 'VeehdCom' + __type__ = 'hoster' + __pattern__ = r'http://veehd\.com/video/\d+_\S+' + __config__ = [ + ('filename_spaces', 'bool', "Allow spaces in filename", 'False'), + ('replacement_char', 'str', "Filename replacement character", '_'), + ] + __version__ = '0.2' + __description__ = """Veehd.com Download Hoster""" + __author_name__ = ('cat') + __author_mail__ = ('cat@pyload') + + def _debug(self, msg): + self.log.debug('[%s] %s' % (self.__name__, msg)) + + def setup(self): + self.html = None + self.multiDL = True + self.req.canContinue = True - def process(self, pyfile): - self.download_html() - if not self.file_exists(): - self.offline() - - pyfile.name = self.get_file_name() - self.download(self.get_file_url()) - - def download_html(self): - url = self.pyfile.url - self._debug("Requesting page: %s" % (repr(url),)) - self.html = self.load(url) - - def file_exists(self): - if self.html is None: - self.download_html() - - if '<title>Veehd</title>' in self.html: - return False - return True - - def get_file_name(self): - if self.html is None: - self.download_html() - - match = re.search(r'<title[^>]*>([^<]+) on Veehd</title>', self.html) - if not match: - self.fail("video title not found") - name = match.group(1) - - # replace unwanted characters in filename - if self.getConf('filename_spaces'): - pattern = '[^0-9A-Za-z\.\ ]+' - else: - pattern = '[^0-9A-Za-z\.]+' - - name = re.sub('[^0-9A-Za-z\.]+', self.getConf('replacement_char'), - name) - return name + '.avi' + def process(self, pyfile): + self.download_html() + if not self.file_exists(): + self.offline() + + pyfile.name = self.get_file_name() + self.download(self.get_file_url()) + + def download_html(self): + url = self.pyfile.url + self._debug("Requesting page: %s" % (repr(url),)) + self.html = self.load(url) + + def file_exists(self): + if self.html is None: + self.download_html() + + if '<title>Veehd</title>' in self.html: + return False + return True + + def get_file_name(self): + if self.html is None: + self.download_html() + + match = re.search(r'<title[^>]*>([^<]+) on Veehd</title>', self.html) + if not match: + self.fail("video title not found") + name = match.group(1) + + # replace unwanted characters in filename + if self.getConf('filename_spaces'): + pattern = '[^0-9A-Za-z\.\ ]+' + else: + pattern = '[^0-9A-Za-z\.]+' + + name = re.sub(pattern, self.getConf('replacement_char'), + name) + return name + '.avi' - def get_file_url(self): - """ returns the absolute downloadable filepath - """ - if self.html is None: - self.download_html() + def get_file_url(self): + """ returns the absolute downloadable filepath + """ + if self.html is None: + self.download_html() - match = re.search(r'<embed type="video/divx" ' - r'src="(http://([^/]*\.)?veehd\.com/dl/[^"]+)"', - self.html) - if not match: - self.fail("embedded video url not found") - file_url = match.group(1) + match = re.search(r'<embed type="video/divx" ' + r'src="(http://([^/]*\.)?veehd\.com/dl/[^"]+)"', + self.html) + if not match: + self.fail("embedded video url not found") + file_url = match.group(1) - return file_url + return file_url diff --git a/module/plugins/hoster/X7To.py b/module/plugins/hoster/X7To.py index 2ba534cff..51f8e6cd4 100644 --- a/module/plugins/hoster/X7To.py +++ b/module/plugins/hoster/X7To.py @@ -13,7 +13,7 @@ class X7To(Hoster): __name__ = "X7To"
__type__ = "hoster"
__pattern__ = r"http://(?:www.)?x7.to/"
- __version__ = "0.2"
+ __version__ = "0.3"
__description__ = """X7.To File Download Hoster"""
__author_name__ = ("ernieb")
__author_mail__ = ("ernieb")
@@ -54,40 +54,40 @@ class X7To(Hoster): # find file id
file_id = re.search(r"var dlID = '(.*?)'", self.html)
if not file_id:
- self.fail("Free download id not found")
+ self.fail("Free download id not found")
- file_url = "http://x7.to/james/ticket/dl/" + file_id.group(1)
- self.logDebug("download id %s" % file_id.group(1))
-
- self.html = self.load(file_url, ref=False, decode=True)
-
- # deal with errors
- if "limit-dl" in self.html:
- self.logDebug("Limit reached ... waiting")
- self.setWait(900,True)
- self.wait()
- self.retry()
-
- if "limit-parallel" in self.html:
- self.fail("Cannot download in parallel")
-
- # no waiting required, go to download
- waitCheck = re.search(r"wait:(\d*),", self.html)
- if waitCheck:
- waitCheck = int(waitCheck.group(1))
- self.setWait(waitCheck)
- self.wait()
-
- urlCheck = re.search(r"url:'(.*?)'", self.html)
- url = None
- if urlCheck:
- url = urlCheck.group(1)
- self.logDebug("free url found %s" % url)
-
- if url:
- try:
- self.download(url)
- except:
- self.logDebug("downloading url failed: %s" % url)
- else:
- self.fail("Free download url found")
+ file_url = "http://x7.to/james/ticket/dl/" + file_id.group(1)
+ self.logDebug("download id %s" % file_id.group(1))
+
+ self.html = self.load(file_url, ref=False, decode=True)
+
+ # deal with errors
+ if "limit-dl" in self.html:
+ self.logDebug("Limit reached ... waiting")
+ self.setWait(900,True)
+ self.wait()
+ self.retry()
+
+ if "limit-parallel" in self.html:
+ self.fail("Cannot download in parallel")
+
+ # no waiting required, go to download
+ waitCheck = re.search(r"wait:(\d*),", self.html)
+ if waitCheck:
+ waitCheck = int(waitCheck.group(1))
+ self.setWait(waitCheck)
+ self.wait()
+
+ urlCheck = re.search(r"url:'(.*?)'", self.html)
+ url = None
+ if urlCheck:
+ url = urlCheck.group(1)
+ self.logDebug("free url found %s" % url)
+
+ if url:
+ try:
+ self.download(url)
+ except:
+ self.logDebug("downloading url failed: %s" % url)
+ else:
+ self.fail("Free download url found")
diff --git a/module/plugins/hoster/XHamsterCom.py b/module/plugins/hoster/XHamsterCom.py index f4b8c28e1..0779a78e6 100644 --- a/module/plugins/hoster/XHamsterCom.py +++ b/module/plugins/hoster/XHamsterCom.py @@ -75,8 +75,8 @@ class XHamsterCom(Hoster): self.logDebug(_("long_url: %s") % long_url) else: if flashvars["file"]: - file_url = unquote(flashvars["file"]) - else: + file_url = unquote(flashvars["file"]) + else: self.fail("Parse error (file_url)") if url_mode=='3': diff --git a/module/plugins/hoster/YibaishiwuCom.py b/module/plugins/hoster/YibaishiwuCom.py index 5926cc227..901225944 100644 --- a/module/plugins/hoster/YibaishiwuCom.py +++ b/module/plugins/hoster/YibaishiwuCom.py @@ -24,7 +24,7 @@ class YibaishiwuCom(SimpleHoster): __name__ = "YibaishiwuCom" __type__ = "hoster" __pattern__ = r"http://(?:www\.)?(?:u\.)?115.com/file/(?P<ID>\w+)" - __version__ = "0.11" + __version__ = "0.12" __description__ = """115.com""" __author_name__ = ("zoidberg") @@ -45,10 +45,10 @@ class YibaishiwuCom(SimpleHoster): try: url = mirror['url'].replace('\\','') self.logDebug("Trying URL: " + url) - header = self.download(url) + self.download(url) break except: continue else: self.fail('No working link found') -getInfo = create_getInfo(YibaishiwuCom)
\ No newline at end of file +getInfo = create_getInfo(YibaishiwuCom) |