summaryrefslogtreecommitdiffstats
path: root/module/plugins/hoster
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/hoster')
-rw-r--r--module/plugins/hoster/AlldebridCom.py10
-rw-r--r--module/plugins/hoster/BasePlugin.py6
-rw-r--r--module/plugins/hoster/BayfilesCom.py23
-rw-r--r--module/plugins/hoster/BezvadataCz.py21
-rw-r--r--module/plugins/hoster/BillionuploadsCom.py4
-rw-r--r--module/plugins/hoster/BitshareCom.py2
-rw-r--r--module/plugins/hoster/BoltsharingCom.py4
-rw-r--r--module/plugins/hoster/CatShareNet.py7
-rw-r--r--module/plugins/hoster/CloudzerNet.py4
-rw-r--r--module/plugins/hoster/CramitIn.py5
-rw-r--r--module/plugins/hoster/CrockoCom.py6
-rw-r--r--module/plugins/hoster/CyberlockerCh.py4
-rw-r--r--module/plugins/hoster/CzshareCom.py26
-rw-r--r--module/plugins/hoster/DailymotionCom.py22
-rw-r--r--module/plugins/hoster/DataHu.py23
-rw-r--r--module/plugins/hoster/DataportCz.py19
-rw-r--r--module/plugins/hoster/DateiTo.py23
-rw-r--r--module/plugins/hoster/DdlstorageCom.py10
-rw-r--r--module/plugins/hoster/DebridItaliaCom.py19
-rw-r--r--module/plugins/hoster/DlFreeFr.py10
-rw-r--r--module/plugins/hoster/DuploadOrg.py18
-rw-r--r--module/plugins/hoster/EasybytezCom.py20
-rw-r--r--module/plugins/hoster/EdiskCz.py20
-rw-r--r--module/plugins/hoster/EgoFilesCom.py24
-rw-r--r--module/plugins/hoster/EpicShareNet.py6
-rw-r--r--module/plugins/hoster/EuroshareEu.py20
-rw-r--r--module/plugins/hoster/ExtabitCom.py22
-rw-r--r--module/plugins/hoster/FastixRu.py11
-rw-r--r--module/plugins/hoster/FastshareCz.py21
-rw-r--r--module/plugins/hoster/File4safeCom.py6
-rw-r--r--module/plugins/hoster/FileApeCom.py4
-rw-r--r--module/plugins/hoster/FileParadoxIn.py4
-rw-r--r--module/plugins/hoster/FileStoreTo.py20
-rw-r--r--module/plugins/hoster/FilebeerInfo.py4
-rw-r--r--module/plugins/hoster/FilecloudIo.py22
-rw-r--r--module/plugins/hoster/FilefactoryCom.py20
-rw-r--r--module/plugins/hoster/FilejungleCom.py19
-rw-r--r--module/plugins/hoster/FileomCom.py21
-rw-r--r--module/plugins/hoster/FilepostCom.py33
-rw-r--r--module/plugins/hoster/FilerNet.py25
-rw-r--r--module/plugins/hoster/FilerioCom.py5
-rw-r--r--module/plugins/hoster/FilesMailRu.py10
-rw-r--r--module/plugins/hoster/FileserveCom.py27
-rw-r--r--module/plugins/hoster/FileshareInUa.py8
-rw-r--r--module/plugins/hoster/FilezyNet.py6
-rw-r--r--module/plugins/hoster/FiredriveCom.py18
-rw-r--r--module/plugins/hoster/FlyFilesNet.py15
-rw-r--r--module/plugins/hoster/FourSharedCom.py4
-rw-r--r--module/plugins/hoster/FreakshareCom.py7
-rw-r--r--module/plugins/hoster/FreeWayMe.py20
-rw-r--r--module/plugins/hoster/FreevideoCz.py2
-rw-r--r--module/plugins/hoster/FshareVn.py7
-rw-r--r--module/plugins/hoster/Ftp.py26
-rw-r--r--module/plugins/hoster/GamefrontCom.py8
-rw-r--r--module/plugins/hoster/GigapetaCom.py22
-rw-r--r--module/plugins/hoster/GooIm.py19
-rw-r--r--module/plugins/hoster/HellshareCz.py21
-rw-r--r--module/plugins/hoster/HellspyCz.py19
-rw-r--r--module/plugins/hoster/HotfileCom.py4
-rw-r--r--module/plugins/hoster/HugefilesNet.py22
-rw-r--r--module/plugins/hoster/HundredEightyUploadCom.py22
-rw-r--r--module/plugins/hoster/IFileWs.py4
-rw-r--r--module/plugins/hoster/IcyFilesCom.py19
-rw-r--r--module/plugins/hoster/IfileIt.py23
-rw-r--r--module/plugins/hoster/IfolderRu.py21
-rw-r--r--module/plugins/hoster/JumbofilesCom.py6
-rw-r--r--module/plugins/hoster/Keep2shareCC.py25
-rw-r--r--module/plugins/hoster/LemUploadsCom.py6
-rw-r--r--module/plugins/hoster/LetitbitNet.py32
-rw-r--r--module/plugins/hoster/LinksnappyCom.py8
-rw-r--r--module/plugins/hoster/LoadTo.py20
-rw-r--r--module/plugins/hoster/LomafileCom.py7
-rw-r--r--module/plugins/hoster/LuckyShareNet.py7
-rw-r--r--module/plugins/hoster/MediafireCom.py23
-rw-r--r--module/plugins/hoster/MegaDebridEu.py23
-rw-r--r--module/plugins/hoster/MegaFilesSe.py4
-rw-r--r--module/plugins/hoster/MegaNz.py16
-rw-r--r--module/plugins/hoster/MegacrypterCom.py5
-rw-r--r--module/plugins/hoster/MegareleaseOrg.py18
-rw-r--r--module/plugins/hoster/MegasharesCom.py21
-rw-r--r--module/plugins/hoster/MovReelCom.py7
-rw-r--r--module/plugins/hoster/MultiDebridCom.py21
-rw-r--r--module/plugins/hoster/MultishareCz.py22
-rw-r--r--module/plugins/hoster/MyvideoDe.py6
-rw-r--r--module/plugins/hoster/NarodRu.py22
-rw-r--r--module/plugins/hoster/NetloadIn.py10
-rw-r--r--module/plugins/hoster/NosuploadCom.py3
-rw-r--r--module/plugins/hoster/NovafileCom.py9
-rw-r--r--module/plugins/hoster/NowDownloadEu.py20
-rw-r--r--module/plugins/hoster/OboomCom.py10
-rw-r--r--module/plugins/hoster/OneFichierCom.py13
-rw-r--r--module/plugins/hoster/OverLoadMe.py10
-rw-r--r--module/plugins/hoster/PandaPlanet.py6
-rw-r--r--module/plugins/hoster/PornhostCom.py6
-rw-r--r--module/plugins/hoster/PornhubCom.py6
-rw-r--r--module/plugins/hoster/PotloadCom.py4
-rw-r--r--module/plugins/hoster/Premium4Me.py8
-rw-r--r--module/plugins/hoster/PremiumizeMe.py12
-rw-r--r--module/plugins/hoster/PromptfileCom.py19
-rw-r--r--module/plugins/hoster/QuickshareCz.py21
-rw-r--r--module/plugins/hoster/RPNetBiz.py7
-rw-r--r--module/plugins/hoster/RapidgatorNet.py22
-rw-r--r--module/plugins/hoster/RapidshareCom.py14
-rw-r--r--module/plugins/hoster/RarefileNet.py5
-rw-r--r--module/plugins/hoster/RealdebridCom.py11
-rw-r--r--module/plugins/hoster/RedtubeCom.py6
-rw-r--r--module/plugins/hoster/RehostTo.py6
-rw-r--r--module/plugins/hoster/RemixshareCom.py11
-rw-r--r--module/plugins/hoster/RgHostNet.py6
-rw-r--r--module/plugins/hoster/RyushareCom.py9
-rw-r--r--module/plugins/hoster/SecureUploadEu.py4
-rw-r--r--module/plugins/hoster/SendmywayCom.py4
-rw-r--r--module/plugins/hoster/SendspaceCom.py20
-rw-r--r--module/plugins/hoster/Share4webCom.py4
-rw-r--r--module/plugins/hoster/Share76Com.py4
-rw-r--r--module/plugins/hoster/ShareFilesCo.py4
-rw-r--r--module/plugins/hoster/ShareRapidCom.py2
-rw-r--r--module/plugins/hoster/SharebeesCom.py4
-rw-r--r--module/plugins/hoster/ShareonlineBiz.py8
-rw-r--r--module/plugins/hoster/ShareplaceCom.py11
-rw-r--r--module/plugins/hoster/ShragleCom.py4
-rw-r--r--module/plugins/hoster/SimplyPremiumCom.py20
-rw-r--r--module/plugins/hoster/SimplydebridCom.py5
-rw-r--r--module/plugins/hoster/SockshareCom.py2
-rw-r--r--module/plugins/hoster/SoundcloudCom.py7
-rw-r--r--module/plugins/hoster/SpeedLoadOrg.py4
-rw-r--r--module/plugins/hoster/SpeedfileCz.py19
-rw-r--r--module/plugins/hoster/StreamCz.py19
-rw-r--r--module/plugins/hoster/StreamcloudEu.py10
-rw-r--r--module/plugins/hoster/TurbobitNet.py32
-rw-r--r--module/plugins/hoster/TurbouploadCom.py19
-rw-r--r--module/plugins/hoster/TusfilesNet.py19
-rw-r--r--module/plugins/hoster/TwoSharedCom.py4
-rw-r--r--module/plugins/hoster/UlozTo.py23
-rw-r--r--module/plugins/hoster/UloziskoSk.py20
-rw-r--r--module/plugins/hoster/UnibytesCom.py21
-rw-r--r--module/plugins/hoster/UnrestrictLi.py22
-rw-r--r--module/plugins/hoster/UploadStationCom.py4
-rw-r--r--module/plugins/hoster/UploadedTo.py16
-rw-r--r--module/plugins/hoster/UploadheroCom.py24
-rw-r--r--module/plugins/hoster/UploadingCom.py23
-rw-r--r--module/plugins/hoster/UpstoreNet.py7
-rw-r--r--module/plugins/hoster/UptoboxCom.py20
-rw-r--r--module/plugins/hoster/VeehdCom.py6
-rw-r--r--module/plugins/hoster/VeohCom.py19
-rw-r--r--module/plugins/hoster/VidPlayNet.py6
-rw-r--r--module/plugins/hoster/VimeoCom.py18
-rw-r--r--module/plugins/hoster/Vipleech4uCom.py4
-rw-r--r--module/plugins/hoster/WarserverCz.py4
-rw-r--r--module/plugins/hoster/WebshareCz.py21
-rw-r--r--module/plugins/hoster/WrzucTo.py20
-rw-r--r--module/plugins/hoster/WuploadCom.py4
-rw-r--r--module/plugins/hoster/X7To.py4
-rw-r--r--module/plugins/hoster/XFileSharingPro.py27
-rw-r--r--module/plugins/hoster/XHamsterCom.py10
-rw-r--r--module/plugins/hoster/XVideosCom.py9
-rw-r--r--module/plugins/hoster/Xdcc.py43
-rw-r--r--module/plugins/hoster/YibaishiwuCom.py24
-rw-r--r--module/plugins/hoster/YoupornCom.py6
-rw-r--r--module/plugins/hoster/YourfilesTo.py11
-rw-r--r--module/plugins/hoster/YoutubeCom.py10
-rw-r--r--module/plugins/hoster/ZDF.py14
-rw-r--r--module/plugins/hoster/ZeveraCom.py5
-rw-r--r--module/plugins/hoster/ZippyshareCom.py8
164 files changed, 806 insertions, 1376 deletions
diff --git a/module/plugins/hoster/AlldebridCom.py b/module/plugins/hoster/AlldebridCom.py
index b2064f22f..7201f1929 100644
--- a/module/plugins/hoster/AlldebridCom.py
+++ b/module/plugins/hoster/AlldebridCom.py
@@ -1,23 +1,27 @@
# -*- coding: utf-8 -*-
import re
-from urllib import unquote
+
from random import randrange
-from module.plugins.Hoster import Hoster
+from urllib import unquote
+
from module.common.json_layer import json_loads
+from module.plugins.Hoster import Hoster
from module.utils import parseFileSize
class AlldebridCom(Hoster):
__name__ = "AlldebridCom"
- __version__ = "0.34"
__type__ = "hoster"
+ __version__ = "0.34"
__pattern__ = r'https?://(?:[^/]*\.)?alldebrid\..*'
+
__description__ = """Alldebrid.com hoster plugin"""
__author_name__ = "Andy Voigt"
__author_mail__ = "spamsales@online.de"
+
def getFilename(self, url):
try:
name = unquote(url.rsplit("/", 1)[1])
diff --git a/module/plugins/hoster/BasePlugin.py b/module/plugins/hoster/BasePlugin.py
index 9206aaabd..839c4100a 100644
--- a/module/plugins/hoster/BasePlugin.py
+++ b/module/plugins/hoster/BasePlugin.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
-from urlparse import urlparse
from re import match, search
from urllib import unquote
+from urlparse import urlparse
from module.network.HTTPRequest import BadHeader
from module.plugins.Hoster import Hoster
@@ -12,8 +12,10 @@ from module.utils import html_unescape, remove_chars
class BasePlugin(Hoster):
__name__ = "BasePlugin"
__type__ = "hoster"
- __pattern__ = r'^unmatchable$'
__version__ = "0.19"
+
+ __pattern__ = r'^unmatchable$'
+
__description__ = """Base Plugin when any other didnt fit"""
__author_name__ = "RaNaN"
__author_mail__ = "RaNaN@pyload.org"
diff --git a/module/plugins/hoster/BayfilesCom.py b/module/plugins/hoster/BayfilesCom.py
index 272c7cd88..dc7e8cbf0 100644
--- a/module/plugins/hoster/BayfilesCom.py
+++ b/module/plugins/hoster/BayfilesCom.py
@@ -1,32 +1,20 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
+
from time import time
-from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
from module.common.json_layer import json_loads
+from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class BayfilesCom(SimpleHoster):
__name__ = "BayfilesCom"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?bayfiles\.(com|net)/file/(?P<ID>[a-zA-Z0-9]+/[a-zA-Z0-9]+/[^/]+)'
__version__ = "0.07"
+
+ __pattern__ = r'https?://(?:www\.)?bayfiles\.(com|net)/file/(?P<ID>[a-zA-Z0-9]+/[a-zA-Z0-9]+/[^/]+)'
+
__description__ = """Bayfiles.com hoster plugin"""
__author_name__ = ("zoidberg", "Walter Purcaro")
__author_mail__ = ("zoidberg@mujmail.cz", "vuolter@gmail.com")
@@ -39,6 +27,7 @@ class BayfilesCom(SimpleHoster):
FREE_LINK_PATTERN = r"javascript:window.location.href = '([^']+)';"
PREMIUM_LINK_PATTERN = r'(?:<a class="highlighted-btn" href="|(?=http://s\d+\.baycdn\.com/dl/))(.*?)"'
+
def handleFree(self):
m = re.search(self.WAIT_PATTERN, self.html)
if m:
diff --git a/module/plugins/hoster/BezvadataCz.py b/module/plugins/hoster/BezvadataCz.py
index a6336ad19..7156db473 100644
--- a/module/plugins/hoster/BezvadataCz.py
+++ b/module/plugins/hoster/BezvadataCz.py
@@ -1,29 +1,17 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
+
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class BezvadataCz(SimpleHoster):
__name__ = "BezvadataCz"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?bezvadata.cz/stahnout/.*'
__version__ = "0.24"
+
+ __pattern__ = r'http://(?:www\.)?bezvadata.cz/stahnout/.*'
+
__description__ = """BezvaData.cz hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
@@ -32,6 +20,7 @@ class BezvadataCz(SimpleHoster):
FILE_SIZE_PATTERN = r'<li><strong>Velikost:</strong> (?P<S>[^<]+)</li>'
OFFLINE_PATTERN = r'<title>BezvaData \| Soubor nenalezen</title>'
+
def setup(self):
self.multiDL = self.resumeDownload = True
diff --git a/module/plugins/hoster/BillionuploadsCom.py b/module/plugins/hoster/BillionuploadsCom.py
index ab2634c91..c55b9073c 100644
--- a/module/plugins/hoster/BillionuploadsCom.py
+++ b/module/plugins/hoster/BillionuploadsCom.py
@@ -6,8 +6,10 @@ from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInf
class BillionuploadsCom(XFileSharingPro):
__name__ = "BillionuploadsCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?billionuploads.com/\w{12}'
__version__ = "0.01"
+
+ __pattern__ = r'http://(?:www\.)?billionuploads.com/\w{12}'
+
__description__ = """Billionuploads.com hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
diff --git a/module/plugins/hoster/BitshareCom.py b/module/plugins/hoster/BitshareCom.py
index a6ed51d94..3c84ce5da 100644
--- a/module/plugins/hoster/BitshareCom.py
+++ b/module/plugins/hoster/BitshareCom.py
@@ -10,8 +10,8 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class BitshareCom(SimpleHoster):
__name__ = "BitshareCom"
- __version__ = "0.50"
__type__ = "hoster"
+ __version__ = "0.50"
__pattern__ = r'http://(?:www\.)?bitshare\.com/(files/(?P<id1>[a-zA-Z0-9]+)(/(?P<name>.*?)\.html)?|\?f=(?P<id2>[a-zA-Z0-9]+))'
diff --git a/module/plugins/hoster/BoltsharingCom.py b/module/plugins/hoster/BoltsharingCom.py
index a1672dc22..d038c50ca 100644
--- a/module/plugins/hoster/BoltsharingCom.py
+++ b/module/plugins/hoster/BoltsharingCom.py
@@ -6,8 +6,10 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
class BoltsharingCom(DeadHoster):
__name__ = "BoltsharingCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?boltsharing.com/\w{12}'
__version__ = "0.02"
+
+ __pattern__ = r'http://(?:www\.)?boltsharing.com/\w{12}'
+
__description__ = """Boltsharing.com hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
diff --git a/module/plugins/hoster/CatShareNet.py b/module/plugins/hoster/CatShareNet.py
index 2cd85420d..4bbdfce89 100644
--- a/module/plugins/hoster/CatShareNet.py
+++ b/module/plugins/hoster/CatShareNet.py
@@ -1,15 +1,18 @@
# -*- coding: utf-8 -*-
import re
-from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
+
from module.plugins.internal.CaptchaService import ReCaptcha
+from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class CatShareNet(SimpleHoster):
__name__ = "CatShareNet"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?catshare.net/\w{16}.*'
__version__ = "0.01"
+
+ __pattern__ = r'http://(?:www\.)?catshare.net/\w{16}.*'
+
__description__ = """CatShare.net hoster plugin"""
__author_name__ = "z00nx"
__author_mail__ = "z00nx0@gmail.com"
diff --git a/module/plugins/hoster/CloudzerNet.py b/module/plugins/hoster/CloudzerNet.py
index 6e47ce53f..72332c56f 100644
--- a/module/plugins/hoster/CloudzerNet.py
+++ b/module/plugins/hoster/CloudzerNet.py
@@ -6,8 +6,10 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
class CloudzerNet(DeadHoster):
__name__ = "CloudzerNet"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?(cloudzer\.net/file/|clz\.to/(file/)?)\w+'
__version__ = "0.05"
+
+ __pattern__ = r'https?://(?:www\.)?(cloudzer\.net/file/|clz\.to/(file/)?)\w+'
+
__description__ = """Cloudzer.net hoster plugin"""
__author_name__ = ("gs", "z00nx", "stickell")
__author_mail__ = ("I-_-I-_-I@web.de", "z00nx0@gmail.com", "l.stickell@yahoo.it")
diff --git a/module/plugins/hoster/CramitIn.py b/module/plugins/hoster/CramitIn.py
index 79ed07e73..6a872ab34 100644
--- a/module/plugins/hoster/CramitIn.py
+++ b/module/plugins/hoster/CramitIn.py
@@ -6,8 +6,10 @@ from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInf
class CramitIn(XFileSharingPro):
__name__ = "CramitIn"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?cramit.in/\w{12}'
__version__ = "0.04"
+
+ __pattern__ = r'http://(?:www\.)?cramit.in/\w{12}'
+
__description__ = """Cramit.in hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
@@ -17,6 +19,7 @@ class CramitIn(XFileSharingPro):
FILE_INFO_PATTERN = r'<span class=t2>\s*(?P<N>.*?)</span>.*?<small>\s*\((?P<S>.*?)\)'
LINK_PATTERN = r'href="(http://cramit.in/file_download/.*?)"'
+
def setup(self):
self.resumeDownload = self.multiDL = self.premium
diff --git a/module/plugins/hoster/CrockoCom.py b/module/plugins/hoster/CrockoCom.py
index b36d59993..80d9b3d61 100644
--- a/module/plugins/hoster/CrockoCom.py
+++ b/module/plugins/hoster/CrockoCom.py
@@ -2,15 +2,17 @@
import re
-from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
from module.plugins.internal.CaptchaService import ReCaptcha
+from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class CrockoCom(SimpleHoster):
__name__ = "CrockoCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?(crocko|easy-share).com/\w+'
__version__ = "0.16"
+
+ __pattern__ = r'http://(?:www\.)?(crocko|easy-share).com/\w+'
+
__description__ = """Crocko hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
diff --git a/module/plugins/hoster/CyberlockerCh.py b/module/plugins/hoster/CyberlockerCh.py
index a08bf8518..bfab72b7c 100644
--- a/module/plugins/hoster/CyberlockerCh.py
+++ b/module/plugins/hoster/CyberlockerCh.py
@@ -6,8 +6,10 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
class CyberlockerCh(DeadHoster):
__name__ = "CyberlockerCh"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?cyberlocker\.ch/\w+'
__version__ = "0.02"
+
+ __pattern__ = r'http://(?:www\.)?cyberlocker\.ch/\w+'
+
__description__ = """Cyberlocker.ch hoster plugin"""
__author_name__ = "stickell"
__author_mail__ = "l.stickell@yahoo.it"
diff --git a/module/plugins/hoster/CzshareCom.py b/module/plugins/hoster/CzshareCom.py
index c34e73ff4..4f581651b 100644
--- a/module/plugins/hoster/CzshareCom.py
+++ b/module/plugins/hoster/CzshareCom.py
@@ -1,24 +1,10 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
-# Test links (random.bin):
+#
+# Test links:
# http://czshare.com/5278880/random.bin
import re
+
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
from module.utils import parseFileSize
@@ -26,8 +12,10 @@ from module.utils import parseFileSize
class CzshareCom(SimpleHoster):
__name__ = "CzshareCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/(\d+/|download.php\?).*'
__version__ = "0.94"
+
+ __pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/(\d+/|download.php\?).*'
+
__description__ = """CZshare.com hoster plugin, now Sdilej.cz"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
@@ -107,7 +95,7 @@ class CzshareCom(SimpleHoster):
self.logError(e)
self.parseError('Form')
- # get and decrypt captcha
+ # get and decrypt captcha
captcha_url = 'http://sdilej.cz/captcha.php'
for _ in xrange(5):
inputs['captchastring2'] = self.decryptCaptcha(captcha_url)
diff --git a/module/plugins/hoster/DailymotionCom.py b/module/plugins/hoster/DailymotionCom.py
index 5f032ca8b..79b7acb45 100644
--- a/module/plugins/hoster/DailymotionCom.py
+++ b/module/plugins/hoster/DailymotionCom.py
@@ -1,26 +1,11 @@
# -*- coding: utf-8 -*-
-############################################################################
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-############################################################################
-
import re
+from module.PyFile import statusMap
from module.common.json_layer import json_loads
from module.network.RequestFactory import getURL
from module.plugins.Hoster import Hoster
-from module.PyFile import statusMap
def getInfo(urls):
@@ -56,13 +41,16 @@ def getInfo(urls):
class DailymotionCom(Hoster):
__name__ = "DailymotionCom"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?dailymotion\.com/.*?video/(?P<ID>[\w^_]+)'
__version__ = "0.2"
+
+ __pattern__ = r'https?://(?:www\.)?dailymotion\.com/.*?video/(?P<ID>[\w^_]+)'
__config__ = [("quality", "Lowest;LD 144p;LD 240p;SD 384p;HQ 480p;HD 720p;HD 1080p;Highest", "Quality", "Highest")]
+
__description__ = """Dailymotion.com hoster plugin"""
__author_name__ = "Walter Purcaro"
__author_mail__ = "vuolter@gmail.com"
+
def setup(self):
self.resumeDownload = self.multiDL = True
diff --git a/module/plugins/hoster/DataHu.py b/module/plugins/hoster/DataHu.py
index 9a7af288b..3dc01eef3 100644
--- a/module/plugins/hoster/DataHu.py
+++ b/module/plugins/hoster/DataHu.py
@@ -1,20 +1,6 @@
# -*- coding: utf-8 -*-
-############################################################################
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU Affero 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 Affero General Public License for more details. #
-# #
-# You should have received a copy of the GNU Affero General Public License #
-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
-############################################################################
-
-# Test links (random.bin):
+#
+# Test links:
# http://data.hu/get/6381232/random.bin
import re
@@ -25,8 +11,10 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class DataHu(SimpleHoster):
__name__ = "DataHu"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?data.hu/get/\w+'
__version__ = "0.01"
+
+ __pattern__ = r'http://(?:www\.)?data.hu/get/\w+'
+
__description__ = """Data.hu hoster plugin"""
__author_name__ = ("crash", "stickell")
__author_mail__ = "l.stickell@yahoo.it"
@@ -35,6 +23,7 @@ class DataHu(SimpleHoster):
OFFLINE_PATTERN = ur'Az adott f\xe1jl nem l\xe9tezik'
LINK_PATTERN = r'<div class="download_box_button"><a href="([^"]+)">'
+
def handleFree(self):
self.resumeDownload = True
self.html = self.load(self.pyfile.url, decode=True)
diff --git a/module/plugins/hoster/DataportCz.py b/module/plugins/hoster/DataportCz.py
index 19be45f44..56b2c2398 100644
--- a/module/plugins/hoster/DataportCz.py
+++ b/module/plugins/hoster/DataportCz.py
@@ -1,28 +1,15 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class DataportCz(SimpleHoster):
__name__ = "DataportCz"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?dataport.cz/file/(.*)'
__version__ = "0.37"
+
+ __pattern__ = r'http://(?:www\.)?dataport.cz/file/(.*)'
+
__description__ = """Dataport.cz hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
diff --git a/module/plugins/hoster/DateiTo.py b/module/plugins/hoster/DateiTo.py
index 4d39b178e..ff8c430ee 100644
--- a/module/plugins/hoster/DateiTo.py
+++ b/module/plugins/hoster/DateiTo.py
@@ -1,30 +1,18 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
-from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
+
from module.plugins.internal.CaptchaService import ReCaptcha
+from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class DateiTo(SimpleHoster):
__name__ = "DateiTo"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?datei\.to/datei/(?P<ID>\w+)\.html'
__version__ = "0.02"
+
+ __pattern__ = r'http://(?:www\.)?datei\.to/datei/(?P<ID>\w+)\.html'
+
__description__ = """Datei.to hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
@@ -38,6 +26,7 @@ class DateiTo(SimpleHoster):
DATA_PATTERN = r'url: "(.*?)", data: "(.*?)",'
RECAPTCHA_KEY_PATTERN = r'Recaptcha.create\("(.*?)"'
+
def handleFree(self):
url = 'http://datei.to/ajax/download.php'
data = {'P': 'I', 'ID': self.file_info['ID']}
diff --git a/module/plugins/hoster/DdlstorageCom.py b/module/plugins/hoster/DdlstorageCom.py
index 9122b094a..46255aaad 100644
--- a/module/plugins/hoster/DdlstorageCom.py
+++ b/module/plugins/hoster/DdlstorageCom.py
@@ -1,12 +1,13 @@
# -*- coding: utf-8 -*-
import re
+
from hashlib import md5
-from module.plugins.hoster.XFileSharingPro import XFileSharingPro
+from module.common.json_layer import json_loads
from module.network.RequestFactory import getURL
from module.plugins.Plugin import chunks
-from module.common.json_layer import json_loads
+from module.plugins.hoster.XFileSharingPro import XFileSharingPro
def getInfo(urls):
@@ -42,8 +43,10 @@ def getInfo(urls):
class DdlstorageCom(XFileSharingPro):
__name__ = "DdlstorageCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?ddlstorage.com/(?P<ID>\w{12})'
__version__ = "1.01"
+
+ __pattern__ = r'http://(?:www\.)?ddlstorage.com/(?P<ID>\w{12})'
+
__description__ = """DDLStorage.com hoster plugin"""
__author_name__ = ("zoidberg", "stickell")
__author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it")
@@ -52,6 +55,7 @@ class DdlstorageCom(XFileSharingPro):
FILE_INFO_PATTERN = r'<p class="sub_title"[^>]*>(?P<N>.+) \((?P<S>[^)]+)\)</p>'
+
def prepare(self):
self.getAPIData()
super(DdlstorageCom, self).prepare()
diff --git a/module/plugins/hoster/DebridItaliaCom.py b/module/plugins/hoster/DebridItaliaCom.py
index a8b4248b4..5880b2738 100644
--- a/module/plugins/hoster/DebridItaliaCom.py
+++ b/module/plugins/hoster/DebridItaliaCom.py
@@ -1,18 +1,4 @@
# -*- coding: utf-8 -*-
-############################################################################
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU Affero 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 Affero General Public License for more details. #
-# #
-# You should have received a copy of the GNU Affero General Public License #
-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
-############################################################################
import re
@@ -21,13 +7,16 @@ from module.plugins.Hoster import Hoster
class DebridItaliaCom(Hoster):
__name__ = "DebridItaliaCom"
- __version__ = "0.05"
__type__ = "hoster"
+ __version__ = "0.05"
+
__pattern__ = r'https?://(?:[^/]*\.)?debriditalia\.com'
+
__description__ = """Debriditalia.com hoster plugin"""
__author_name__ = "stickell"
__author_mail__ = "l.stickell@yahoo.it"
+
def setup(self):
self.chunkLimit = -1
self.resumeDownload = True
diff --git a/module/plugins/hoster/DlFreeFr.py b/module/plugins/hoster/DlFreeFr.py
index 5fb527136..e25de18b4 100644
--- a/module/plugins/hoster/DlFreeFr.py
+++ b/module/plugins/hoster/DlFreeFr.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-import re
import pycurl
+import re
-from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo, replace_patterns
from module.common.json_layer import json_loads
from module.network.Browser import Browser
from module.network.CookieJar import CookieJar
+from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo, replace_patterns
class CustomBrowser(Browser):
@@ -109,8 +109,10 @@ class AdYouLike:
class DlFreeFr(SimpleHoster):
__name__ = "DlFreeFr"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?dl\.free\.fr/([a-zA-Z0-9]+|getfile\.pl\?file=/[a-zA-Z0-9]+)'
__version__ = "0.25"
+
+ __pattern__ = r'http://(?:www\.)?dl\.free\.fr/([a-zA-Z0-9]+|getfile\.pl\?file=/[a-zA-Z0-9]+)'
+
__description__ = """Dl.free.fr hoster plugin"""
__author_name__ = ("the-razer", "zoidberg", "Toilal")
__author_mail__ = ("daniel_ AT gmx DOT net", "zoidberg@mujmail.cz", "toilal.dev@gmail.com")
@@ -148,7 +150,7 @@ class DlFreeFr(SimpleHoster):
self.html = self.load(valid_url)
self.handleFree()
else:
- # Direct access to requested file for users using free.fr as Internet Service Provider.
+ # Direct access to requested file for users using free.fr as Internet Service Provider.
self.download(valid_url, disposition=True)
elif headers.get('code') == 404:
self.offline()
diff --git a/module/plugins/hoster/DuploadOrg.py b/module/plugins/hoster/DuploadOrg.py
index 5909f7ccf..c11d694c5 100644
--- a/module/plugins/hoster/DuploadOrg.py
+++ b/module/plugins/hoster/DuploadOrg.py
@@ -1,18 +1,4 @@
# -*- coding: utf-8 -*-
-############################################################################
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU Affero 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 Affero General Public License for more details. #
-# #
-# You should have received a copy of the GNU Affero General Public License #
-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
-############################################################################
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo
@@ -20,8 +6,10 @@ from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInf
class DuploadOrg(XFileSharingPro):
__name__ = "DuploadOrg"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?dupload\.org/\w{12}'
__version__ = "0.01"
+
+ __pattern__ = r'http://(?:www\.)?dupload\.org/\w{12}'
+
__description__ = """Dupload.grg hoster plugin"""
__author_name__ = "stickell"
__author_mail__ = "l.stickell@yahoo.it"
diff --git a/module/plugins/hoster/EasybytezCom.py b/module/plugins/hoster/EasybytezCom.py
index c10c22fd9..2e61e6d16 100644
--- a/module/plugins/hoster/EasybytezCom.py
+++ b/module/plugins/hoster/EasybytezCom.py
@@ -1,28 +1,15 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo
class EasybytezCom(XFileSharingPro):
__name__ = "EasybytezCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?easybytez.com/(\w+).*'
__version__ = "0.17"
+
+ __pattern__ = r'http://(?:www\.)?easybytez.com/(\w+).*'
+
__description__ = """Easybytez.com hoster plugin"""
__author_name__ = ("zoidberg", "stickell")
__author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it")
@@ -36,6 +23,7 @@ class EasybytezCom(XFileSharingPro):
OVR_LINK_PATTERN = r'<h2>Download Link</h2>\s*<textarea[^>]*>([^<]+)'
ERROR_PATTERN = r'(?:class=["\']err["\'][^>]*>|<Center><b>)(.*?)</'
+
def setup(self):
self.resumeDownload = self.multiDL = self.premium
diff --git a/module/plugins/hoster/EdiskCz.py b/module/plugins/hoster/EdiskCz.py
index f0715bfc7..449dc0050 100644
--- a/module/plugins/hoster/EdiskCz.py
+++ b/module/plugins/hoster/EdiskCz.py
@@ -1,29 +1,17 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
+
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class EdiskCz(SimpleHoster):
__name__ = "EdiskCz"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?edisk.(cz|sk|eu)/(stahni|sk/stahni|en/download)/.*'
__version__ = "0.21"
+
+ __pattern__ = r'http://(?:www\.)?edisk.(cz|sk|eu)/(stahni|sk/stahni|en/download)/.*'
+
__description__ = """Edisk.cz hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
diff --git a/module/plugins/hoster/EgoFilesCom.py b/module/plugins/hoster/EgoFilesCom.py
index f4fdda5a3..547f042e4 100644
--- a/module/plugins/hoster/EgoFilesCom.py
+++ b/module/plugins/hoster/EgoFilesCom.py
@@ -1,33 +1,21 @@
# -*- coding: utf-8 -*-
-############################################################################
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU Affero 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 Affero General Public License for more details. #
-# #
-# You should have received a copy of the GNU Affero General Public License #
-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
-############################################################################
-
-# Test link (random.bin):
+#
+# Test links:
# http://egofiles.com/mOZfMI1WLZ6HBkGG/random.bin
import re
-from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
from module.plugins.internal.CaptchaService import ReCaptcha
+from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class EgoFilesCom(SimpleHoster):
__name__ = "EgoFilesCom"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?egofiles.com/(\w+)'
__version__ = "0.15"
+
+ __pattern__ = r'https?://(?:www\.)?egofiles.com/(\w+)'
+
__description__ = """Egofiles.com hoster plugin"""
__author_name__ = "stickell"
__author_mail__ = "l.stickell@yahoo.it"
diff --git a/module/plugins/hoster/EpicShareNet.py b/module/plugins/hoster/EpicShareNet.py
index 062c8186f..73b16c08e 100644
--- a/module/plugins/hoster/EpicShareNet.py
+++ b/module/plugins/hoster/EpicShareNet.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-
+#
# Test links:
# BigBuckBunny_320x180.mp4 - 61.7 Mb - http://epicshare.net/fch3m2bk6ihp/BigBuckBunny_320x180.mp4.html
@@ -9,8 +9,10 @@ from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInf
class EpicShareNet(XFileSharingPro):
__name__ = "EpicShareNet"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?epicshare\.net/\w{12}'
__version__ = "0.01"
+
+ __pattern__ = r'https?://(?:www\.)?epicshare\.net/\w{12}'
+
__description__ = """EpicShare.net hoster plugin"""
__author_name__ = "t4skforce"
__author_mail__ = "t4skforce1337[AT]gmail[DOT]com"
diff --git a/module/plugins/hoster/EuroshareEu.py b/module/plugins/hoster/EuroshareEu.py
index 5365e7312..fdb76cd5c 100644
--- a/module/plugins/hoster/EuroshareEu.py
+++ b/module/plugins/hoster/EuroshareEu.py
@@ -1,29 +1,17 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
+
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class EuroshareEu(SimpleHoster):
__name__ = "EuroshareEu"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?euroshare.(eu|sk|cz|hu|pl)/file/.*'
__version__ = "0.25"
+
+ __pattern__ = r'http://(?:www\.)?euroshare.(eu|sk|cz|hu|pl)/file/.*'
+
__description__ = """Euroshare.eu hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
diff --git a/module/plugins/hoster/ExtabitCom.py b/module/plugins/hoster/ExtabitCom.py
index fac7922db..2409d8517 100644
--- a/module/plugins/hoster/ExtabitCom.py
+++ b/module/plugins/hoster/ExtabitCom.py
@@ -1,34 +1,21 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
from module.common.json_layer import json_loads
from module.plugins.hoster.UnrestrictLi import secondsToMidnight
-from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
from module.plugins.internal.CaptchaService import ReCaptcha
+from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class ExtabitCom(SimpleHoster):
__name__ = "ExtabitCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?extabit\.com/(file|go|fid)/(?P<ID>\w+)'
__version__ = "0.6"
+
+ __pattern__ = r'http://(?:www\.)?extabit\.com/(file|go|fid)/(?P<ID>\w+)'
+
__description__ = """Extabit.com hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
@@ -40,6 +27,7 @@ class ExtabitCom(SimpleHoster):
LINK_PATTERN = r'[\'"](http://guest\d+\.extabit\.com/[a-z0-9]+/.*?)[\'"]'
+
def handleFree(self):
if r">Only premium users can download this file" in self.html:
self.fail("Only premium users can download this file")
diff --git a/module/plugins/hoster/FastixRu.py b/module/plugins/hoster/FastixRu.py
index a59fae498..199544840 100644
--- a/module/plugins/hoster/FastixRu.py
+++ b/module/plugins/hoster/FastixRu.py
@@ -1,21 +1,26 @@
# -*- coding: utf-8 -*-
import re
-from urllib import unquote
+
from random import randrange
-from module.plugins.Hoster import Hoster
+from urllib import unquote
+
from module.common.json_layer import json_loads
+from module.plugins.Hoster import Hoster
class FastixRu(Hoster):
__name__ = "FastixRu"
- __version__ = "0.04"
__type__ = "hoster"
+ __version__ = "0.04"
+
__pattern__ = r'http://(?:www\.)?fastix\.(ru|it)/file/(?P<ID>[a-zA-Z0-9]{24})'
+
__description__ = """Fastix hoster plugin"""
__author_name__ = "Massimo Rosamilia"
__author_mail__ = "max@spiritix.eu"
+
def getFilename(self, url):
try:
name = unquote(url.rsplit("/", 1)[1])
diff --git a/module/plugins/hoster/FastshareCz.py b/module/plugins/hoster/FastshareCz.py
index e1fd9a666..7a847fdc4 100644
--- a/module/plugins/hoster/FastshareCz.py
+++ b/module/plugins/hoster/FastshareCz.py
@@ -1,23 +1,10 @@
# -*- coding: utf-8 -*-
-###############################################################################
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-###############################################################################
-
-# Test links (random.bin):
+# Test links:
# http://www.fastshare.cz/2141189/random.bin
import re
+
from urlparse import urljoin
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
@@ -26,8 +13,10 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class FastshareCz(SimpleHoster):
__name__ = "FastshareCz"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?fastshare\.cz/\d+/.+'
__version__ = "0.22"
+
+ __pattern__ = r'http://(?:www\.)?fastshare\.cz/\d+/.+'
+
__description__ = """FastShare.cz hoster plugin"""
__author_name__ = ("zoidberg", "stickell", "Walter Purcaro")
__author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it", "vuolter@gmail.com")
diff --git a/module/plugins/hoster/File4safeCom.py b/module/plugins/hoster/File4safeCom.py
index bc0f20dbe..4ec814fd9 100644
--- a/module/plugins/hoster/File4safeCom.py
+++ b/module/plugins/hoster/File4safeCom.py
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
import re
+
from pycurl import FOLLOWLOCATION
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo
@@ -9,14 +10,17 @@ from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInf
class File4safeCom(XFileSharingPro):
__name__ = "File4safeCom"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?file4safe\.com/\w+'
__version__ = "0.01"
+
+ __pattern__ = r'https?://(?:www\.)?file4safe\.com/\w+'
+
__description__ = """File4safe.com hoster plugin"""
__author_name__ = "stickell"
__author_mail__ = "l.stickell@yahoo.it"
HOSTER_NAME = "file4safe.com"
+
def handlePremium(self):
self.req.http.lastURL = self.pyfile.url
diff --git a/module/plugins/hoster/FileApeCom.py b/module/plugins/hoster/FileApeCom.py
index 43625c92c..91744c7c2 100644
--- a/module/plugins/hoster/FileApeCom.py
+++ b/module/plugins/hoster/FileApeCom.py
@@ -6,8 +6,10 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
class FileApeCom(DeadHoster):
__name__ = "FileApeCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?fileape\.com/(index\.php\?act=download\&id=|dl/)\w+'
__version__ = "0.12"
+
+ __pattern__ = r'http://(?:www\.)?fileape\.com/(index\.php\?act=download\&id=|dl/)\w+'
+
__description__ = """FileApe.com hoster plugin"""
__author_name__ = "espes"
__author_mail__ = None
diff --git a/module/plugins/hoster/FileParadoxIn.py b/module/plugins/hoster/FileParadoxIn.py
index 6234c36df..d6395b130 100644
--- a/module/plugins/hoster/FileParadoxIn.py
+++ b/module/plugins/hoster/FileParadoxIn.py
@@ -8,8 +8,10 @@ from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInf
class FileParadoxIn(XFileSharingPro):
__name__ = "FileParadoxIn"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?fileparadox\.in/\w+'
__version__ = "0.01"
+
+ __pattern__ = r'https?://(?:www\.)?fileparadox\.in/\w+'
+
__description__ = """FileParadox.in hoster plugin"""
__author_name__ = "RazorWing"
__author_mail__ = "muppetuk1@hotmail.com"
diff --git a/module/plugins/hoster/FileStoreTo.py b/module/plugins/hoster/FileStoreTo.py
index 37eec6684..98d67609a 100644
--- a/module/plugins/hoster/FileStoreTo.py
+++ b/module/plugins/hoster/FileStoreTo.py
@@ -1,20 +1,5 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
@@ -23,8 +8,10 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class FileStoreTo(SimpleHoster):
__name__ = "FileStoreTo"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?filestore\.to/\?d=(?P<ID>\w+)'
__version__ = "0.01"
+
+ __pattern__ = r'http://(?:www\.)?filestore\.to/\?d=(?P<ID>\w+)'
+
__description__ = """FileStore.to hoster plugin"""
__author_name__ = ("Walter Purcaro", "stickell")
__author_mail__ = ("vuolter@gmail.com", "l.stickell@yahoo.it")
@@ -32,6 +19,7 @@ class FileStoreTo(SimpleHoster):
FILE_INFO_PATTERN = r'File: <span[^>]*>(?P<N>.+)</span><br />Size: (?P<S>[\d,.]+) (?P<U>\w+)'
OFFLINE_PATTERN = r'>Download-Datei wurde nicht gefunden<'
+
def setup(self):
self.resumeDownload = self.multiDL = True
diff --git a/module/plugins/hoster/FilebeerInfo.py b/module/plugins/hoster/FilebeerInfo.py
index dd26b9120..3e8cfb6a3 100644
--- a/module/plugins/hoster/FilebeerInfo.py
+++ b/module/plugins/hoster/FilebeerInfo.py
@@ -6,8 +6,10 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
class FilebeerInfo(DeadHoster):
__name__ = "FilebeerInfo"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?filebeer\.info/(?!\d*~f)(?P<ID>\w+).*'
__version__ = "0.03"
+
+ __pattern__ = r'http://(?:www\.)?filebeer\.info/(?!\d*~f)(?P<ID>\w+).*'
+
__description__ = """Filebeer.info plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
diff --git a/module/plugins/hoster/FilecloudIo.py b/module/plugins/hoster/FilecloudIo.py
index 8fc1ddca2..025bd483f 100644
--- a/module/plugins/hoster/FilecloudIo.py
+++ b/module/plugins/hoster/FilecloudIo.py
@@ -1,31 +1,19 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
-from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
+
from module.common.json_layer import json_loads
from module.plugins.internal.CaptchaService import ReCaptcha
+from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class FilecloudIo(SimpleHoster):
__name__ = "FilecloudIo"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?(?:filecloud\.io|ifile\.it|mihd\.net)/(?P<ID>\w+).*'
__version__ = "0.02"
+
+ __pattern__ = r'http://(?:www\.)?(?:filecloud\.io|ifile\.it|mihd\.net)/(?P<ID>\w+).*'
+
__description__ = """Filecloud.io hoster plugin"""
__author_name__ = ("zoidberg", "stickell")
__author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it")
diff --git a/module/plugins/hoster/FilefactoryCom.py b/module/plugins/hoster/FilefactoryCom.py
index 98a97121c..1ac7550fc 100644
--- a/module/plugins/hoster/FilefactoryCom.py
+++ b/module/plugins/hoster/FilefactoryCom.py
@@ -1,23 +1,9 @@
# -*- coding: utf-8 -*-
-############################################################################
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU Affero 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 Affero General Public License for more details. #
-# #
-# You should have received a copy of the GNU Affero General Public License #
-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
-############################################################################
import re
-from module.plugins.internal.SimpleHoster import SimpleHoster, parseFileInfo
from module.network.RequestFactory import getURL
+from module.plugins.internal.SimpleHoster import SimpleHoster, parseFileInfo
def getInfo(urls):
@@ -34,8 +20,10 @@ def getInfo(urls):
class FilefactoryCom(SimpleHoster):
__name__ = "FilefactoryCom"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?filefactory\.com/file/(?P<id>[a-zA-Z0-9]+)'
__version__ = "0.50"
+
+ __pattern__ = r'https?://(?:www\.)?filefactory\.com/file/(?P<id>[a-zA-Z0-9]+)'
+
__description__ = """Filefactory.com hoster plugin"""
__author_name__ = "stickell"
__author_mail__ = "l.stickell@yahoo.it"
diff --git a/module/plugins/hoster/FilejungleCom.py b/module/plugins/hoster/FilejungleCom.py
index ab582b3a3..9380be90e 100644
--- a/module/plugins/hoster/FilejungleCom.py
+++ b/module/plugins/hoster/FilejungleCom.py
@@ -1,20 +1,5 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
from module.plugins.hoster.FileserveCom import FileserveCom, checkFile
from module.plugins.Plugin import chunks
@@ -22,8 +7,10 @@ from module.plugins.Plugin import chunks
class FilejungleCom(FileserveCom):
__name__ = "FilejungleCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?filejungle\.com/f/(?P<id>[^/]+).*'
__version__ = "0.51"
+
+ __pattern__ = r'http://(?:www\.)?filejungle\.com/f/(?P<id>[^/]+).*'
+
__description__ = """Filejungle.com hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
diff --git a/module/plugins/hoster/FileomCom.py b/module/plugins/hoster/FileomCom.py
index 7fd1efd34..2f876466b 100644
--- a/module/plugins/hoster/FileomCom.py
+++ b/module/plugins/hoster/FileomCom.py
@@ -1,20 +1,6 @@
# -*- coding: utf-8 -*-
-###############################################################################
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-###############################################################################
-
-# Test links (random.bin):
+# Test links:
# http://fileom.com/gycaytyzdw3g/random.bin.html
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo
@@ -23,8 +9,10 @@ from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInf
class FileomCom(XFileSharingPro):
__name__ = "FileomCom"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?fileom\.com/\w+'
__version__ = "0.01"
+
+ __pattern__ = r'https?://(?:www\.)?fileom\.com/\w+'
+
__description__ = """Fileom.com hoster plugin"""
__author_name__ = "Walter Purcaro"
__author_mail__ = "vuolter@gmail.com"
@@ -41,6 +29,7 @@ class FileomCom(XFileSharingPro):
LINK_PATTERN = r"var url2 = '(.+?)';"
+
def setup(self):
self.resumeDownload = self.premium
self.multiDL = True
diff --git a/module/plugins/hoster/FilepostCom.py b/module/plugins/hoster/FilepostCom.py
index 93488236a..0e1b6ea5a 100644
--- a/module/plugins/hoster/FilepostCom.py
+++ b/module/plugins/hoster/FilepostCom.py
@@ -1,39 +1,21 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-
-
- changelog:
- 0.27 - 2012-08-12 - hgg
- fix "global name 'js_answer' is not defined" bug
- fix captcha bug #1 (failed on non-english "captcha wrong" errors)
-"""
-
import re
+
from time import time
-from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
-from module.plugins.internal.CaptchaService import ReCaptcha
from module.common.json_layer import json_loads
+from module.plugins.internal.CaptchaService import ReCaptcha
+from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class FilepostCom(SimpleHoster):
__name__ = "FilepostCom"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?(?:filepost\.com/files|fp.io)/([^/]+).*'
__version__ = "0.28"
+
+ __pattern__ = r'https?://(?:www\.)?(?:filepost\.com/files|fp.io)/([^/]+).*'
+
__description__ = """Filepost.com hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
@@ -45,6 +27,7 @@ class FilepostCom(SimpleHoster):
RECAPTCHA_KEY_PATTERN = r"Captcha.init\({\s*key:\s*'([^']+)'"
FLP_TOKEN_PATTERN = r"set_store_options\({token: '([^']+)'"
+
def handleFree(self):
# Find token and captcha key
file_id = re.match(self.__pattern__, self.pyfile.url).group(1)
@@ -70,7 +53,7 @@ class FilepostCom(SimpleHoster):
post_dict = {"token": flp_token, "code": file_id, "file_pass": ''}
if 'var is_pass_exists = true;' in self.html:
- # Solve password
+ # Solve password
for file_pass in self.getPassword().splitlines():
get_dict['JsHttpRequest'] = str(int(time() * 10000)) + '-xml'
post_dict['file_pass'] = file_pass
diff --git a/module/plugins/hoster/FilerNet.py b/module/plugins/hoster/FilerNet.py
index 91805ca40..a36607f8a 100644
--- a/module/plugins/hoster/FilerNet.py
+++ b/module/plugins/hoster/FilerNet.py
@@ -1,36 +1,25 @@
# -*- coding: utf-8 -*-
-############################################################################
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU Affero 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 Affero General Public License for more details. #
-# #
-# You should have received a copy of the GNU Affero General Public License #
-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
-############################################################################
-
-# Test links (random.bin):
+#
+# Test links:
# http://filer.net/get/ivgf5ztw53et3ogd
# http://filer.net/get/hgo14gzcng3scbvv
import pycurl
import re
+
from urlparse import urljoin
-from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
from module.plugins.internal.CaptchaService import ReCaptcha
+from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class FilerNet(SimpleHoster):
__name__ = "FilerNet"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?filer\.net/get/(\w+)'
__version__ = "0.03"
+
+ __pattern__ = r'https?://(?:www\.)?filer\.net/get/(\w+)'
+
__description__ = """Filer.net hoster plugin"""
__author_name__ = "stickell"
__author_mail__ = "l.stickell@yahoo.it"
diff --git a/module/plugins/hoster/FilerioCom.py b/module/plugins/hoster/FilerioCom.py
index 72c8c6c1c..5cac34b04 100644
--- a/module/plugins/hoster/FilerioCom.py
+++ b/module/plugins/hoster/FilerioCom.py
@@ -6,8 +6,10 @@ from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInf
class FilerioCom(XFileSharingPro):
__name__ = "FilerioCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?(filerio\.(in|com)|filekeen\.com)/\w{12}'
__version__ = "0.02"
+
+ __pattern__ = r'http://(?:www\.)?(filerio\.(in|com)|filekeen\.com)/\w{12}'
+
__description__ = """FileRio.in hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
@@ -17,6 +19,7 @@ class FilerioCom(XFileSharingPro):
OFFLINE_PATTERN = r'<b>&quot;File Not Found&quot;</b>|File has been removed due to Copyright Claim'
FILE_URL_REPLACEMENTS = [(r'http://.*?/', 'http://filerio.in/')]
+
def setup(self):
self.resumeDownload = self.multiDL = self.premium
diff --git a/module/plugins/hoster/FilesMailRu.py b/module/plugins/hoster/FilesMailRu.py
index eda3a1714..bbb6fa57b 100644
--- a/module/plugins/hoster/FilesMailRu.py
+++ b/module/plugins/hoster/FilesMailRu.py
@@ -1,8 +1,9 @@
# -*- coding: utf-8 -*-
import re
-from module.plugins.Hoster import Hoster
+
from module.network.RequestFactory import getURL
+from module.plugins.Hoster import Hoster
from module.plugins.Plugin import chunks
@@ -31,12 +32,15 @@ def getInfo(urls):
class FilesMailRu(Hoster):
__name__ = "FilesMailRu"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?files\.mail\.ru/.*'
__version__ = "0.31"
+
+ __pattern__ = r'http://(?:www\.)?files\.mail\.ru/.*'
+
__description__ = """Files.mail.ru hoster plugin"""
__author_name__ = "oZiRiz"
__author_mail__ = "ich@oziriz.de"
+
def setup(self):
if not self.account:
self.multiDL = False
@@ -84,7 +88,7 @@ class FilesMailRu(Hoster):
# HTML file and the Download is marked as "finished"
# then the download will be restarted. It's only bad for these
# who want download a HTML-File (it's one in a million ;-) )
- #
+ #
# The maximum UploadSize allowed on files.mail.ru at the moment is 100MB
# 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
diff --git a/module/plugins/hoster/FileserveCom.py b/module/plugins/hoster/FileserveCom.py
index 52f39bab8..b7f051d80 100644
--- a/module/plugins/hoster/FileserveCom.py
+++ b/module/plugins/hoster/FileserveCom.py
@@ -1,30 +1,14 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
-from module.network.RequestFactory import getURL
from module.common.json_layer import json_loads
-from module.plugins.internal.CaptchaService import ReCaptcha
-from module.utils import parseFileSize
-
+from module.network.RequestFactory import getURL
from module.plugins.Hoster import Hoster
from module.plugins.Plugin import chunks
from module.plugins.hoster.UnrestrictLi import secondsToMidnight
+from module.plugins.internal.CaptchaService import ReCaptcha
+from module.utils import parseFileSize
def checkFile(plugin, urls):
@@ -49,8 +33,10 @@ def checkFile(plugin, urls):
class FileserveCom(Hoster):
__name__ = "FileserveCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?fileserve\.com/file/(?P<id>[^/]+).*'
__version__ = "0.52"
+
+ __pattern__ = r'http://(?:www\.)?fileserve\.com/file/(?P<id>[^/]+).*'
+
__description__ = """Fileserve.com hoster plugin"""
__author_name__ = ("jeix", "mkaay", "Paul King", "zoidberg")
__author_mail__ = ("jeix@hasnomail.de", "mkaay@mkaay.de", "", "zoidberg@mujmail.cz")
@@ -66,7 +52,6 @@ class FileserveCom(Hoster):
DAILY_LIMIT_PATTERN = r'Your daily download limit has been reached'
NOT_LOGGED_IN_PATTERN = r'<form (name="loginDialogBoxForm"|id="login_form")|<li><a href="/login.php">Login</a></li>'
- # shares code with FilejungleCom and UploadstationCom
def setup(self):
self.resumeDownload = self.multiDL = self.premium
diff --git a/module/plugins/hoster/FileshareInUa.py b/module/plugins/hoster/FileshareInUa.py
index 7c8c6f8ff..f76942f6d 100644
--- a/module/plugins/hoster/FileshareInUa.py
+++ b/module/plugins/hoster/FileshareInUa.py
@@ -1,16 +1,19 @@
# -*- coding: utf-8 -*-
import re
-from module.plugins.Hoster import Hoster
+
from module.network.RequestFactory import getURL
+from module.plugins.Hoster import Hoster
from module.utils import parseFileSize
class FileshareInUa(Hoster):
__name__ = "FileshareInUa"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?fileshare.in.ua/[A-Za-z0-9]+'
__version__ = "0.01"
+
+ __pattern__ = r'http://(?:www\.)?fileshare.in.ua/[A-Za-z0-9]+'
+
__description__ = """Fileshare.in.ua hoster plugin"""
__author_name__ = "fwannmacher"
__author_mail__ = "felipe@warhammerproject.com"
@@ -19,6 +22,7 @@ class FileshareInUa(Hoster):
PATTERN_FILESIZE = r'<b class="b-filesize">(.*?)</b>'
PATTERN_OFFLINE = r"This file doesn't exist, or has been removed."
+
def setup(self):
self.resumeDownload = self.multiDL = True
diff --git a/module/plugins/hoster/FilezyNet.py b/module/plugins/hoster/FilezyNet.py
index c9d603939..969007a8a 100644
--- a/module/plugins/hoster/FilezyNet.py
+++ b/module/plugins/hoster/FilezyNet.py
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
import re
+
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo
@@ -8,8 +9,12 @@ class FilezyNet(XFileSharingPro):
__name__ = "FilezyNet"
__type__ = "hoster"
__version__ = "0.1"
+
__pattern__ = r'http://(?:www\.)?filezy.net/.*/.*.html'
+
__description__ = """Filezy.net hoster plugin"""
+ __author_name__ = None
+ __author_mail__ = None
HOSTER_NAME = "filezy.net"
@@ -17,6 +22,7 @@ class FilezyNet(XFileSharingPro):
WAIT_PATTERN = r'<div id="countdown_str" class="seconds">\n<!--Wait--> <span id=".*?">(\d+)</span>'
DOWNLOAD_JS_PATTERN = r"<script type='text/javascript'>eval(.*)"
+
def setup(self):
self.resumeDownload = True
self.multiDL = self.premium
diff --git a/module/plugins/hoster/FiredriveCom.py b/module/plugins/hoster/FiredriveCom.py
index 6a77ded55..47c6a4214 100644
--- a/module/plugins/hoster/FiredriveCom.py
+++ b/module/plugins/hoster/FiredriveCom.py
@@ -1,18 +1,4 @@
# -*- coding: utf-8 -*-
-###############################################################################
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-###############################################################################
import re
@@ -22,8 +8,10 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class FiredriveCom(SimpleHoster):
__name__ = "FiredriveCom"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?(firedrive|putlocker)\.com/(mobile/)?(file|embed)/(?P<ID>\w+)'
__version__ = "0.03"
+
+ __pattern__ = r'https?://(?:www\.)?(firedrive|putlocker)\.com/(mobile/)?(file|embed)/(?P<ID>\w+)'
+
__description__ = """Firedrive.com hoster plugin"""
__author_name__ = "Walter Purcaro"
__author_mail__ = "vuolter@gmail.com"
diff --git a/module/plugins/hoster/FlyFilesNet.py b/module/plugins/hoster/FlyFilesNet.py
index 1d7ba4fcc..2bf9e0caf 100644
--- a/module/plugins/hoster/FlyFilesNet.py
+++ b/module/plugins/hoster/FlyFilesNet.py
@@ -1,24 +1,31 @@
# -*- coding: utf-8 -*-
import re
-import urllib
-from module.plugins.internal.SimpleHoster import SimpleHoster
+from urllib import unquote
+
from module.network.RequestFactory import getURL
+from module.plugins.internal.SimpleHoster import SimpleHoster
class FlyFilesNet(SimpleHoster):
__name__ = "FlyFilesNet"
- __version__ = "0.1"
__type__ = "hoster"
+ __version__ = "0.1"
+
__pattern__ = r'http://(?:www\.)?flyfiles\.net/.*'
+ __description__ = """FlyFiles.net hoster plugin"""
+ __author_name__ = None
+ __author_mail__ = None
+
SESSION_PATTERN = r'flyfiles\.net/(.*)/.*'
FILE_NAME_PATTERN = r'flyfiles\.net/.*/(.*)'
+
def process(self, pyfile):
name = re.search(self.FILE_NAME_PATTERN, pyfile.url).group(1)
- pyfile.name = urllib.unquote_plus(name)
+ pyfile.name = unquote_plus(name)
session = re.search(self.SESSION_PATTERN, pyfile.url).group(1)
diff --git a/module/plugins/hoster/FourSharedCom.py b/module/plugins/hoster/FourSharedCom.py
index 6a32b5325..2668a22d3 100644
--- a/module/plugins/hoster/FourSharedCom.py
+++ b/module/plugins/hoster/FourSharedCom.py
@@ -8,8 +8,10 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class FourSharedCom(SimpleHoster):
__name__ = "FourSharedCom"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?4shared(\-china)?\.com/(account/)?(download|get|file|document|photo|video|audio|mp3|office|rar|zip|archive|music)/.+?/.*'
__version__ = "0.29"
+
+ __pattern__ = r'https?://(?:www\.)?4shared(\-china)?\.com/(account/)?(download|get|file|document|photo|video|audio|mp3|office|rar|zip|archive|music)/.+?/.*'
+
__description__ = """4Shared.com hoster plugin"""
__author_name__ = ("jeix", "zoidberg")
__author_mail__ = ("jeix@hasnomail.de", "zoidberg@mujmail.cz")
diff --git a/module/plugins/hoster/FreakshareCom.py b/module/plugins/hoster/FreakshareCom.py
index ff1056c9f..1b042bde3 100644
--- a/module/plugins/hoster/FreakshareCom.py
+++ b/module/plugins/hoster/FreakshareCom.py
@@ -10,12 +10,15 @@ from module.plugins.internal.CaptchaService import ReCaptcha
class FreakshareCom(Hoster):
__name__ = "FreakshareCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?freakshare\.(net|com)/files/\S*?/'
__version__ = "0.39"
+
+ __pattern__ = r'http://(?:www\.)?freakshare\.(net|com)/files/\S*?/'
+
__description__ = """Freakshare.com hoster plugin"""
__author_name__ = ("sitacuisses", "spoob", "mkaay", "Toilal")
__author_mail__ = ("sitacuisses@yahoo.de", "spoob@pyload.org", "mkaay@mkaay.de", "toilal.dev@gmail.com")
+
def setup(self):
self.multiDL = False
self.req_opts = []
@@ -164,7 +167,7 @@ class FreakshareCom(Hoster):
if challenge:
re_captcha = ReCaptcha(self)
- (request_options['recaptcha_challenge_field'],
+ (request_options['recaptcha_challenge_field'],
request_options['recaptcha_response_field']) = re_captcha.challenge(challenge.group(1))
return request_options
diff --git a/module/plugins/hoster/FreeWayMe.py b/module/plugins/hoster/FreeWayMe.py
index ef07ebaff..dc9188f05 100644
--- a/module/plugins/hoster/FreeWayMe.py
+++ b/module/plugins/hoster/FreeWayMe.py
@@ -1,32 +1,20 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
from module.plugins.Hoster import Hoster
class FreeWayMe(Hoster):
__name__ = "FreeWayMe"
- __version__ = "0.11"
__type__ = "hoster"
+ __version__ = "0.11"
+
__pattern__ = r'https://(?:www\.)?free-way.me/.*'
+
__description__ = """FreeWayMe hoster plugin"""
__author_name__ = "Nicolas Giese"
__author_mail__ = "james@free-way.me"
+
def setup(self):
self.resumeDownload = False
self.chunkLimit = 1
diff --git a/module/plugins/hoster/FreevideoCz.py b/module/plugins/hoster/FreevideoCz.py
index 0945f173a..d6549a8df 100644
--- a/module/plugins/hoster/FreevideoCz.py
+++ b/module/plugins/hoster/FreevideoCz.py
@@ -5,8 +5,8 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
class FreevideoCz(DeadHoster):
__name__ = "FreevideoCz"
- __version__ = "0.3"
__type__ = "hoster"
+ __version__ = "0.3"
__pattern__ = r'http://(?:www\.)?freevideo\.cz/vase-videa/.+'
diff --git a/module/plugins/hoster/FshareVn.py b/module/plugins/hoster/FshareVn.py
index 0b728495a..bc042cbcc 100644
--- a/module/plugins/hoster/FshareVn.py
+++ b/module/plugins/hoster/FshareVn.py
@@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
import re
+
from time import strptime, mktime, gmtime
-from module.plugins.internal.SimpleHoster import SimpleHoster, parseFileInfo
from module.network.RequestFactory import getURL
+from module.plugins.internal.SimpleHoster import SimpleHoster, parseFileInfo
def getInfo(urls):
@@ -26,8 +27,10 @@ def doubleDecode(m):
class FshareVn(SimpleHoster):
__name__ = "FshareVn"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?fshare.vn/file/.*'
__version__ = "0.16"
+
+ __pattern__ = r'http://(?:www\.)?fshare.vn/file/.*'
+
__description__ = """FshareVn hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
diff --git a/module/plugins/hoster/Ftp.py b/module/plugins/hoster/Ftp.py
index 07169ff2e..8de3f4f47 100644
--- a/module/plugins/hoster/Ftp.py
+++ b/module/plugins/hoster/Ftp.py
@@ -1,36 +1,24 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-from urlparse import urlparse
-from urllib import quote, unquote
import pycurl
import re
+from urllib import quote, unquote
+from urlparse import urlparse
+
from module.plugins.Hoster import Hoster
class Ftp(Hoster):
__name__ = "Ftp"
- __version__ = "0.41"
- __pattern__ = r'(ftps?|sftp)://(.*?:.*?@)?.*?/.*' # ftp://user:password@ftp.server.org/path/to/file
__type__ = "hoster"
+ __version__ = "0.41"
+
__description__ = """Download from ftp directory"""
__author_name__ = ("jeix", "mkaay", "zoidberg")
__author_mail__ = ("jeix@hasnomail.com", "mkaay@mkaay.de", "zoidberg@mujmail.cz")
+
def setup(self):
self.chunkLimit = -1
self.resumeDownload = True
@@ -72,7 +60,7 @@ class Ftp(Hoster):
pyfile.size = int(m.group(1))
self.download(pyfile.url)
else:
- #Naive ftp directory listing
+ #Naive ftp directory listing
if re.search(r'^25\d.*?"', self.req.http.header, re.M):
pyfile.url = pyfile.url.rstrip('/')
pkgname = "/".join(pyfile.package().name, urlparse(pyfile.url).path.rpartition('/')[2])
diff --git a/module/plugins/hoster/GamefrontCom.py b/module/plugins/hoster/GamefrontCom.py
index 8e0f8565f..66cef3013 100644
--- a/module/plugins/hoster/GamefrontCom.py
+++ b/module/plugins/hoster/GamefrontCom.py
@@ -1,16 +1,19 @@
# -*- coding: utf-8 -*-
import re
-from module.plugins.Hoster import Hoster
+
from module.network.RequestFactory import getURL
+from module.plugins.Hoster import Hoster
from module.utils import parseFileSize
class GamefrontCom(Hoster):
__name__ = "GamefrontCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?gamefront.com/files/[A-Za-z0-9]+'
__version__ = "0.04"
+
+ __pattern__ = r'http://(?:www\.)?gamefront.com/files/[A-Za-z0-9]+'
+
__description__ = """Gamefront.com hoster plugin"""
__author_name__ = "fwannmacher"
__author_mail__ = "felipe@warhammerproject.com"
@@ -19,6 +22,7 @@ class GamefrontCom(Hoster):
PATTERN_FILESIZE = r'<dt>File Size:</dt>[\n\s]*<dd>(.*?)</dd>'
PATTERN_OFFLINE = r"This file doesn't exist, or has been removed."
+
def setup(self):
self.resumeDownload = self.multiDL = True
self.chunkLimit = -1
diff --git a/module/plugins/hoster/GigapetaCom.py b/module/plugins/hoster/GigapetaCom.py
index 9d9825cb8..966ac8094 100644
--- a/module/plugins/hoster/GigapetaCom.py
+++ b/module/plugins/hoster/GigapetaCom.py
@@ -1,23 +1,9 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
-from random import randint
+
from pycurl import FOLLOWLOCATION
+from random import randint
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
@@ -25,8 +11,10 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class GigapetaCom(SimpleHoster):
__name__ = "GigapetaCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?gigapeta\.com/dl/\w+'
__version__ = "0.01"
+
+ __pattern__ = r'http://(?:www\.)?gigapeta\.com/dl/\w+'
+
__description__ = """GigaPeta.com hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
diff --git a/module/plugins/hoster/GooIm.py b/module/plugins/hoster/GooIm.py
index 9f06e5ca0..b2926e92a 100644
--- a/module/plugins/hoster/GooIm.py
+++ b/module/plugins/hoster/GooIm.py
@@ -1,18 +1,4 @@
# -*- coding: utf-8 -*-
-############################################################################
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU Affero 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 Affero General Public License for more details. #
-# #
-# You should have received a copy of the GNU Affero General Public License #
-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
-############################################################################
import re
@@ -22,8 +8,10 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class GooIm(SimpleHoster):
__name__ = "GooIm"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?goo\.im/.+'
__version__ = "0.02"
+
+ __pattern__ = r'http://(?:www\.)?goo\.im/.+'
+
__description__ = """Goo.im hoster plugin"""
__author_name__ = "stickell"
__author_mail__ = "l.stickell@yahoo.it"
@@ -31,6 +19,7 @@ class GooIm(SimpleHoster):
FILE_NAME_PATTERN = r'<h3>Filename: (?P<N>.+)</h3>'
OFFLINE_PATTERN = r'The file you requested was not found'
+
def setup(self):
self.chunkLimit = -1
self.multiDL = self.resumeDownload = True
diff --git a/module/plugins/hoster/HellshareCz.py b/module/plugins/hoster/HellshareCz.py
index 54f931eb2..239d90f46 100644
--- a/module/plugins/hoster/HellshareCz.py
+++ b/module/plugins/hoster/HellshareCz.py
@@ -1,29 +1,17 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
+
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class HellshareCz(SimpleHoster):
__name__ = "HellshareCz"
__type__ = "hoster"
- __pattern__ = r'(http://(?:www\.)?hellshare\.(?:cz|com|sk|hu|pl)/[^?]*/\d+).*'
__version__ = "0.82"
+
+ __pattern__ = r'(http://(?:www\.)?hellshare\.(?:cz|com|sk|hu|pl)/[^?]*/\d+).*'
+
__description__ = """Hellshare.cz hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
@@ -33,6 +21,7 @@ class HellshareCz(SimpleHoster):
OFFLINE_PATTERN = r'<h1>File not found.</h1>'
SHOW_WINDOW_PATTERN = r'<a href="([^?]+/(\d+)/\?do=(fileDownloadButton|relatedFileDownloadButton-\2)-showDownloadWindow)"'
+
def setup(self):
self.resumeDownload = self.multiDL = True if self.account else False
self.chunkLimit = 1
diff --git a/module/plugins/hoster/HellspyCz.py b/module/plugins/hoster/HellspyCz.py
index 399dea818..5800f28a0 100644
--- a/module/plugins/hoster/HellspyCz.py
+++ b/module/plugins/hoster/HellspyCz.py
@@ -1,28 +1,15 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
class HellspyCz(DeadHoster):
__name__ = "HellspyCz"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?(?:hellspy\.(?:cz|com|sk|hu|pl)|sciagaj.pl)(/\S+/\d+)/?.*'
__version__ = "0.28"
+
+ __pattern__ = r'http://(?:www\.)?(?:hellspy\.(?:cz|com|sk|hu|pl)|sciagaj.pl)(/\S+/\d+)/?.*'
+
__description__ = """HellSpy.cz hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
diff --git a/module/plugins/hoster/HotfileCom.py b/module/plugins/hoster/HotfileCom.py
index 9a0947f2c..aac312a6b 100644
--- a/module/plugins/hoster/HotfileCom.py
+++ b/module/plugins/hoster/HotfileCom.py
@@ -6,8 +6,10 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
class HotfileCom(DeadHoster):
__name__ = "HotfileCom"
__type__ = "hoster"
- __pattern__ = r'https?://(www.)?hotfile\.com/dl/\d+/[0-9a-zA-Z]+/'
__version__ = "0.37"
+
+ __pattern__ = r'https?://(www.)?hotfile\.com/dl/\d+/[0-9a-zA-Z]+/'
+
__description__ = """Hotfile.com hoster plugin"""
__author_name__ = ("sitacuisses", "spoob", "mkaay", "JoKoT3")
__author_mail__ = ("sitacuisses@yhoo.de", "spoob@pyload.org", "mkaay@mkaay.de", "jokot3@gmail.com")
diff --git a/module/plugins/hoster/HugefilesNet.py b/module/plugins/hoster/HugefilesNet.py
index 2375c75f8..bf0a26c68 100644
--- a/module/plugins/hoster/HugefilesNet.py
+++ b/module/plugins/hoster/HugefilesNet.py
@@ -1,20 +1,6 @@
# -*- coding: utf-8 -*-
-############################################################################
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU Affero 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 Affero General Public License for more details. #
-# #
-# You should have received a copy of the GNU Affero General Public License #
-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
-############################################################################
-
-# Test links (random.bin):
+#
+# Test links:
# http://hugefiles.net/prthf9ya4w6s
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo
@@ -23,8 +9,10 @@ from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInf
class HugefilesNet(XFileSharingPro):
__name__ = "HugefilesNet"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?hugefiles\.net/\w{12}'
__version__ = "0.01"
+
+ __pattern__ = r'http://(?:www\.)?hugefiles\.net/\w{12}'
+
__description__ = """Hugefiles.net hoster plugin"""
__author_name__ = "stickell"
__author_mail__ = "l.stickell@yahoo.it"
diff --git a/module/plugins/hoster/HundredEightyUploadCom.py b/module/plugins/hoster/HundredEightyUploadCom.py
index 6e5ffac30..e2e34ad00 100644
--- a/module/plugins/hoster/HundredEightyUploadCom.py
+++ b/module/plugins/hoster/HundredEightyUploadCom.py
@@ -1,20 +1,6 @@
# -*- coding: utf-8 -*-
-############################################################################
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU Affero 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 Affero General Public License for more details. #
-# #
-# You should have received a copy of the GNU Affero General Public License #
-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
-############################################################################
-
-# Test links (random.bin):
+#
+# Test links:
# http://180upload.com/js9qdm6kjnrs
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo
@@ -23,8 +9,10 @@ from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInf
class HundredEightyUploadCom(XFileSharingPro):
__name__ = "HundredEightyUploadCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?180upload\.com/(\w+).*'
__version__ = "0.01"
+
+ __pattern__ = r'http://(?:www\.)?180upload\.com/(\w+).*'
+
__description__ = """180upload.com hoster plugin"""
__author_name__ = "stickell"
__author_mail__ = "l.stickell@yahoo.it"
diff --git a/module/plugins/hoster/IFileWs.py b/module/plugins/hoster/IFileWs.py
index 35b3544a1..94d3e599e 100644
--- a/module/plugins/hoster/IFileWs.py
+++ b/module/plugins/hoster/IFileWs.py
@@ -6,8 +6,10 @@ from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInf
class IFileWs(XFileSharingPro):
__name__ = "IFileWs"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?ifile\.ws/\w+(/.+)?'
__version__ = "0.01"
+
+ __pattern__ = r'http://(?:www\.)?ifile\.ws/\w+(/.+)?'
+
__description__ = """Ifile.ws hoster plugin"""
__author_name__ = "z00nx"
__author_mail__ = "z00nx0@gmail.com"
diff --git a/module/plugins/hoster/IcyFilesCom.py b/module/plugins/hoster/IcyFilesCom.py
index 2f3c65c3b..a7c69009e 100644
--- a/module/plugins/hoster/IcyFilesCom.py
+++ b/module/plugins/hoster/IcyFilesCom.py
@@ -1,28 +1,15 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
class IcyFilesCom(DeadHoster):
__name__ = "IcyFilesCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?icyfiles\.com/(.*)'
__version__ = "0.06"
+
+ __pattern__ = r'http://(?:www\.)?icyfiles\.com/(.*)'
+
__description__ = """IcyFiles.com hoster plugin"""
__author_name__ = "godofdream"
__author_mail__ = "soilfiction@gmail.com"
diff --git a/module/plugins/hoster/IfileIt.py b/module/plugins/hoster/IfileIt.py
index b75daf3af..5dfd14d82 100644
--- a/module/plugins/hoster/IfileIt.py
+++ b/module/plugins/hoster/IfileIt.py
@@ -1,31 +1,19 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
-from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
+
from module.common.json_layer import json_loads
from module.plugins.internal.CaptchaService import ReCaptcha
+from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class IfileIt(SimpleHoster):
__name__ = "IfileIt"
__type__ = "hoster"
- __pattern__ = r'^unmatchable$'
__version__ = "0.27"
+
+ __pattern__ = r'^unmatchable$'
+
__description__ = """Ifile.it"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
@@ -36,6 +24,7 @@ class IfileIt(SimpleHoster):
OFFLINE_PATTERN = r'<span style="cursor: default;[^>]*>\s*&nbsp;\s*<strong>\s*</strong>\s*</span>'
TEMP_OFFLINE_PATTERN = r'<span class="msg_red">Downloading of this file is temporarily disabled</span>'
+
def handleFree(self):
ukey = re.match(self.__pattern__, self.pyfile.url).group(1)
json_url = 'http://ifile.it/new_download-request.json'
diff --git a/module/plugins/hoster/IfolderRu.py b/module/plugins/hoster/IfolderRu.py
index 912dbd491..efa8d8ab9 100644
--- a/module/plugins/hoster/IfolderRu.py
+++ b/module/plugins/hoster/IfolderRu.py
@@ -1,29 +1,17 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
+
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class IfolderRu(SimpleHoster):
__name__ = "IfolderRu"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?(?:ifolder\.ru|rusfolder\.(?:com|net|ru))/(?:files/)?(?P<ID>\d+).*'
__version__ = "0.38"
+
+ __pattern__ = r'http://(?:www\.)?(?:ifolder\.ru|rusfolder\.(?:com|net|ru))/(?:files/)?(?P<ID>\d+).*'
+
__description__ = """Ifolder.ru hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
@@ -39,6 +27,7 @@ class IfolderRu(SimpleHoster):
LINK_PATTERN = r'<a id="download_file_href" href="([^"]+)"'
WRONG_CAPTCHA_PATTERN = ur'<font color=Red>МеверМый кПЎ,<br>ввеЎОте еще раз</font><br>'
+
def setup(self):
self.resumeDownload = self.multiDL = True if self.account else False
self.chunkLimit = 1
diff --git a/module/plugins/hoster/JumbofilesCom.py b/module/plugins/hoster/JumbofilesCom.py
index ad648dacf..2c9e4418b 100644
--- a/module/plugins/hoster/JumbofilesCom.py
+++ b/module/plugins/hoster/JumbofilesCom.py
@@ -1,14 +1,17 @@
# -*- coding: utf-8 -*-
import re
+
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class JumbofilesCom(SimpleHoster):
__name__ = "JumbofilesCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?jumbofiles.com/(\w{12}).*'
__version__ = "0.02"
+
+ __pattern__ = r'http://(?:www\.)?jumbofiles.com/(\w{12}).*'
+
__description__ = """JumboFiles.com hoster plugin"""
__author_name__ = "godofdream"
__author_mail__ = "soilfiction@gmail.com"
@@ -17,6 +20,7 @@ class JumbofilesCom(SimpleHoster):
OFFLINE_PATTERN = r'Not Found or Deleted / Disabled due to inactivity or DMCA'
LINK_PATTERN = r'<meta http-equiv="refresh" content="10;url=(.+)">'
+
def setup(self):
self.resumeDownload = self.multiDL = True
diff --git a/module/plugins/hoster/Keep2shareCC.py b/module/plugins/hoster/Keep2shareCC.py
index 12df08743..c1ec66435 100644
--- a/module/plugins/hoster/Keep2shareCC.py
+++ b/module/plugins/hoster/Keep2shareCC.py
@@ -1,34 +1,23 @@
# -*- coding: utf-8 -*-
-############################################################################
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU Affero 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 Affero General Public License for more details. #
-# #
-# You should have received a copy of the GNU Affero General Public License #
-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
-############################################################################
-
-# Test links (random.bin):
+#
+# Test links:
# http://k2s.cc/file/55fb73e1c00c5/random.bin
import re
+
from urlparse import urlparse, urljoin
-from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
from module.plugins.internal.CaptchaService import ReCaptcha
+from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class Keep2shareCC(SimpleHoster):
__name__ = "Keep2shareCC"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?(keep2share|k2s|keep2s)\.cc/file/(?P<ID>\w+)'
__version__ = "0.10"
+
+ __pattern__ = r'https?://(?:www\.)?(keep2share|k2s|keep2s)\.cc/file/(?P<ID>\w+)'
+
__description__ = """Keep2share.cc hoster plugin"""
__author_name__ = "stickell"
__author_mail__ = "l.stickell@yahoo.it"
diff --git a/module/plugins/hoster/LemUploadsCom.py b/module/plugins/hoster/LemUploadsCom.py
index 0d4facea2..b8a6062cb 100644
--- a/module/plugins/hoster/LemUploadsCom.py
+++ b/module/plugins/hoster/LemUploadsCom.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-
+#
# Test links:
# BigBuckBunny_320x180.mp4 - 61.7 Mb - http://lemuploads.com/uwol0aly9dld
@@ -9,8 +9,10 @@ from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInf
class LemUploadsCom(XFileSharingPro):
__name__ = "LemUploadsCom"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?lemuploads.com/\w{12}'
__version__ = "0.01"
+
+ __pattern__ = r'https?://(?:www\.)?lemuploads.com/\w{12}'
+
__description__ = """LemUploads.com hoster plugin"""
__author_name__ = "t4skforce"
__author_mail__ = "t4skforce1337[AT]gmail[DOT]com"
diff --git a/module/plugins/hoster/LetitbitNet.py b/module/plugins/hoster/LetitbitNet.py
index 1a5928f17..3159be4f1 100644
--- a/module/plugins/hoster/LetitbitNet.py
+++ b/module/plugins/hoster/LetitbitNet.py
@@ -1,30 +1,16 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
+#
# API Documentation:
# http://api.letitbit.net/reg/static/api.pdf
-# Test links (random.bin):
+#
+# Test links:
# http://letitbit.net/download/07874.0b5709a7d3beee2408bb1f2eefce/random.bin.html
import re
-import urllib
-from module.common.json_layer import json_loads, json_dumps
+from urllib import urlencode, urlopen
+from module.common.json_layer import json_loads, json_dumps
from module.plugins.hoster.UnrestrictLi import secondsToMidnight
from module.plugins.internal.CaptchaService import ReCaptcha
from module.plugins.internal.SimpleHoster import SimpleHoster
@@ -32,8 +18,8 @@ from module.plugins.internal.SimpleHoster import SimpleHoster
def api_download_info(url):
json_data = ["yw7XQy2v9", ["download/info", {"link": url}]]
- post_data = urllib.urlencode({'r': json_dumps(json_data)})
- api_rep = urllib.urlopen("http://api.letitbit.net/json", data=post_data).read()
+ post_data = urlencode({'r': json_dumps(json_data)})
+ api_rep = urlopen("http://api.letitbit.net/json", data=post_data).read()
return json_loads(api_rep)
@@ -50,8 +36,10 @@ def getInfo(urls):
class LetitbitNet(SimpleHoster):
__name__ = "LetitbitNet"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?(letitbit|shareflare).net/download/.*'
__version__ = "0.24"
+
+ __pattern__ = r'http://(?:www\.)?(letitbit|shareflare).net/download/.*'
+
__description__ = """Letitbit.net hoster plugin"""
__author_name__ = ("zoidberg", "z00nx")
__author_mail__ = ("zoidberg@mujmail.cz", "z00nx0@gmail.com")
diff --git a/module/plugins/hoster/LinksnappyCom.py b/module/plugins/hoster/LinksnappyCom.py
index 3de19945b..e4200e9f2 100644
--- a/module/plugins/hoster/LinksnappyCom.py
+++ b/module/plugins/hoster/LinksnappyCom.py
@@ -1,23 +1,27 @@
# -*- coding: utf-8 -*-
import re
+
from urlparse import urlsplit
-from module.plugins.Hoster import Hoster
from module.common.json_layer import json_loads, json_dumps
+from module.plugins.Hoster import Hoster
class LinksnappyCom(Hoster):
__name__ = "LinksnappyCom"
- __version__ = "0.02"
__type__ = "hoster"
+ __version__ = "0.02"
+
__pattern__ = r'https?://(?:[^/]*\.)?linksnappy\.com'
+
__description__ = """Linksnappy.com hoster plugin"""
__author_name__ = "stickell"
__author_mail__ = "l.stickell@yahoo.it"
SINGLE_CHUNK_HOSTERS = ('easybytez.com')
+
def setup(self):
self.chunkLimit = -1
self.resumeDownload = True
diff --git a/module/plugins/hoster/LoadTo.py b/module/plugins/hoster/LoadTo.py
index af86cd026..a35712124 100644
--- a/module/plugins/hoster/LoadTo.py
+++ b/module/plugins/hoster/LoadTo.py
@@ -1,20 +1,6 @@
# -*- coding: utf-8 -*-
-############################################################################
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU Affero 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 Affero General Public License for more details. #
-# #
-# You should have received a copy of the GNU Affero General Public License #
-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
-############################################################################
-
-# Test links (random.bin):
+#
+# Test links:
# http://www.load.to/JWydcofUY6/random.bin
# http://www.load.to/oeSmrfkXE/random100.bin
@@ -26,8 +12,8 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class LoadTo(SimpleHoster):
__name__ = "LoadTo"
- __version__ = "0.15"
__type__ = "hoster"
+ __version__ = "0.15"
__pattern__ = r'http://(?:www\.)?load\.to/\w+'
diff --git a/module/plugins/hoster/LomafileCom.py b/module/plugins/hoster/LomafileCom.py
index 9f05d952e..98b89a732 100644
--- a/module/plugins/hoster/LomafileCom.py
+++ b/module/plugins/hoster/LomafileCom.py
@@ -1,3 +1,5 @@
+# -*- coding: utf-8 -*-
+
import re
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
@@ -6,8 +8,10 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class LomafileCom(SimpleHoster):
__name__ = "LomafileCom"
__type__ = "hoster"
- __pattern__ = r'https?://lomafile\.com/.+/[\w\.]+'
__version__ = "0.1"
+
+ __pattern__ = r'https?://lomafile\.com/.+/[\w\.]+'
+
__description__ = """Lomafile.com hoster plugin"""
__author_name__ = "nath_schwarz"
__author_mail__ = "nathan.notwhite@gmail.com"
@@ -16,6 +20,7 @@ class LomafileCom(SimpleHoster):
FILE_SIZE_PATTERN = r'\((?P<S>\d+)\s(?P<U>\w+)\)'
FILE_OFFLINE_PATTERN = r'Software error'
+
def handleFree(self):
for _ in range(3):
captcha_id = re.search(r'src="http://lomafile\.com/captchas/(?P<id>\w+)\.jpg"', self.html)
diff --git a/module/plugins/hoster/LuckyShareNet.py b/module/plugins/hoster/LuckyShareNet.py
index 9479f583e..60f1204e5 100644
--- a/module/plugins/hoster/LuckyShareNet.py
+++ b/module/plugins/hoster/LuckyShareNet.py
@@ -1,17 +1,20 @@
# -*- coding: utf-8 -*-
import re
+
from module.lib.bottle import json_loads
-from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
from module.plugins.internal.CaptchaService import ReCaptcha
+from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class LuckyShareNet(SimpleHoster):
__name__ = "LuckyShareNet"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?luckyshare.net/(?P<ID>\d{10,})'
__version__ = "0.02"
+
+ __pattern__ = r'https?://(?:www\.)?luckyshare.net/(?P<ID>\d{10,})'
+
__description__ = """LuckyShare.net hoster plugin"""
__author_name__ = "stickell"
__author_mail__ = "l.stickell@yahoo.it"
diff --git a/module/plugins/hoster/MediafireCom.py b/module/plugins/hoster/MediafireCom.py
index 3281f66e6..d0878a34d 100644
--- a/module/plugins/hoster/MediafireCom.py
+++ b/module/plugins/hoster/MediafireCom.py
@@ -1,23 +1,9 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
-from module.plugins.internal.SimpleHoster import SimpleHoster, parseFileInfo
+
from module.plugins.internal.CaptchaService import SolveMedia
+from module.plugins.internal.SimpleHoster import SimpleHoster, parseFileInfo
from module.network.RequestFactory import getURL
@@ -61,8 +47,10 @@ def getInfo(urls):
class MediafireCom(SimpleHoster):
__name__ = "MediafireCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?mediafire\.com/(file/|(view/?|download.php)?\?)(\w{11}|\w{15})($|/)'
__version__ = "0.79"
+
+ __pattern__ = r'http://(?:www\.)?mediafire\.com/(file/|(view/?|download.php)?\?)(\w{11}|\w{15})($|/)'
+
__description__ = """Mediafire.com hoster plugin"""
__author_name__ = ("zoidberg", "stickell")
__author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it")
@@ -78,6 +66,7 @@ class MediafireCom(SimpleHoster):
FILE_INFO_PATTERN = r"oFileSharePopup\.ald\('(?P<ID>[^']*)','(?P<N>[^']*)','(?P<S>[^']*)','','(?P<sha256>[^']*)'\)"
OFFLINE_PATTERN = r'class="error_msg_title"> Invalid or Deleted File. </div>'
+
def setup(self):
self.multiDL = False
diff --git a/module/plugins/hoster/MegaDebridEu.py b/module/plugins/hoster/MegaDebridEu.py
index 1e68cec22..13415d063 100644
--- a/module/plugins/hoster/MegaDebridEu.py
+++ b/module/plugins/hoster/MegaDebridEu.py
@@ -1,38 +1,27 @@
# -*- coding: utf-8 -*-
-############################################################################
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU Affero 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 Affero General Public License for more details. #
-# #
-# You should have received a copy of the GNU Affero General Public License #
-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
-############################################################################
import re
+
from urllib import unquote_plus
-from module.plugins.Hoster import Hoster
from module.common.json_layer import json_loads
+from module.plugins.Hoster import Hoster
class MegaDebridEu(Hoster):
__name__ = "MegaDebridEu"
- __version__ = "0.4"
__type__ = "hoster"
+ __version__ = "0.4"
+
__pattern__ = r'^https?://(?:w{3}\d+\.mega-debrid.eu|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/download/file/[^/]+/.+$'
+
__description__ = """mega-debrid.eu hoster plugin"""
__author_name__ = "D.Ducatel"
__author_mail__ = "dducatel@je-geek.fr"
- # Define the base URL of MegaDebrid api
API_URL = "https://www.mega-debrid.eu/api.php"
+
def getFilename(self, url):
try:
return unquote_plus(url.rsplit("/", 1)[1])
diff --git a/module/plugins/hoster/MegaFilesSe.py b/module/plugins/hoster/MegaFilesSe.py
index e4895bc87..975708597 100644
--- a/module/plugins/hoster/MegaFilesSe.py
+++ b/module/plugins/hoster/MegaFilesSe.py
@@ -6,8 +6,10 @@ from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInf
class MegaFilesSe(XFileSharingPro):
__name__ = "MegaFilesSe"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?megafiles\.se/\w{12}'
__version__ = "0.01"
+
+ __pattern__ = r'http://(?:www\.)?megafiles\.se/\w{12}'
+
__description__ = """MegaFiles.se hoster plugin"""
__author_name__ = "t4skforce"
__author_mail__ = "t4skforce1337[AT]gmail[DOT]com"
diff --git a/module/plugins/hoster/MegaNz.py b/module/plugins/hoster/MegaNz.py
index cf35f2d2d..5562aad06 100644
--- a/module/plugins/hoster/MegaNz.py
+++ b/module/plugins/hoster/MegaNz.py
@@ -1,26 +1,25 @@
# -*- coding: utf-8 -*-
-import re
import random
-from array import array
-from os import remove
-from base64 import standard_b64decode
+import re
from Crypto.Cipher import AES
from Crypto.Util import Counter
+from array import array
+from base64 import standard_b64decode
+from os import remove
from module.common.json_layer import json_loads, json_dumps
from module.plugins.Hoster import Hoster
-#def getInfo(urls):
-# pass
-
class MegaNz(Hoster):
__name__ = "MegaNz"
__type__ = "hoster"
- __pattern__ = r'https?://([a-z0-9]+\.)?mega\.co\.nz/#!([a-zA-Z0-9!_\-]+)'
__version__ = "0.14"
+
+ __pattern__ = r'https?://([a-z0-9]+\.)?mega\.co\.nz/#!([a-zA-Z0-9!_\-]+)'
+
__description__ = """Mega.co.nz hoster plugin"""
__author_name__ = "RaNaN"
__author_mail__ = "ranan@pyload.org"
@@ -28,6 +27,7 @@ class MegaNz(Hoster):
API_URL = "https://g.api.mega.co.nz/cs?id=%d"
FILE_SUFFIX = ".crypted"
+
def b64_decode(self, data):
data = data.replace("-", "+").replace("_", "/")
return standard_b64decode(data + '=' * (-len(data) % 4))
diff --git a/module/plugins/hoster/MegacrypterCom.py b/module/plugins/hoster/MegacrypterCom.py
index aa167ba30..7a86dbf70 100644
--- a/module/plugins/hoster/MegacrypterCom.py
+++ b/module/plugins/hoster/MegacrypterCom.py
@@ -9,8 +9,10 @@ from module.plugins.hoster.MegaNz import MegaNz
class MegacrypterCom(MegaNz):
__name__ = "MegacrypterCom"
__type__ = "hoster"
- __pattern__ = r'(https?://[a-z0-9]{0,10}\.?megacrypter\.com/[a-zA-Z0-9!_\-]+)'
__version__ = "0.2"
+
+ __pattern__ = r'(https?://[a-z0-9]{0,10}\.?megacrypter\.com/[a-zA-Z0-9!_\-]+)'
+
__description__ = """Megacrypter.com decrypter plugin"""
__author_name__ = "GonzaloSR"
__author_mail__ = "gonzalo@gonzalosr.com"
@@ -18,6 +20,7 @@ class MegacrypterCom(MegaNz):
API_URL = "http://megacrypter.com/api"
FILE_SUFFIX = ".crypted"
+
def callApi(self, **kwargs):
""" Dispatch a call to the api, see megacrypter.com/api_doc """
self.logDebug("JSON request: " + json_dumps(kwargs))
diff --git a/module/plugins/hoster/MegareleaseOrg.py b/module/plugins/hoster/MegareleaseOrg.py
index eea265323..05b05c3b5 100644
--- a/module/plugins/hoster/MegareleaseOrg.py
+++ b/module/plugins/hoster/MegareleaseOrg.py
@@ -1,18 +1,4 @@
# -*- coding: utf-8 -*-
-############################################################################
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU Affero 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 Affero General Public License for more details. #
-# #
-# You should have received a copy of the GNU Affero General Public License #
-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
-############################################################################
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo
@@ -20,8 +6,10 @@ from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInf
class MegareleaseOrg(XFileSharingPro):
__name__ = "MegareleaseOrg"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?megarelease.org/\w{12}'
__version__ = "0.01"
+
+ __pattern__ = r'https?://(?:www\.)?megarelease.org/\w{12}'
+
__description__ = """Megarelease.org hoster plugin"""
__author_name__ = ("derek3x", "stickell")
__author_mail__ = ("derek3x@vmail.me", "l.stickell@yahoo.it")
diff --git a/module/plugins/hoster/MegasharesCom.py b/module/plugins/hoster/MegasharesCom.py
index f8fa338f3..c12897ed0 100644
--- a/module/plugins/hoster/MegasharesCom.py
+++ b/module/plugins/hoster/MegasharesCom.py
@@ -1,30 +1,19 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
+
from time import time
+
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class MegasharesCom(SimpleHoster):
__name__ = "MegasharesCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?megashares.com/.*'
__version__ = "0.24"
+
+ __pattern__ = r'http://(?:www\.)?megashares.com/.*'
+
__description__ = """Megashares.com hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
diff --git a/module/plugins/hoster/MovReelCom.py b/module/plugins/hoster/MovReelCom.py
index 266e9dc55..6b13422b0 100644
--- a/module/plugins/hoster/MovReelCom.py
+++ b/module/plugins/hoster/MovReelCom.py
@@ -1,16 +1,15 @@
# -*- coding: utf-8 -*-
-#import re
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo
-#from pycurl import FOLLOWLOCATION, LOW_SPEED_TIME
-
class MovReelCom(XFileSharingPro):
__name__ = "MovReelCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?movreel.com/.*'
__version__ = "1.20"
+
+ __pattern__ = r'http://(?:www\.)?movreel.com/.*'
+
__description__ = """MovReel.com hoster plugin"""
__author_name__ = "JorisV83"
__author_mail__ = "jorisv83-pyload@yahoo.com"
diff --git a/module/plugins/hoster/MultiDebridCom.py b/module/plugins/hoster/MultiDebridCom.py
index 71f3df908..f70fa0f0e 100644
--- a/module/plugins/hoster/MultiDebridCom.py
+++ b/module/plugins/hoster/MultiDebridCom.py
@@ -1,34 +1,23 @@
# -*- coding: utf-8 -*-
-############################################################################
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU Affero 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 Affero General Public License for more details. #
-# #
-# You should have received a copy of the GNU Affero General Public License #
-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
-############################################################################
import re
-from module.plugins.Hoster import Hoster
from module.common.json_layer import json_loads
+from module.plugins.Hoster import Hoster
class MultiDebridCom(Hoster):
__name__ = "MultiDebridCom"
- __version__ = "0.03"
__type__ = "hoster"
+ __version__ = "0.03"
+
__pattern__ = r'http://(?:www\.)?\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/dl/'
+
__description__ = """Multi-debrid.com hoster plugin"""
__author_name__ = "stickell"
__author_mail__ = "l.stickell@yahoo.it"
+
def setup(self):
self.chunkLimit = -1
self.resumeDownload = True
diff --git a/module/plugins/hoster/MultishareCz.py b/module/plugins/hoster/MultishareCz.py
index c2fbaf46e..fdf5fbd70 100644
--- a/module/plugins/hoster/MultishareCz.py
+++ b/module/plugins/hoster/MultishareCz.py
@@ -1,30 +1,19 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
+
from random import random
+
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class MultishareCz(SimpleHoster):
__name__ = "MultishareCz"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?multishare.cz/stahnout/(?P<ID>\d+).*'
__version__ = "0.34"
+
+ __pattern__ = r'http://(?:www\.)?multishare.cz/stahnout/(?P<ID>\d+).*'
+
__description__ = """MultiShare.cz hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
@@ -33,6 +22,7 @@ class MultishareCz(SimpleHoster):
OFFLINE_PATTERN = ur'<h1>Stáhnout soubor</h1><p><strong>PoşadovanÜ soubor neexistuje.</strong></p>'
FILE_SIZE_REPLACEMENTS = [('&nbsp;', '')]
+
def process(self, pyfile):
msurl = re.match(self.__pattern__, pyfile.url)
if msurl:
diff --git a/module/plugins/hoster/MyvideoDe.py b/module/plugins/hoster/MyvideoDe.py
index 21d95d092..630c97ec0 100644
--- a/module/plugins/hoster/MyvideoDe.py
+++ b/module/plugins/hoster/MyvideoDe.py
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
import re
+
from module.plugins.Hoster import Hoster
from module.unescape import unescape
@@ -8,12 +9,15 @@ from module.unescape import unescape
class MyvideoDe(Hoster):
__name__ = "MyvideoDe"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?myvideo.de/watch/'
__version__ = "0.9"
+
+ __pattern__ = r'http://(?:www\.)?myvideo.de/watch/'
+
__description__ = """Myvideo.de hoster plugin"""
__author_name__ = "spoob"
__author_mail__ = "spoob@pyload.org"
+
def process(self, pyfile):
self.pyfile = pyfile
self.download_html()
diff --git a/module/plugins/hoster/NarodRu.py b/module/plugins/hoster/NarodRu.py
index 396e207a0..18bed0231 100644
--- a/module/plugins/hoster/NarodRu.py
+++ b/module/plugins/hoster/NarodRu.py
@@ -1,30 +1,19 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
+
from random import random
+
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class NarodRu(SimpleHoster):
__name__ = "NarodRu"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?narod(\.yandex)?\.ru/(disk|start/[0-9]+\.\w+-narod\.yandex\.ru)/(?P<ID>\d+)/.+'
__version__ = "0.1"
+
+ __pattern__ = r'http://(?:www\.)?narod(\.yandex)?\.ru/(disk|start/[0-9]+\.\w+-narod\.yandex\.ru)/(?P<ID>\d+)/.+'
+
__description__ = """Narod.ru hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
@@ -40,6 +29,7 @@ class NarodRu(SimpleHoster):
CAPTCHA_PATTERN = r'<number url="(.*?)">(\w+)</number>'
LINK_PATTERN = r'<a class="h-link" rel="yandex_bar" href="(.+?)">'
+
def handleFree(self):
for _ in xrange(5):
self.html = self.load('http://narod.ru/disk/getcapchaxml/?rnd=%d' % int(random() * 777))
diff --git a/module/plugins/hoster/NetloadIn.py b/module/plugins/hoster/NetloadIn.py
index 2baeed5da..a45aafa63 100644
--- a/module/plugins/hoster/NetloadIn.py
+++ b/module/plugins/hoster/NetloadIn.py
@@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
import re
+
from time import sleep, time
-from module.plugins.Hoster import Hoster
from module.network.RequestFactory import getURL
+from module.plugins.Hoster import Hoster
from module.plugins.Plugin import chunks
@@ -51,12 +52,15 @@ def getInfo(urls):
class NetloadIn(Hoster):
__name__ = "NetloadIn"
__type__ = "hoster"
- __pattern__ = r'https?://(?:[^/]*\.)?netload\.in/(?:datei(.*?)(?:\.htm|/)|index.php?id=10&file_id=)'
__version__ = "0.45"
+
+ __pattern__ = r'https?://(?:[^/]*\.)?netload\.in/(?:datei(.*?)(?:\.htm|/)|index.php?id=10&file_id=)'
+
__description__ = """Netload.in hoster plugin"""
__author_name__ = ("spoob", "RaNaN", "Gregy")
__author_mail__ = ("spoob@pyload.org", "ranan@pyload.org", "gregy@gregy.cz")
+
def setup(self):
self.multiDL = self.resumeDownload = self.premium
@@ -151,7 +155,7 @@ class NetloadIn(Hoster):
self.offline()
name = re.search(r'class="dl_first_filename">([^<]+)', page, re.MULTILINE)
- # the found filename is not truncated
+ # the found filename is not truncated
if name:
name = name.group(1).strip()
if not name.endswith(".."):
diff --git a/module/plugins/hoster/NosuploadCom.py b/module/plugins/hoster/NosuploadCom.py
index ff7628c46..3187dd89f 100644
--- a/module/plugins/hoster/NosuploadCom.py
+++ b/module/plugins/hoster/NosuploadCom.py
@@ -9,7 +9,9 @@ class NosuploadCom(XFileSharingPro):
__name__ = "NosuploadCom"
__type__ = "hoster"
__version__ = "0.1"
+
__pattern__ = r'http://(?:www\.)?nosupload\.com/\?d=\w{12}'
+
__description__ = """Nosupload.com hoster plugin"""
__author_name__ = "igel"
__author_mail__ = "igelkun@myopera.com"
@@ -20,6 +22,7 @@ class NosuploadCom(XFileSharingPro):
LINK_PATTERN = r'<a class="select" href="(http://.+?)">Download</a>'
WAIT_PATTERN = r'Please wait.*?>(\d+)</span>'
+
def getDownloadLink(self):
# stage1: press the "Free Download" button
data = self.getPostParameters()
diff --git a/module/plugins/hoster/NovafileCom.py b/module/plugins/hoster/NovafileCom.py
index 9b4d50907..4a89064ea 100644
--- a/module/plugins/hoster/NovafileCom.py
+++ b/module/plugins/hoster/NovafileCom.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
-
-# Test links (random.bin):
+#
+# Test links:
# http://novafile.com/vfun4z6o2cit
# http://novafile.com/s6zrr5wemuz4
@@ -10,8 +10,10 @@ from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInf
class NovafileCom(XFileSharingPro):
__name__ = "NovafileCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?novafile\.com/\w{12}'
__version__ = "0.02"
+
+ __pattern__ = r'http://(?:www\.)?novafile\.com/\w{12}'
+
__description__ = """Novafile.com hoster plugin"""
__author_name__ = ("zoidberg", "stickell")
__author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it")
@@ -23,6 +25,7 @@ class NovafileCom(XFileSharingPro):
LINK_PATTERN = r'<a href="(http://s\d+\.novafile\.com/.*?)" class="btn btn-green">Download File</a>'
WAIT_PATTERN = r'<p>Please wait <span id="count"[^>]*>(\d+)</span> seconds</p>'
+
def setup(self):
self.multiDL = False
diff --git a/module/plugins/hoster/NowDownloadEu.py b/module/plugins/hoster/NowDownloadEu.py
index cf4f46805..193698f17 100644
--- a/module/plugins/hoster/NowDownloadEu.py
+++ b/module/plugins/hoster/NowDownloadEu.py
@@ -1,21 +1,7 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
+
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
from module.utils import fixup
@@ -23,8 +9,10 @@ from module.utils import fixup
class NowDownloadEu(SimpleHoster):
__name__ = "NowDownloadEu"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?nowdownload\.(ch|co|eu|sx)/(dl/|download\.php\?id=)(?P<ID>\w+)'
__version__ = "0.05"
+
+ __pattern__ = r'http://(?:www\.)?nowdownload\.(ch|co|eu|sx)/(dl/|download\.php\?id=)(?P<ID>\w+)'
+
__description__ = """NowDownload.ch hoster plugin"""
__author_name__ = ("godofdream", "Walter Purcaro")
__author_mail__ = ("soilfiction@gmail.com", "vuolter@gmail.com")
diff --git a/module/plugins/hoster/OboomCom.py b/module/plugins/hoster/OboomCom.py
index b6eeba3c8..f30c64184 100644
--- a/module/plugins/hoster/OboomCom.py
+++ b/module/plugins/hoster/OboomCom.py
@@ -1,20 +1,22 @@
# -*- coding: utf-8 -*-
-
-# Test link:
+#
+# Test links:
# https://www.oboom.com/B7CYZIEB/10Mio.dat
import re
+from module.common.json_layer import json_loads
from module.plugins.Hoster import Hoster
from module.plugins.internal.CaptchaService import ReCaptcha
-from module.common.json_layer import json_loads
class OboomCom(Hoster):
__name__ = "OboomCom"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?oboom\.com/(#(id=|/)?)?(?P<ID>[A-Z0-9]{8})'
__version__ = "0.1"
+
+ __pattern__ = r'https?://(?:www\.)?oboom\.com/(#(id=|/)?)?(?P<ID>[A-Z0-9]{8})'
+
__description__ = """oboom.com hoster plugin"""
__author_name__ = "stanley"
__author_mail__ = "stanley.foerster@gmail.com"
diff --git a/module/plugins/hoster/OneFichierCom.py b/module/plugins/hoster/OneFichierCom.py
index 2a98a97dc..0536f7185 100644
--- a/module/plugins/hoster/OneFichierCom.py
+++ b/module/plugins/hoster/OneFichierCom.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
-
-# Test links (random.bin):
+#
+# Test links:
# http://5pnm24ltcw.1fichier.com/
import re
@@ -11,8 +11,10 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class OneFichierCom(SimpleHoster):
__name__ = "OneFichierCom"
__type__ = "hoster"
- __pattern__ = r'(http://(?P<id>\w+)\.(?P<host>(1fichier|d(es)?fichiers|pjointe)\.(com|fr|net|org)|(cjoint|mesfichiers|piecejointe|oi)\.(org|net)|tenvoi\.(com|org|net)|dl4free\.com|alterupload\.com|megadl.fr))/?'
__version__ = "0.61"
+
+ __pattern__ = r'(http://(?P<id>\w+)\.(?P<host>(1fichier|d(es)?fichiers|pjointe)\.(com|fr|net|org)|(cjoint|mesfichiers|piecejointe|oi)\.(org|net)|tenvoi\.(com|org|net)|dl4free\.com|alterupload\.com|megadl.fr))/?'
+
__description__ = """1fichier.com hoster plugin"""
__author_name__ = ("fragonib", "the-razer", "zoidberg", "imclem", "stickell", "Elrick69")
__author_mail__ = ("fragonib[AT]yahoo[DOT]es", "daniel_ AT gmx DOT net", "zoidberg@mujmail.cz",
@@ -29,6 +31,7 @@ class OneFichierCom(SimpleHoster):
WAIT_TIME = 10 * 60 # Retry time between each free download
RETRY_TIME = 15 * 60 # Default retry time in seconds (if detected parallel download)
+
def setup(self):
self.multiDL = self.premium
self.resumeDownload = True
@@ -48,14 +51,14 @@ class OneFichierCom(SimpleHoster):
if not url:
self.parseError("Download link not found")
- # Check for protection
+ # Check for protection
if "pass" in inputs:
inputs['pass'] = self.getPassword()
inputs['submit'] = "Download"
self.download(url, post=inputs)
- # Check download
+ # Check download
self.checkDownloadedFile()
def handlePremium(self):
diff --git a/module/plugins/hoster/OverLoadMe.py b/module/plugins/hoster/OverLoadMe.py
index f030c9e87..7b7c83893 100644
--- a/module/plugins/hoster/OverLoadMe.py
+++ b/module/plugins/hoster/OverLoadMe.py
@@ -1,23 +1,27 @@
# -*- coding: utf-8 -*-
import re
-from urllib import unquote
+
from random import randrange
+from urllib import unquote
-from module.plugins.Hoster import Hoster
from module.common.json_layer import json_loads
+from module.plugins.Hoster import Hoster
from module.utils import parseFileSize
class OverLoadMe(Hoster):
__name__ = "OverLoadMe"
- __version__ = "0.01"
__type__ = "hoster"
+ __version__ = "0.01"
+
__pattern__ = r'https?://.*overload\.me.*'
+
__description__ = """Over-Load.me hoster plugin"""
__author_name__ = "marley"
__author_mail__ = "marley@over-load.me"
+
def getFilename(self, url):
try:
name = unquote(url.rsplit("/", 1)[1])
diff --git a/module/plugins/hoster/PandaPlanet.py b/module/plugins/hoster/PandaPlanet.py
index aebc15dd9..6f852ac9a 100644
--- a/module/plugins/hoster/PandaPlanet.py
+++ b/module/plugins/hoster/PandaPlanet.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-
+#
# Test links:
# test.bin - 214 B - http://pandapla.net/pew1cz3ot586
# BigBuckBunny_320x180.mp4 - 61.7 Mb - http://pandapla.net/tz0rgjfyyoh7
@@ -10,8 +10,10 @@ from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInf
class PandaPlanet(XFileSharingPro):
__name__ = "PandaPlanet"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?pandapla\.net/\w{12}'
__version__ = "0.01"
+
+ __pattern__ = r'https?://(?:www\.)?pandapla\.net/\w{12}'
+
__description__ = """Pandapla.net hoster plugin"""
__author_name__ = "t4skforce"
__author_mail__ = "t4skforce1337[AT]gmail[DOT]com"
diff --git a/module/plugins/hoster/PornhostCom.py b/module/plugins/hoster/PornhostCom.py
index 6b53dc623..f0621c420 100644
--- a/module/plugins/hoster/PornhostCom.py
+++ b/module/plugins/hoster/PornhostCom.py
@@ -1,18 +1,22 @@
# -*- coding: utf-8 -*-
import re
+
from module.plugins.Hoster import Hoster
class PornhostCom(Hoster):
__name__ = "PornhostCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?pornhost\.com/([0-9]+/[0-9]+\.html|[0-9]+)'
__version__ = "0.2"
+
+ __pattern__ = r'http://(?:www\.)?pornhost\.com/([0-9]+/[0-9]+\.html|[0-9]+)'
+
__description__ = """Pornhost.com hoster plugin"""
__author_name__ = "jeix"
__author_mail__ = "jeix@hasnomail.de"
+
def process(self, pyfile):
self.download_html()
if not self.file_exists():
diff --git a/module/plugins/hoster/PornhubCom.py b/module/plugins/hoster/PornhubCom.py
index 45dc12929..cecdc4339 100644
--- a/module/plugins/hoster/PornhubCom.py
+++ b/module/plugins/hoster/PornhubCom.py
@@ -1,18 +1,22 @@
# -*- coding: utf-8 -*-
import re
+
from module.plugins.Hoster import Hoster
class PornhubCom(Hoster):
__name__ = "PornhubCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?pornhub\.com/view_video\.php\?viewkey=[\w\d]+'
__version__ = "0.5"
+
+ __pattern__ = r'http://(?:www\.)?pornhub\.com/view_video\.php\?viewkey=[\w\d]+'
+
__description__ = """Pornhub.com hoster plugin"""
__author_name__ = "jeix"
__author_mail__ = "jeix@hasnomail.de"
+
def process(self, pyfile):
self.download_html()
if not self.file_exists():
diff --git a/module/plugins/hoster/PotloadCom.py b/module/plugins/hoster/PotloadCom.py
index 7b3b25c34..087b7a265 100644
--- a/module/plugins/hoster/PotloadCom.py
+++ b/module/plugins/hoster/PotloadCom.py
@@ -6,8 +6,10 @@ from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInf
class PotloadCom(XFileSharingPro):
__name__ = "PotloadCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?potload\.com/\w{12}'
__version__ = "0.01"
+
+ __pattern__ = r'http://(?:www\.)?potload\.com/\w{12}'
+
__description__ = """Potload.com hoster plugin"""
__author_name__ = "stickell"
__author_mail__ = "l.stickell@yahoo.it"
diff --git a/module/plugins/hoster/Premium4Me.py b/module/plugins/hoster/Premium4Me.py
index e66e76ce1..ea841338a 100644
--- a/module/plugins/hoster/Premium4Me.py
+++ b/module/plugins/hoster/Premium4Me.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
-from urllib import quote
-from os.path import exists
from os import remove
+from os.path import exists
+from urllib import quote
from module.plugins.Hoster import Hoster
from module.utils import fs_encode
@@ -10,14 +10,16 @@ from module.utils import fs_encode
class Premium4Me(Hoster):
__name__ = "Premium4Me"
- __version__ = "0.08"
__type__ = "hoster"
+ __version__ = "0.08"
__pattern__ = r'http://(?:www\.)?premium.to/.*'
+
__description__ = """Premium.to hoster plugin"""
__author_name__ = ("RaNaN", "zoidberg", "stickell")
__author_mail__ = ("RaNaN@pyload.org", "zoidberg@mujmail.cz", "l.stickell@yahoo.it")
+
def setup(self):
self.resumeDownload = True
self.chunkLimit = 1
diff --git a/module/plugins/hoster/PremiumizeMe.py b/module/plugins/hoster/PremiumizeMe.py
index 7e646fdf9..7d0ca9ed2 100644
--- a/module/plugins/hoster/PremiumizeMe.py
+++ b/module/plugins/hoster/PremiumizeMe.py
@@ -1,23 +1,21 @@
# -*- coding: utf-8 -*-
-from module.plugins.Hoster import Hoster
-
from module.common.json_layer import json_loads
+from module.plugins.Hoster import Hoster
class PremiumizeMe(Hoster):
__name__ = "PremiumizeMe"
- __version__ = "0.12"
__type__ = "hoster"
- __description__ = """Premiumize.me hoster plugin"""
+ __version__ = "0.12"
- # Since we want to allow the user to specify the list of hoster to use we let MultiHoster.coreReady
- # create the regex patterns for us using getHosters in our PremiumizeMe hook.
- __pattern__ = None
+ __pattern__ = None #: Since we want to allow the user to specify the list of hoster to use we let MultiHoster.coreReady
+ __description__ = """Premiumize.me hoster plugin"""
__author_name__ = "Florian Franzen"
__author_mail__ = "FlorianFranzen@gmail.com"
+
def process(self, pyfile):
# Check account
if not self.account or not self.account.canUse():
diff --git a/module/plugins/hoster/PromptfileCom.py b/module/plugins/hoster/PromptfileCom.py
index ce3f3e0e0..d16af7e5a 100644
--- a/module/plugins/hoster/PromptfileCom.py
+++ b/module/plugins/hoster/PromptfileCom.py
@@ -1,18 +1,4 @@
# -*- coding: utf-8 -*-
-############################################################################
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU Affero 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 Affero General Public License for more details. #
-# #
-# You should have received a copy of the GNU Affero General Public License #
-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
-############################################################################
import re
@@ -22,8 +8,10 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class PromptfileCom(SimpleHoster):
__name__ = "PromptfileCom"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?promptfile\.com/'
__version__ = "0.1"
+
+ __pattern__ = r'https?://(?:www\.)?promptfile\.com/'
+
__description__ = """Promptfile.com hoster plugin"""
__author_name__ = "igel"
__author_mail__ = "igelkun@myopera.com"
@@ -34,6 +22,7 @@ class PromptfileCom(SimpleHoster):
CHASH_PATTERN = r'<input type="hidden" name="chash" value="([^"]*)" />'
LINK_PATTERN = r"clip: {\s*url: '(https?://(?:www\.)promptfile[^']*)',"
+
def handleFree(self):
# STAGE 1: get link to continue
m = re.search(self.CHASH_PATTERN, self.html)
diff --git a/module/plugins/hoster/QuickshareCz.py b/module/plugins/hoster/QuickshareCz.py
index f56daa1af..972effffb 100644
--- a/module/plugins/hoster/QuickshareCz.py
+++ b/module/plugins/hoster/QuickshareCz.py
@@ -1,21 +1,7 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
+
from pycurl import FOLLOWLOCATION
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
@@ -24,8 +10,10 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class QuickshareCz(SimpleHoster):
__name__ = "QuickshareCz"
__type__ = "hoster"
- __pattern__ = r'http://(?:[^/]*\.)?quickshare.cz/stahnout-soubor/.*'
__version__ = "0.54"
+
+ __pattern__ = r'http://(?:[^/]*\.)?quickshare.cz/stahnout-soubor/.*'
+
__description__ = """Quickshare.cz hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
@@ -34,6 +22,7 @@ class QuickshareCz(SimpleHoster):
FILE_SIZE_PATTERN = r'<th>Velikost:</th>\s*<td>(?P<S>[0-9.]+) (?P<U>[kKMG])i?B</td>'
OFFLINE_PATTERN = r'<script type="text/javascript">location.href=\'/chyba\';</script>'
+
def process(self, pyfile):
self.html = self.load(pyfile.url, decode=True)
self.getFileInfo()
diff --git a/module/plugins/hoster/RPNetBiz.py b/module/plugins/hoster/RPNetBiz.py
index 7c6892d8d..47f255074 100644
--- a/module/plugins/hoster/RPNetBiz.py
+++ b/module/plugins/hoster/RPNetBiz.py
@@ -8,13 +8,16 @@ from module.common.json_layer import json_loads
class RPNetBiz(Hoster):
__name__ = "RPNetBiz"
- __version__ = "0.1"
__type__ = "hoster"
+ __version__ = "0.1"
+
__description__ = """RPNet.biz hoster plugin"""
+
__pattern__ = r'https?://.*rpnet\.biz'
__author_name__ = "Dman"
__author_mail__ = "dmanugm@gmail.com"
+
def setup(self):
self.chunkLimit = -1
self.resumeDownload = True
@@ -30,7 +33,7 @@ class RPNetBiz(Hoster):
(user, data) = self.account.selectAccount()
self.logDebug("Original URL: %s" % pyfile.url)
- # Get the download link
+ # Get the download link
response = self.load("https://premium.rpnet.biz/client_api.php",
get={"username": user, "password": data['password'],
"action": "generate", "links": pyfile.url})
diff --git a/module/plugins/hoster/RapidgatorNet.py b/module/plugins/hoster/RapidgatorNet.py
index 17ded3297..ce4d9ab36 100644
--- a/module/plugins/hoster/RapidgatorNet.py
+++ b/module/plugins/hoster/RapidgatorNet.py
@@ -1,18 +1,4 @@
# -*- coding: utf-8 -*-
-###############################################################################
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-###############################################################################
import re
@@ -20,17 +6,18 @@ from pycurl import HTTPHEADER
from module.common.json_layer import json_loads
from module.network.HTTPRequest import BadHeader
-
from module.plugins.hoster.UnrestrictLi import secondsToMidnight
+from module.plugins.internal.CaptchaService import AdsCaptcha, ReCaptcha, SolveMedia
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
-from module.plugins.internal.CaptchaService import ReCaptcha, SolveMedia, AdsCaptcha
class RapidgatorNet(SimpleHoster):
__name__ = "RapidgatorNet"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?(rapidgator\.net|rg\.to)/file/\w+'
__version__ = "0.22"
+
+ __pattern__ = r'http://(?:www\.)?(rapidgator\.net|rg\.to)/file/\w+'
+
__description__ = """Rapidgator.net hoster plugin"""
__author_name__ = ("zoidberg", "chrox", "stickell", "Walter Purcaro")
__author_mail__ = ("zoidberg@mujmail.cz", "", "l.stickell@yahoo.it", "vuolter@gmail.com")
@@ -51,6 +38,7 @@ class RapidgatorNet(SimpleHoster):
ADSCAPTCHA_SRC_PATTERN = r'(http://api\.adscaptcha\.com/Get\.aspx[^"\']*)'
SOLVEMEDIA_PATTERN = r'http://api\.solvemedia\.com/papi/challenge\.script\?k=(.*?)"'
+
def setup(self):
self.resumeDownload = self.multiDL = self.premium
self.sid = None
diff --git a/module/plugins/hoster/RapidshareCom.py b/module/plugins/hoster/RapidshareCom.py
index b50f1c568..19d6cf772 100644
--- a/module/plugins/hoster/RapidshareCom.py
+++ b/module/plugins/hoster/RapidshareCom.py
@@ -1,12 +1,5 @@
# -*- coding: utf-8 -*-
-# v1.36
-# * fixed call checkfiles subroutine
-# v1.35
-# * fixed rs-urls in handleFree(..) and freeWait(..)
-# * removed getInfo(..) function as it was not used anywhere (in this file)
-# * removed some (old?) comment blocks
-
import re
from module.network.RequestFactory import getURL
@@ -51,15 +44,18 @@ def getInfo(urls):
class RapidshareCom(Hoster):
__name__ = "RapidshareCom"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?rapidshare.com/(?:files/(?P<id>\d*?)/(?P<name>[^?]+)|#!download\|(?:\w+)\|(?P<id_new>\d+)\|(?P<name_new>[^|]+))'
__version__ = "1.39"
- __description__ = """Rapidshare.com hoster plugin"""
+
+ __pattern__ = r'https?://(?:www\.)?rapidshare.com/(?:files/(?P<id>\d*?)/(?P<name>[^?]+)|#!download\|(?:\w+)\|(?P<id_new>\d+)\|(?P<name_new>[^|]+))'
__config__ = [("server",
"Cogent;Deutsche Telekom;Level(3);Level(3) #2;GlobalCrossing;Level(3) #3;Teleglobe;GlobalCrossing #2;TeliaSonera #2;Teleglobe #2;TeliaSonera #3;TeliaSonera",
"Preferred Server", "None")]
+
+ __description__ = """Rapidshare.com hoster plugin"""
__author_name__ = ("spoob", "RaNaN", "mkaay")
__author_mail__ = ("spoob@pyload.org", "ranan@pyload.org", "mkaay@mkaay.de")
+
def setup(self):
self.no_download = True
self.api_data = None
diff --git a/module/plugins/hoster/RarefileNet.py b/module/plugins/hoster/RarefileNet.py
index 7dd4164f6..51df5c882 100644
--- a/module/plugins/hoster/RarefileNet.py
+++ b/module/plugins/hoster/RarefileNet.py
@@ -9,8 +9,10 @@ from module.utils import html_unescape
class RarefileNet(XFileSharingPro):
__name__ = "RarefileNet"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?rarefile.net/\w{12}'
__version__ = "0.03"
+
+ __pattern__ = r'http://(?:www\.)?rarefile.net/\w{12}'
+
__description__ = """Rarefile.net hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
@@ -21,6 +23,7 @@ class RarefileNet(XFileSharingPro):
FILE_SIZE_PATTERN = r'<td>Size : (?P<S>.+?)&nbsp;'
LINK_PATTERN = r'<a href="(?P<link>[^"]+)">(?P=link)</a>'
+
def setup(self):
self.resumeDownload = self.multiDL = self.premium
diff --git a/module/plugins/hoster/RealdebridCom.py b/module/plugins/hoster/RealdebridCom.py
index 17cd86ccd..de7540628 100644
--- a/module/plugins/hoster/RealdebridCom.py
+++ b/module/plugins/hoster/RealdebridCom.py
@@ -1,25 +1,28 @@
# -*- coding: utf-8 -*-
import re
-from time import time
-from urllib import quote, unquote
+
from random import randrange
+from urllib import quote, unquote
+from time import time
-from module.utils import parseFileSize
from module.common.json_layer import json_loads
from module.plugins.Hoster import Hoster
+from module.utils import parseFileSize
class RealdebridCom(Hoster):
__name__ = "RealdebridCom"
- __version__ = "0.53"
__type__ = "hoster"
+ __version__ = "0.53"
__pattern__ = r'https?://(?:[^/]*\.)?real-debrid\..*'
+
__description__ = """Real-Debrid.com hoster plugin"""
__author_name__ = "Devirex Hazzard"
__author_mail__ = "naibaf_11@yahoo.de"
+
def getFilename(self, url):
try:
name = unquote(url.rsplit("/", 1)[1])
diff --git a/module/plugins/hoster/RedtubeCom.py b/module/plugins/hoster/RedtubeCom.py
index d9cb6489a..bdb948d6d 100644
--- a/module/plugins/hoster/RedtubeCom.py
+++ b/module/plugins/hoster/RedtubeCom.py
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
import re
+
from module.plugins.Hoster import Hoster
from module.unescape import unescape
@@ -8,12 +9,15 @@ from module.unescape import unescape
class RedtubeCom(Hoster):
__name__ = "RedtubeCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?redtube\.com/\d+'
__version__ = "0.2"
+
+ __pattern__ = r'http://(?:www\.)?redtube\.com/\d+'
+
__description__ = """Redtube.com hoster plugin"""
__author_name__ = "jeix"
__author_mail__ = "jeix@hasnomail.de"
+
def process(self, pyfile):
self.download_html()
if not self.file_exists():
diff --git a/module/plugins/hoster/RehostTo.py b/module/plugins/hoster/RehostTo.py
index 79c06f863..98fb10d94 100644
--- a/module/plugins/hoster/RehostTo.py
+++ b/module/plugins/hoster/RehostTo.py
@@ -1,18 +1,22 @@
# -*- coding: utf-8 -*-
from urllib import quote, unquote
+
from module.plugins.Hoster import Hoster
class RehostTo(Hoster):
__name__ = "RehostTo"
- __version__ = "0.13"
__type__ = "hoster"
+ __version__ = "0.13"
+
__pattern__ = r'https?://.*rehost.to\..*'
+
__description__ = """Rehost.com hoster plugin"""
__author_name__ = "RaNaN"
__author_mail__ = "RaNaN@pyload.org"
+
def getFilename(self, url):
return unquote(url.rsplit("/", 1)[1])
diff --git a/module/plugins/hoster/RemixshareCom.py b/module/plugins/hoster/RemixshareCom.py
index a0f67e0b2..ea396495e 100644
--- a/module/plugins/hoster/RemixshareCom.py
+++ b/module/plugins/hoster/RemixshareCom.py
@@ -1,14 +1,13 @@
# -*- coding: utf-8 -*-
-
-# Test link:
+#
+# Test links:
# http://remixshare.com/download/p946u
-
+#
# Note:
# The remixshare.com website is very very slow, so
# if your download not starts because of pycurl timeouts:
# Adjust timeouts in /usr/share/pyload/module/network/HTTPRequest.py
-
import re
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
@@ -17,8 +16,10 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class RemixshareCom(SimpleHoster):
__name__ = "RemixshareCom"
__type__ = "hoster"
- __pattern__ = r'https?://remixshare\.com/(download|dl)/\w+'
__version__ = "0.01"
+
+ __pattern__ = r'https?://remixshare\.com/(download|dl)/\w+'
+
__description__ = """Remixshare.com hoster plugin"""
__author_name__ = ("zapp-brannigan", "Walter Purcaro")
__author_mail__ = ("fuerst.reinje@web.de", "vuolter@gmail.com")
diff --git a/module/plugins/hoster/RgHostNet.py b/module/plugins/hoster/RgHostNet.py
index 80954e67b..dccc6e557 100644
--- a/module/plugins/hoster/RgHostNet.py
+++ b/module/plugins/hoster/RgHostNet.py
@@ -1,14 +1,17 @@
# -*- coding: utf-8 -*-
import re
+
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class RgHostNet(SimpleHoster):
__name__ = "RgHostNet"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?rghost\.net/\d+(?:r=\d+)?'
__version__ = "0.01"
+
+ __pattern__ = r'http://(?:www\.)?rghost\.net/\d+(?:r=\d+)?'
+
__description__ = """RgHost.net hoster plugin"""
__author_name__ = "z00nx"
__author_mail__ = "z00nx0@gmail.com"
@@ -17,6 +20,7 @@ class RgHostNet(SimpleHoster):
OFFLINE_PATTERN = r'File is deleted|this page is not found'
LINK_PATTERN = r'''<a\s+href="([^"]+)"\s+class="btn\s+large\s+download"[^>]+>Download</a>'''
+
def handleFree(self):
m = re.search(self.LINK_PATTERN, self.html)
if m is None:
diff --git a/module/plugins/hoster/RyushareCom.py b/module/plugins/hoster/RyushareCom.py
index bc81f03c0..f9aaa83fe 100644
--- a/module/plugins/hoster/RyushareCom.py
+++ b/module/plugins/hoster/RyushareCom.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
-
-# Test links (random.bin):
+#
+# Test links:
# http://ryushare.com/cl0jy8ric2js/random.bin
import re
@@ -12,8 +12,10 @@ from module.plugins.internal.CaptchaService import SolveMedia
class RyushareCom(XFileSharingPro):
__name__ = "RyushareCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?ryushare\.com/\w+'
__version__ = "0.15"
+
+ __pattern__ = r'http://(?:www\.)?ryushare\.com/\w+'
+
__description__ = """Ryushare.com hoster plugin"""
__author_name__ = ("zoidberg", "stickell", "quareevo")
__author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it", "quareevo@arcor.de")
@@ -26,6 +28,7 @@ class RyushareCom(XFileSharingPro):
LINK_PATTERN = r'(http://([^/]*?ryushare.com|\d+\.\d+\.\d+\.\d+)(:\d+/d/|/files/\w+/\w+/)[^"\'<]+)'
SOLVEMEDIA_PATTERN = r'http:\/\/api\.solvemedia\.com\/papi\/challenge\.script\?k=(.*?)"'
+
def getDownloadLink(self):
retry = False
self.html = self.load(self.pyfile.url)
diff --git a/module/plugins/hoster/SecureUploadEu.py b/module/plugins/hoster/SecureUploadEu.py
index aef6ac1bd..3691be7da 100644
--- a/module/plugins/hoster/SecureUploadEu.py
+++ b/module/plugins/hoster/SecureUploadEu.py
@@ -6,8 +6,10 @@ from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInf
class SecureUploadEu(XFileSharingPro):
__name__ = "SecureUploadEu"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?secureupload\.eu/(\w){12}(/\w+)'
__version__ = "0.01"
+
+ __pattern__ = r'http://(?:www\.)?secureupload\.eu/(\w){12}(/\w+)'
+
__description__ = """SecureUpload.eu hoster plugin"""
__author_name__ = "z00nx"
__author_mail__ = "z00nx0@gmail.com"
diff --git a/module/plugins/hoster/SendmywayCom.py b/module/plugins/hoster/SendmywayCom.py
index 6de87e2b3..f5e9e9ca6 100644
--- a/module/plugins/hoster/SendmywayCom.py
+++ b/module/plugins/hoster/SendmywayCom.py
@@ -6,8 +6,10 @@ from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInf
class SendmywayCom(XFileSharingPro):
__name__ = "SendmywayCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?sendmyway.com/\w{12}'
__version__ = "0.01"
+
+ __pattern__ = r'http://(?:www\.)?sendmyway.com/\w{12}'
+
__description__ = """SendMyWay hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
diff --git a/module/plugins/hoster/SendspaceCom.py b/module/plugins/hoster/SendspaceCom.py
index ea8e8d0a0..1dac231eb 100644
--- a/module/plugins/hoster/SendspaceCom.py
+++ b/module/plugins/hoster/SendspaceCom.py
@@ -1,29 +1,17 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
+
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class SendspaceCom(SimpleHoster):
__name__ = "SendspaceCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?sendspace.com/file/.*'
__version__ = "0.13"
+
+ __pattern__ = r'http://(?:www\.)?sendspace.com/file/.*'
+
__description__ = """Sendspace.com hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
diff --git a/module/plugins/hoster/Share4webCom.py b/module/plugins/hoster/Share4webCom.py
index 01935ee72..e5221baa9 100644
--- a/module/plugins/hoster/Share4webCom.py
+++ b/module/plugins/hoster/Share4webCom.py
@@ -7,8 +7,10 @@ from module.plugins.internal.SimpleHoster import create_getInfo
class Share4webCom(UnibytesCom):
__name__ = "Share4webCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?share4web\.com/get/\w+'
__version__ = "0.1"
+
+ __pattern__ = r'http://(?:www\.)?share4web\.com/get/\w+'
+
__description__ = """Share4web.com hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
diff --git a/module/plugins/hoster/Share76Com.py b/module/plugins/hoster/Share76Com.py
index e1ae16242..2c5dd877d 100644
--- a/module/plugins/hoster/Share76Com.py
+++ b/module/plugins/hoster/Share76Com.py
@@ -6,8 +6,10 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
class Share76Com(DeadHoster):
__name__ = "Share76Com"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?share76.com/\w{12}'
__version__ = "0.04"
+
+ __pattern__ = r'http://(?:www\.)?share76.com/\w{12}'
+
__description__ = """Share76.com hoster plugin"""
__author_name__ = "me"
__author_mail__ = None
diff --git a/module/plugins/hoster/ShareFilesCo.py b/module/plugins/hoster/ShareFilesCo.py
index 35f21916c..54ae7777a 100644
--- a/module/plugins/hoster/ShareFilesCo.py
+++ b/module/plugins/hoster/ShareFilesCo.py
@@ -6,8 +6,10 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
class ShareFilesCo(DeadHoster):
__name__ = "ShareFilesCo"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?sharefiles\.co/\w{12}'
__version__ = "0.02"
+
+ __pattern__ = r'http://(?:www\.)?sharefiles\.co/\w{12}'
+
__description__ = """Sharefiles.co hoster plugin"""
__author_name__ = "stickell"
__author_mail__ = "l.stickell@yahoo.it"
diff --git a/module/plugins/hoster/ShareRapidCom.py b/module/plugins/hoster/ShareRapidCom.py
index 5f17a2f62..414e92feb 100644
--- a/module/plugins/hoster/ShareRapidCom.py
+++ b/module/plugins/hoster/ShareRapidCom.py
@@ -21,8 +21,8 @@ def getInfo(urls):
class ShareRapidCom(SimpleHoster):
__name__ = "ShareRapidCom"
- __version__ = "0.54"
__type__ = "hoster"
+ __version__ = "0.54"
__pattern__ = r'http://(?:www\.)?(share|mega)rapid\.cz/soubor/\d+/.+'
diff --git a/module/plugins/hoster/SharebeesCom.py b/module/plugins/hoster/SharebeesCom.py
index a4625b6a1..d5b4a3bbc 100644
--- a/module/plugins/hoster/SharebeesCom.py
+++ b/module/plugins/hoster/SharebeesCom.py
@@ -6,8 +6,10 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
class SharebeesCom(DeadHoster):
__name__ = "SharebeesCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?sharebees.com/\w{12}'
__version__ = "0.02"
+
+ __pattern__ = r'http://(?:www\.)?sharebees.com/\w{12}'
+
__description__ = """ShareBees hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
diff --git a/module/plugins/hoster/ShareonlineBiz.py b/module/plugins/hoster/ShareonlineBiz.py
index a31b7c701..feaa95603 100644
--- a/module/plugins/hoster/ShareonlineBiz.py
+++ b/module/plugins/hoster/ShareonlineBiz.py
@@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
import re
+
from time import time
-from module.plugins.Hoster import Hoster
from module.network.RequestFactory import getURL
+from module.plugins.Hoster import Hoster
from module.plugins.Plugin import chunks
from module.plugins.internal.CaptchaService import ReCaptcha
@@ -38,14 +39,17 @@ def getInfo(urls):
class ShareonlineBiz(Hoster):
__name__ = "ShareonlineBiz"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?(share-online\.biz|egoshare\.com)/(download.php\?id=|dl/)(?P<ID>\w+)'
__version__ = "0.40"
+
+ __pattern__ = r'https?://(?:www\.)?(share-online\.biz|egoshare\.com)/(download.php\?id=|dl/)(?P<ID>\w+)'
+
__description__ = """Shareonline.biz hoster plugin"""
__author_name__ = ("spoob", "mkaay", "zoidberg", "Walter Purcaro")
__author_mail__ = ("spoob@pyload.org", "mkaay@mkaay.de", "zoidberg@mujmail.cz", "vuolter@gmail.com")
ERROR_INFO_PATTERN = r'<p class="b">Information:</p>\s*<div>\s*<strong>(.*?)</strong>'
+
def setup(self):
# range request not working?
# api supports resume, only one chunk
diff --git a/module/plugins/hoster/ShareplaceCom.py b/module/plugins/hoster/ShareplaceCom.py
index cfc2807f9..0d236fe30 100644
--- a/module/plugins/hoster/ShareplaceCom.py
+++ b/module/plugins/hoster/ShareplaceCom.py
@@ -1,19 +1,24 @@
# -*- coding: utf-8 -*-
import re
-import urllib
+
+from urllib import unquote
+
from module.plugins.Hoster import Hoster
class ShareplaceCom(Hoster):
__name__ = "ShareplaceCom"
__type__ = "hoster"
- __pattern__ = r'(http://)?(?:www\.)?shareplace\.(com|org)/\?[a-zA-Z0-9]+'
__version__ = "0.11"
+
+ __pattern__ = r'(http://)?(?:www\.)?shareplace\.(com|org)/\?[a-zA-Z0-9]+'
+
__description__ = """Shareplace.com hoster plugin"""
__author_name__ = "ACCakut"
__author_mail__ = None
+
def process(self, pyfile):
self.pyfile = pyfile
self.prepare()
@@ -53,7 +58,7 @@ class ShareplaceCom(Hoster):
url = re.search(r"var beer = '(.*?)';", self.html)
if url:
url = url.group(1)
- url = urllib.unquote(
+ url = unquote(
url.replace("http://http:/", "").replace("vvvvvvvvv", "").replace("lllllllll", "").replace(
"teletubbies", ""))
self.logDebug("URL: %s" % url)
diff --git a/module/plugins/hoster/ShragleCom.py b/module/plugins/hoster/ShragleCom.py
index a86e66972..ba3356d66 100644
--- a/module/plugins/hoster/ShragleCom.py
+++ b/module/plugins/hoster/ShragleCom.py
@@ -6,8 +6,10 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
class ShragleCom(DeadHoster):
__name__ = "ShragleCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?(cloudnator|shragle).com/files/(?P<ID>.*?)/'
__version__ = "0.22"
+
+ __pattern__ = r'http://(?:www\.)?(cloudnator|shragle).com/files/(?P<ID>.*?)/'
+
__description__ = """Cloudnator.com (Shragle.com) hoster plugin"""
__author_name__ = ("RaNaN", "zoidberg")
__author_mail__ = ("RaNaN@pyload.org", "zoidberg@mujmail.cz")
diff --git a/module/plugins/hoster/SimplyPremiumCom.py b/module/plugins/hoster/SimplyPremiumCom.py
index c0be4b145..5db9f5daa 100644
--- a/module/plugins/hoster/SimplyPremiumCom.py
+++ b/module/plugins/hoster/SimplyPremiumCom.py
@@ -1,20 +1,7 @@
# -*- coding: utf-8 -*-
-############################################################################
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU Affero 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 Affero General Public License for more details. #
-# #
-# You should have received a copy of the GNU Affero General Public License #
-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
-############################################################################
import re
+
from datetime import datetime, timedelta
from module.plugins.Hoster import Hoster
@@ -23,13 +10,16 @@ from module.plugins.hoster.UnrestrictLi import secondsToMidnight
class SimplyPremiumCom(Hoster):
__name__ = "SimplyPremiumCom"
- __version__ = "0.03"
__type__ = "hoster"
+ __version__ = "0.03"
+
__pattern__ = r'https?://.*(simply-premium)\.com'
+
__description__ = """Simply-Premium.com hoster plugin"""
__author_name__ = "EvolutionClip"
__author_mail__ = "evolutionclip@live.de"
+
def setup(self):
self.chunkLimit = 16
self.resumeDownload = False
diff --git a/module/plugins/hoster/SimplydebridCom.py b/module/plugins/hoster/SimplydebridCom.py
index 2aab12e04..78f6c0a34 100644
--- a/module/plugins/hoster/SimplydebridCom.py
+++ b/module/plugins/hoster/SimplydebridCom.py
@@ -7,13 +7,16 @@ from module.plugins.Hoster import Hoster
class SimplydebridCom(Hoster):
__name__ = "SimplydebridCom"
- __version__ = "0.1"
__type__ = "hoster"
+ __version__ = "0.1"
+
__pattern__ = r'http://(?:www\.)?\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/sd.php/*'
+
__description__ = """Simply-debrid.com hoster plugin"""
__author_name__ = "Kagenoshin"
__author_mail__ = "kagenoshin@gmx.ch"
+
def setup(self):
self.resumeDownload = self.multiDL = True
self.chunkLimit = 1
diff --git a/module/plugins/hoster/SockshareCom.py b/module/plugins/hoster/SockshareCom.py
index 61df428db..90f092473 100644
--- a/module/plugins/hoster/SockshareCom.py
+++ b/module/plugins/hoster/SockshareCom.py
@@ -10,8 +10,8 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class SockshareCom(SimpleHoster):
__name__ = "SockshareCom"
- __version__ = "0.04"
__type__ = "hoster"
+ __version__ = "0.04"
__pattern__ = r'http://(?:www\.)?sockshare\.com/(mobile/)?(file|embed)/(?P<ID>\w+)'
diff --git a/module/plugins/hoster/SoundcloudCom.py b/module/plugins/hoster/SoundcloudCom.py
index 75a1cffeb..05fe897d2 100644
--- a/module/plugins/hoster/SoundcloudCom.py
+++ b/module/plugins/hoster/SoundcloudCom.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
-import re
import pycurl
+import re
from module.plugins.Hoster import Hoster
@@ -9,12 +9,15 @@ from module.plugins.Hoster import Hoster
class SoundcloudCom(Hoster):
__name__ = "SoundcloudCom"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?soundcloud\.com/(?P<UID>.*?)/(?P<SID>.*)'
__version__ = "0.1"
+
+ __pattern__ = r'https?://(?:www\.)?soundcloud\.com/(?P<UID>.*?)/(?P<SID>.*)'
+
__description__ = """SoundCloud.com hoster plugin"""
__author_name__ = "Peekayy"
__author_mail__ = "peekayy.dev@gmail.com"
+
def process(self, pyfile):
# default UserAgent of HTTPRequest fails for this hoster so we use this one
self.req.http.c.setopt(pycurl.USERAGENT, 'Mozilla/5.0')
diff --git a/module/plugins/hoster/SpeedLoadOrg.py b/module/plugins/hoster/SpeedLoadOrg.py
index 76ab52868..8cf1163b2 100644
--- a/module/plugins/hoster/SpeedLoadOrg.py
+++ b/module/plugins/hoster/SpeedLoadOrg.py
@@ -6,8 +6,10 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
class SpeedLoadOrg(DeadHoster):
__name__ = "SpeedLoadOrg"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?speedload\.org/(?P<ID>\w+)'
__version__ = "1.02"
+
+ __pattern__ = r'http://(?:www\.)?speedload\.org/(?P<ID>\w+)'
+
__description__ = """Speedload.org hoster plugin"""
__author_name__ = "stickell"
__author_mail__ = "l.stickell@yahoo.it"
diff --git a/module/plugins/hoster/SpeedfileCz.py b/module/plugins/hoster/SpeedfileCz.py
index df66a17e2..6a42d1dbe 100644
--- a/module/plugins/hoster/SpeedfileCz.py
+++ b/module/plugins/hoster/SpeedfileCz.py
@@ -1,28 +1,15 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
class SpeedfileCz(DeadHoster):
__name__ = "SpeedFileCz"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?speedfile.cz/.*'
__version__ = "0.32"
+
+ __pattern__ = r'http://(?:www\.)?speedfile.cz/.*'
+
__description__ = """Speedfile.cz hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
diff --git a/module/plugins/hoster/StreamCz.py b/module/plugins/hoster/StreamCz.py
index e68130389..526e61eea 100644
--- a/module/plugins/hoster/StreamCz.py
+++ b/module/plugins/hoster/StreamCz.py
@@ -1,24 +1,9 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
-from module.plugins.Hoster import Hoster
from module.network.RequestFactory import getURL
+from module.plugins.Hoster import Hoster
def getInfo(urls):
@@ -37,8 +22,8 @@ def getInfo(urls):
class StreamCz(Hoster):
__name__ = "StreamCz"
- __version__ = "0.2"
__type__ = "hoster"
+ __version__ = "0.2"
__pattern__ = r'https?://(?:www\.)?stream\.cz/[^/]+/\d+.*'
diff --git a/module/plugins/hoster/StreamcloudEu.py b/module/plugins/hoster/StreamcloudEu.py
index 3cbf015c9..11333640e 100644
--- a/module/plugins/hoster/StreamcloudEu.py
+++ b/module/plugins/hoster/StreamcloudEu.py
@@ -1,17 +1,20 @@
# -*- coding: utf-8 -*-
-from time import sleep
import re
-from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo
+from time import sleep
+
from module.network.HTTPRequest import HTTPRequest
+from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo
class StreamcloudEu(XFileSharingPro):
__name__ = "StreamcloudEu"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?streamcloud\.eu/\S+'
__version__ = "0.04"
+
+ __pattern__ = r'http://(?:www\.)?streamcloud\.eu/\S+'
+
__description__ = """Streamcloud.eu hoster plugin"""
__author_name__ = "seoester"
__author_mail__ = "seoester@googlemail.com"
@@ -20,6 +23,7 @@ class StreamcloudEu(XFileSharingPro):
LINK_PATTERN = r'file: "(http://(stor|cdn)\d+\.streamcloud.eu:?\d*/.*/video\.(mp4|flv))",'
+
def setup(self):
super(StreamcloudEu, self).setup()
self.multiDL = True
diff --git a/module/plugins/hoster/TurbobitNet.py b/module/plugins/hoster/TurbobitNet.py
index 52708d045..a9cc46614 100644
--- a/module/plugins/hoster/TurbobitNet.py
+++ b/module/plugins/hoster/TurbobitNet.py
@@ -1,38 +1,26 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
-import re
import random
-from urllib import quote
-from binascii import hexlify, unhexlify
+import re
import time
-from pycurl import HTTPHEADER
from Crypto.Cipher import ARC4
+from binascii import hexlify, unhexlify
+from pycurl import HTTPHEADER
+from urllib import quote
+
from module.network.RequestFactory import getURL
-from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo, timestamp
from module.plugins.internal.CaptchaService import ReCaptcha
+from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo, timestamp
class TurbobitNet(SimpleHoster):
__name__ = "TurbobitNet"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?(turbobit.net|unextfiles.com)/(?!download/folder/)(?:download/free/)?(?P<ID>\w+).*'
__version__ = "0.11"
+
+ __pattern__ = r'http://(?:www\.)?(turbobit.net|unextfiles.com)/(?!download/folder/)(?:download/free/)?(?P<ID>\w+).*'
+
__description__ = """Turbobit.net plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
@@ -111,7 +99,7 @@ class TurbobitNet(SimpleHoster):
# that's right, we are even using jdownloader updates
rtUpdate = getURL("http://update0.jdownloader.org/pluginstuff/tbupdate.js")
rtUpdate = self.decrypt(rtUpdate.splitlines()[1])
- # but we still need to fix the syntax to work with other engines than rhino
+ # but we still need to fix the syntax to work with other engines than rhino
rtUpdate = re.sub(r'for each\(var (\w+) in(\[[^\]]+\])\)\{',
r'zza=\2;for(var zzi=0;zzi<zza.length;zzi++){\1=zza[zzi];', rtUpdate)
rtUpdate = re.sub(r"for\((\w+)=", r"for(var \1=", rtUpdate)
diff --git a/module/plugins/hoster/TurbouploadCom.py b/module/plugins/hoster/TurbouploadCom.py
index a54e963d9..bcfa2d7d4 100644
--- a/module/plugins/hoster/TurbouploadCom.py
+++ b/module/plugins/hoster/TurbouploadCom.py
@@ -1,28 +1,15 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
class TurbouploadCom(DeadHoster):
__name__ = "TurbouploadCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?turboupload.com/(\w+).*'
__version__ = "0.03"
+
+ __pattern__ = r'http://(?:www\.)?turboupload.com/(\w+).*'
+
__description__ = """Turboupload.com hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
diff --git a/module/plugins/hoster/TusfilesNet.py b/module/plugins/hoster/TusfilesNet.py
index f42685a63..7fb2a375e 100644
--- a/module/plugins/hoster/TusfilesNet.py
+++ b/module/plugins/hoster/TusfilesNet.py
@@ -1,18 +1,4 @@
# -*- coding: utf-8 -*-
-###############################################################################
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-###############################################################################
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo
@@ -20,8 +6,10 @@ from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInf
class TusfilesNet(XFileSharingPro):
__name__ = "TusfilesNet"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?tusfiles\.net/(?P<ID>\w+)'
__version__ = "0.03"
+
+ __pattern__ = r'https?://(?:www\.)?tusfiles\.net/(?P<ID>\w+)'
+
__description__ = """Tusfiles.net hoster plugin"""
__author_name__ = "Walter Purcaro"
__author_mail__ = "vuolter@gmail.com"
@@ -33,6 +21,7 @@ class TusfilesNet(XFileSharingPro):
SH_COOKIES = [(".tusfiles.net", "lang", "english")]
+
def setup(self):
self.multiDL = False
self.chunkLimit = -1
diff --git a/module/plugins/hoster/TwoSharedCom.py b/module/plugins/hoster/TwoSharedCom.py
index 1f040dfc2..dbd33dd83 100644
--- a/module/plugins/hoster/TwoSharedCom.py
+++ b/module/plugins/hoster/TwoSharedCom.py
@@ -8,8 +8,10 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class TwoSharedCom(SimpleHoster):
__name__ = "TwoSharedCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?2shared.com/(account/)?(download|get|file|document|photo|video|audio)/.*'
__version__ = "0.11"
+
+ __pattern__ = r'http://(?:www\.)?2shared.com/(account/)?(download|get|file|document|photo|video|audio)/.*'
+
__description__ = """2Shared.com hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
diff --git a/module/plugins/hoster/UlozTo.py b/module/plugins/hoster/UlozTo.py
index 2b68bedf7..dbdaf3f8e 100644
--- a/module/plugins/hoster/UlozTo.py
+++ b/module/plugins/hoster/UlozTo.py
@@ -1,24 +1,11 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
import time
-from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
+
from module.common.json_layer import json_loads
+from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
+
def convertDecimalPrefix(m):
# decimal prefixes used in filesize and traffic
@@ -28,8 +15,10 @@ def convertDecimalPrefix(m):
class UlozTo(SimpleHoster):
__name__ = "UlozTo"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj.cz|zachowajto.pl)/(?:live/)?(?P<id>\w+/[^/?]*)'
__version__ = "0.98"
+
+ __pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj.cz|zachowajto.pl)/(?:live/)?(?P<id>\w+/[^/?]*)'
+
__description__ = """Uloz.to hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
diff --git a/module/plugins/hoster/UloziskoSk.py b/module/plugins/hoster/UloziskoSk.py
index a77597324..ac70f42d4 100644
--- a/module/plugins/hoster/UloziskoSk.py
+++ b/module/plugins/hoster/UloziskoSk.py
@@ -1,29 +1,17 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
+
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class UloziskoSk(SimpleHoster):
__name__ = "UloziskoSk"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?ulozisko.sk/.*'
__version__ = "0.23"
+
+ __pattern__ = r'http://(?:www\.)?ulozisko.sk/.*'
+
__description__ = """Ulozisko.sk hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
diff --git a/module/plugins/hoster/UnibytesCom.py b/module/plugins/hoster/UnibytesCom.py
index 50e4c32d0..e936b84b1 100644
--- a/module/plugins/hoster/UnibytesCom.py
+++ b/module/plugins/hoster/UnibytesCom.py
@@ -1,30 +1,19 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
+
from pycurl import FOLLOWLOCATION
+
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class UnibytesCom(SimpleHoster):
__name__ = "UnibytesCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?unibytes\.com/[a-zA-Z0-9-._ ]{11}B'
__version__ = "0.1"
+
+ __pattern__ = r'http://(?:www\.)?unibytes\.com/[a-zA-Z0-9-._ ]{11}B'
+
__description__ = """UniBytes.com hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
diff --git a/module/plugins/hoster/UnrestrictLi.py b/module/plugins/hoster/UnrestrictLi.py
index 7558dfcf6..ed70e023d 100644
--- a/module/plugins/hoster/UnrestrictLi.py
+++ b/module/plugins/hoster/UnrestrictLi.py
@@ -1,24 +1,11 @@
# -*- coding: utf-8 -*-
-############################################################################
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU Affero 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 Affero General Public License for more details. #
-# #
-# You should have received a copy of the GNU Affero General Public License #
-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
-############################################################################
import re
+
from datetime import datetime, timedelta
-from module.plugins.Hoster import Hoster
from module.common.json_layer import json_loads
+from module.plugins.Hoster import Hoster
def secondsToMidnight(gmt=0):
@@ -33,13 +20,16 @@ def secondsToMidnight(gmt=0):
class UnrestrictLi(Hoster):
__name__ = "UnrestrictLi"
- __version__ = "0.12"
__type__ = "hoster"
+ __version__ = "0.12"
+
__pattern__ = r'https?://(?:[^/]*\.)?(unrestrict|unr)\.li'
+
__description__ = """Unrestrict.li hoster plugin"""
__author_name__ = "stickell"
__author_mail__ = "l.stickell@yahoo.it"
+
def setup(self):
self.chunkLimit = 16
self.resumeDownload = True
diff --git a/module/plugins/hoster/UploadStationCom.py b/module/plugins/hoster/UploadStationCom.py
index b0229aba4..ac5a47f3f 100644
--- a/module/plugins/hoster/UploadStationCom.py
+++ b/module/plugins/hoster/UploadStationCom.py
@@ -6,8 +6,10 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
class UploadStationCom(DeadHoster):
__name__ = "UploadStationCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?uploadstation\.com/file/(?P<id>[A-Za-z0-9]+)'
__version__ = "0.52"
+
+ __pattern__ = r'http://(?:www\.)?uploadstation\.com/file/(?P<id>[A-Za-z0-9]+)'
+
__description__ = """UploadStation.com hoster plugin"""
__author_name__ = ("fragonib", "zoidberg")
__author_mail__ = ("fragonib[AT]yahoo[DOT]es", "zoidberg@mujmail.cz")
diff --git a/module/plugins/hoster/UploadedTo.py b/module/plugins/hoster/UploadedTo.py
index da8cad223..286f1caf0 100644
--- a/module/plugins/hoster/UploadedTo.py
+++ b/module/plugins/hoster/UploadedTo.py
@@ -1,18 +1,19 @@
# -*- coding: utf-8 -*-
-
-# Test links (random.bin):
+#
+# Test links:
# http://ul.to/044yug9o
# http://ul.to/gzfhd0xs
import re
-from time import sleep
-from module.utils import html_unescape, parseFileSize
+from time import sleep
-from module.plugins.Hoster import Hoster
from module.network.RequestFactory import getURL
+from module.plugins.Hoster import Hoster
from module.plugins.Plugin import chunks
from module.plugins.internal.CaptchaService import ReCaptcha
+from module.utils import html_unescape, parseFileSize
+
key = "bGhGMkllZXByd2VEZnU5Y2NXbHhYVlZ5cEE1bkEzRUw=".decode('base64')
@@ -93,8 +94,10 @@ def getInfo(urls):
class UploadedTo(Hoster):
__name__ = "UploadedTo"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?(uploaded\.(to|net)|ul\.to)(/file/|/?\?id=|.*?&id=|/)(?P<ID>\w+)'
__version__ = "0.73"
+
+ __pattern__ = r'https?://(?:www\.)?(uploaded\.(to|net)|ul\.to)(/file/|/?\?id=|.*?&id=|/)(?P<ID>\w+)'
+
__description__ = """Uploaded.net hoster plugin"""
__author_name__ = ("spoob", "mkaay", "zoidberg", "netpok", "stickell")
__author_mail__ = ("spoob@pyload.org", "mkaay@mkaay.de", "zoidberg@mujmail.cz",
@@ -104,6 +107,7 @@ class UploadedTo(Hoster):
OFFLINE_PATTERN = r'<small class="cL">Error: 404</small>'
DL_LIMIT_PATTERN = r'You have reached the max. number of possible free downloads for this hour'
+
def setup(self):
self.multiDL = self.resumeDownload = self.premium
self.chunkLimit = 1 # critical problems with more chunks
diff --git a/module/plugins/hoster/UploadheroCom.py b/module/plugins/hoster/UploadheroCom.py
index 05f8e1199..e34701ed7 100644
--- a/module/plugins/hoster/UploadheroCom.py
+++ b/module/plugins/hoster/UploadheroCom.py
@@ -1,32 +1,20 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
-# Test link (random.bin):
+#
+# Test links:
# http://uploadhero.co/dl/wQBRAVSM
import re
+
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class UploadheroCom(SimpleHoster):
__name__ = "UploadheroCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?uploadhero\.com?/dl/\w+'
__version__ = "0.15"
+
+ __pattern__ = r'http://(?:www\.)?uploadhero\.com?/dl/\w+'
+
__description__ = """UploadHero.co plugin"""
__author_name__ = ("mcmyst", "zoidberg")
__author_mail__ = ("mcmyst@hotmail.fr", "zoidberg@mujmail.cz")
diff --git a/module/plugins/hoster/UploadingCom.py b/module/plugins/hoster/UploadingCom.py
index 1c6583c12..ac7226ec7 100644
--- a/module/plugins/hoster/UploadingCom.py
+++ b/module/plugins/hoster/UploadingCom.py
@@ -1,32 +1,20 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
+
from pycurl import HTTPHEADER
-from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo, timestamp
from module.common.json_layer import json_loads
+from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo, timestamp
class UploadingCom(SimpleHoster):
__name__ = "UploadingCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?uploading\.com/files/(?:get/)?(?P<ID>[\w\d]+)'
__version__ = "0.35"
+
+ __pattern__ = r'http://(?:www\.)?uploading\.com/files/(?:get/)?(?P<ID>[\w\d]+)'
+
__description__ = """Uploading.com hoster plugin"""
__author_name__ = ("jeix", "mkaay", "zoidberg")
__author_mail__ = ("jeix@hasnomail.de", "mkaay@mkaay.de", "zoidberg@mujmail.cz")
@@ -35,6 +23,7 @@ class UploadingCom(SimpleHoster):
FILE_SIZE_PATTERN = r'size tip_container">(?P<S>[\d.]+) (?P<U>\w+)<'
OFFLINE_PATTERN = r'Page not found!'
+
def process(self, pyfile):
# set lang to english
self.req.cj.setCookie(".uploading.com", "lang", "1")
diff --git a/module/plugins/hoster/UpstoreNet.py b/module/plugins/hoster/UpstoreNet.py
index 99aa25b48..140024731 100644
--- a/module/plugins/hoster/UpstoreNet.py
+++ b/module/plugins/hoster/UpstoreNet.py
@@ -1,15 +1,18 @@
# -*- coding: utf-8 -*-
+
import re
-from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
from module.plugins.internal.CaptchaService import ReCaptcha
+from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class UpstoreNet(SimpleHoster):
__name__ = "UpstoreNet"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?upstore\.net/'
__version__ = "0.02"
+
+ __pattern__ = r'https?://(?:www\.)?upstore\.net/'
+
__description__ = """Upstore.Net File Download Hoster"""
__author_name__ = "igel"
__author_mail__ = "igelkun@myopera.com"
diff --git a/module/plugins/hoster/UptoboxCom.py b/module/plugins/hoster/UptoboxCom.py
index 20a2d675a..6d86c5559 100644
--- a/module/plugins/hoster/UptoboxCom.py
+++ b/module/plugins/hoster/UptoboxCom.py
@@ -1,20 +1,7 @@
# -*- coding: utf-8 -*-
-###############################################################################
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-###############################################################################
import re
+
from urllib import unquote
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo
@@ -25,8 +12,10 @@ from module.utils import html_unescape
class UptoboxCom(XFileSharingPro):
__name__ = "UptoboxCom"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?uptobox\.com/\w+'
__version__ = "0.09"
+
+ __pattern__ = r'https?://(?:www\.)?uptobox\.com/\w+'
+
__description__ = """Uptobox.com hoster plugin"""
__author_name__ = "Walter Purcaro"
__author_mail__ = "vuolter@gmail.com"
@@ -41,6 +30,7 @@ class UptoboxCom(XFileSharingPro):
LINK_PATTERN = r'"(https?://\w+\.uptobox\.com/d/.*?)"'
+
def handleCaptcha(self, inputs):
m = re.search(self.SOLVEMEDIA_PATTERN, self.html)
if m:
diff --git a/module/plugins/hoster/VeehdCom.py b/module/plugins/hoster/VeehdCom.py
index 15cff646f..66c258439 100644
--- a/module/plugins/hoster/VeehdCom.py
+++ b/module/plugins/hoster/VeehdCom.py
@@ -1,20 +1,24 @@
# -*- coding: utf-8 -*-
import re
+
from module.plugins.Hoster import Hoster
class VeehdCom(Hoster):
__name__ = "VeehdCom"
__type__ = "hoster"
+ __version__ = "0.23"
+
__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.23"
+
__description__ = """Veehd.com hoster plugin"""
__author_name__ = "cat"
__author_mail__ = "cat@pyload"
+
def _debug(self, msg):
self.logDebug('[%s] %s' % (self.__name__, msg))
diff --git a/module/plugins/hoster/VeohCom.py b/module/plugins/hoster/VeohCom.py
index 9dbc9b8ad..fcd5e90a4 100644
--- a/module/plugins/hoster/VeohCom.py
+++ b/module/plugins/hoster/VeohCom.py
@@ -1,18 +1,4 @@
# -*- coding: utf-8 -*-
-############################################################################
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-############################################################################
import re
@@ -22,9 +8,11 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class VeohCom(SimpleHoster):
__name__ = "VeohCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?veoh\.com/(tv/)?(watch|videos)/(?P<ID>v\w+)'
__version__ = "0.2"
+
+ __pattern__ = r'http://(?:www\.)?veoh\.com/(tv/)?(watch|videos)/(?P<ID>v\w+)'
__config__ = [("quality", "Low;High;Auto", "Quality", "Auto")]
+
__description__ = """Veoh.com hoster plugin"""
__author_name__ = "Walter Purcaro"
__author_mail__ = "vuolter@gmail.com"
@@ -36,6 +24,7 @@ class VeohCom(SimpleHoster):
SH_COOKIES = [(".veoh.com", "lassieLocale", "en")]
+
def setup(self):
self.resumeDownload = self.multiDL = True
self.chunkLimit = -1
diff --git a/module/plugins/hoster/VidPlayNet.py b/module/plugins/hoster/VidPlayNet.py
index 3407f4349..eb7a13e4c 100644
--- a/module/plugins/hoster/VidPlayNet.py
+++ b/module/plugins/hoster/VidPlayNet.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-
+#
# Test links:
# BigBuckBunny_320x180.mp4 - 61.7 Mb - http://vidplay.net/38lkev0h3jv0
@@ -9,8 +9,10 @@ from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInf
class VidPlayNet(XFileSharingPro):
__name__ = "VidPlayNet"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?vidplay\.net/\w{12}'
__version__ = "0.01"
+
+ __pattern__ = r'https?://(?:www\.)?vidplay\.net/\w{12}'
+
__description__ = """VidPlay.net hoster plugin"""
__author_name__ = "t4skforce"
__author_mail__ = "t4skforce1337[AT]gmail[DOT]com"
diff --git a/module/plugins/hoster/VimeoCom.py b/module/plugins/hoster/VimeoCom.py
index 2c7f4b9c3..7fa675715 100644
--- a/module/plugins/hoster/VimeoCom.py
+++ b/module/plugins/hoster/VimeoCom.py
@@ -1,18 +1,4 @@
# -*- coding: utf-8 -*-
-############################################################################
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-############################################################################
import re
@@ -22,10 +8,12 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class VimeoCom(SimpleHoster):
__name__ = "VimeoCom"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?(player\.)?vimeo\.com/(video/)?(?P<ID>\d+)'
__version__ = "0.01"
+
+ __pattern__ = r'https?://(?:www\.)?(player\.)?vimeo\.com/(video/)?(?P<ID>\d+)'
__config__ = [("quality", "Lowest;Mobile;SD;HD;Highest", "Quality", "Highest"),
("original", "bool", "Try to download the original file first", True)]
+
__description__ = """Vimeo.com hoster plugin"""
__author_name__ = "Walter Purcaro"
__author_mail__ = "vuolter@gmail.com"
diff --git a/module/plugins/hoster/Vipleech4uCom.py b/module/plugins/hoster/Vipleech4uCom.py
index d4ccf997a..da7131d39 100644
--- a/module/plugins/hoster/Vipleech4uCom.py
+++ b/module/plugins/hoster/Vipleech4uCom.py
@@ -5,9 +5,11 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
class Vipleech4uCom(DeadHoster):
__name__ = "Vipleech4uCom"
- __version__ = "0.2"
__type__ = "hoster"
+ __version__ = "0.2"
+
__pattern__ = r'http://(?:www\.)?vipleech4u\.com/manager\.php'
+
__description__ = """Vipleech4u.com hoster plugin"""
__author_name__ = "Kagenoshin"
__author_mail__ = "kagenoshin@gmx.ch"
diff --git a/module/plugins/hoster/WarserverCz.py b/module/plugins/hoster/WarserverCz.py
index 73c5b6bc7..8a565d777 100644
--- a/module/plugins/hoster/WarserverCz.py
+++ b/module/plugins/hoster/WarserverCz.py
@@ -6,8 +6,10 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
class WarserverCz(DeadHoster):
__name__ = "WarserverCz"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?warserver\.cz/stahnout/\d+'
__version__ = "0.13"
+
+ __pattern__ = r'http://(?:www\.)?warserver\.cz/stahnout/\d+'
+
__description__ = """Warserver.cz hoster plugin"""
__author_name__ = "Walter Purcaro"
__author_mail__ = "vuolter@gmail.com"
diff --git a/module/plugins/hoster/WebshareCz.py b/module/plugins/hoster/WebshareCz.py
index 64691ad69..a3918d5c4 100644
--- a/module/plugins/hoster/WebshareCz.py
+++ b/module/plugins/hoster/WebshareCz.py
@@ -1,23 +1,9 @@
# -*- coding: utf-8 -*-
-############################################################################
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU Affero 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 Affero General Public License for more details. #
-# #
-# You should have received a copy of the GNU Affero General Public License #
-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
-############################################################################
import re
-from module.plugins.internal.SimpleHoster import SimpleHoster
from module.network.RequestFactory import getRequest
+from module.plugins.internal.SimpleHoster import SimpleHoster
def getInfo(urls):
@@ -38,12 +24,15 @@ def getInfo(urls):
class WebshareCz(SimpleHoster):
__name__ = "WebshareCz"
__type__ = "hoster"
- __pattern__ = r'https?://(?:www\.)?webshare.cz/(?:#/)?file/(?P<ID>\w+)'
__version__ = "0.13"
+
+ __pattern__ = r'https?://(?:www\.)?webshare.cz/(?:#/)?file/(?P<ID>\w+)'
+
__description__ = """WebShare.cz hoster plugin"""
__author_name__ = "stickell"
__author_mail__ = "l.stickell@yahoo.it"
+
def handleFree(self):
api_data = self.load('https://webshare.cz/api/file_link/', post={'ident': self.fid})
self.logDebug("API data: " + api_data)
diff --git a/module/plugins/hoster/WrzucTo.py b/module/plugins/hoster/WrzucTo.py
index 3bcd8dccc..3b26b1a02 100644
--- a/module/plugins/hoster/WrzucTo.py
+++ b/module/plugins/hoster/WrzucTo.py
@@ -1,21 +1,7 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
+
from pycurl import HTTPHEADER
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
@@ -24,8 +10,10 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class WrzucTo(SimpleHoster):
__name__ = "WrzucTo"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?wrzuc\.to/([a-zA-Z0-9]+(\.wt|\.html)|(\w+/?linki/[a-zA-Z0-9]+))'
__version__ = "0.01"
+
+ __pattern__ = r'http://(?:www\.)?wrzuc\.to/([a-zA-Z0-9]+(\.wt|\.html)|(\w+/?linki/[a-zA-Z0-9]+))'
+
__description__ = """Wrzuc.to hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
diff --git a/module/plugins/hoster/WuploadCom.py b/module/plugins/hoster/WuploadCom.py
index a0228081c..b06318d42 100644
--- a/module/plugins/hoster/WuploadCom.py
+++ b/module/plugins/hoster/WuploadCom.py
@@ -6,8 +6,10 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
class WuploadCom(DeadHoster):
__name__ = "WuploadCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?wupload\..*?/file/(([a-z][0-9]+/)?[0-9]+)(/.*)?'
__version__ = "0.23"
+
+ __pattern__ = r'http://(?:www\.)?wupload\..*?/file/(([a-z][0-9]+/)?[0-9]+)(/.*)?'
+
__description__ = """Wupload.com hoster plugin"""
__author_name__ = ("jeix", "Paul King")
__author_mail__ = ("jeix@hasnomail.de", "")
diff --git a/module/plugins/hoster/X7To.py b/module/plugins/hoster/X7To.py
index 810ede911..cbd4b8b8e 100644
--- a/module/plugins/hoster/X7To.py
+++ b/module/plugins/hoster/X7To.py
@@ -6,8 +6,10 @@ from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
class X7To(DeadHoster):
__name__ = "X7To"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?x7.to/'
__version__ = "0.41"
+
+ __pattern__ = r'http://(?:www\.)?x7.to/'
+
__description__ = """X7.to hoster plugin"""
__author_name__ = "ernieb"
__author_mail__ = "ernieb"
diff --git a/module/plugins/hoster/XFileSharingPro.py b/module/plugins/hoster/XFileSharingPro.py
index 7ad2d27c0..32d0272bc 100644
--- a/module/plugins/hoster/XFileSharingPro.py
+++ b/module/plugins/hoster/XFileSharingPro.py
@@ -1,29 +1,16 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-###############################################################################
-
import re
+
+from pycurl import FOLLOWLOCATION, LOW_SPEED_TIME
from random import random
from urllib import unquote
from urlparse import urlparse
-from pycurl import FOLLOWLOCATION, LOW_SPEED_TIME
-from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo, PluginParseError, replace_patterns
+
+from module.network.RequestFactory import getURL
from module.plugins.internal.CaptchaService import ReCaptcha, SolveMedia
+from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo, PluginParseError, replace_patterns
from module.utils import html_unescape
-from module.network.RequestFactory import getURL
class XFileSharingPro(SimpleHoster):
@@ -34,8 +21,10 @@ class XFileSharingPro(SimpleHoster):
"""
__name__ = "XFileSharingPro"
__type__ = "hoster"
- __pattern__ = r'^unmatchable$'
__version__ = "0.31"
+
+ __pattern__ = r'^unmatchable$'
+
__description__ = """XFileSharingPro base hoster plugin"""
__author_name__ = ("zoidberg", "stickell")
__author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it")
diff --git a/module/plugins/hoster/XHamsterCom.py b/module/plugins/hoster/XHamsterCom.py
index 9c93d4ee1..3e002a0bb 100644
--- a/module/plugins/hoster/XHamsterCom.py
+++ b/module/plugins/hoster/XHamsterCom.py
@@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
import re
+
from urllib import unquote
-from module.plugins.Hoster import Hoster
from module.common.json_layer import json_loads
+from module.plugins.Hoster import Hoster
def clean_json(json_expr):
@@ -18,10 +19,15 @@ def clean_json(json_expr):
class XHamsterCom(Hoster):
__name__ = "XHamsterCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?xhamster\.com/movies/.+'
__version__ = "0.12"
+
+ __pattern__ = r'http://(?:www\.)?xhamster\.com/movies/.+'
__config__ = [("type", ".mp4;.flv", "Preferred type", ".mp4")]
+
__description__ = """XHamster.com hoster plugin"""
+ __author_name__ = None
+ __author_mail__ = None
+
def process(self, pyfile):
self.pyfile = pyfile
diff --git a/module/plugins/hoster/XVideosCom.py b/module/plugins/hoster/XVideosCom.py
index 76dfdadad..4f2611740 100644
--- a/module/plugins/hoster/XVideosCom.py
+++ b/module/plugins/hoster/XVideosCom.py
@@ -1,23 +1,28 @@
# -*- coding: utf-8 -*-
import re
-import urllib
+
+from urllib import unquote
from module.plugins.Hoster import Hoster
class XVideosCom(Hoster):
__name__ = "XVideos.com"
+ __type__ = "hoster"
__version__ = "0.1"
+
__pattern__ = r'http://(?:www\.)?xvideos\.com/video([0-9]+)/.*'
+
__description__ = """XVideos.com hoster plugin"""
__author_name__ = None
__author_mail__ = None
+
def process(self, pyfile):
site = self.load(pyfile.url)
pyfile.name = "%s (%s).flv" % (
re.search(r"<h2>([^<]+)<span", site).group(1),
re.match(self.__pattern__, pyfile.url).group(1),
)
- self.download(urllib.unquote(re.search(r"flv_url=([^&]+)&", site).group(1)))
+ self.download(unquote(re.search(r"flv_url=([^&]+)&", site).group(1)))
diff --git a/module/plugins/hoster/Xdcc.py b/module/plugins/hoster/Xdcc.py
index 8f3fb284f..a26e239ad 100644
--- a/module/plugins/hoster/Xdcc.py
+++ b/module/plugins/hoster/Xdcc.py
@@ -1,46 +1,33 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
-from os.path import join
-from os.path import exists
-from os import makedirs
import re
-import sys
-import time
import socket
import struct
+import sys
+import time
+
+from os import makedirs
+from os.path import exists, join
from select import select
-from module.utils import save_join
from module.plugins.Hoster import Hoster
+from module.utils import save_join
class Xdcc(Hoster):
__name__ = "Xdcc"
- __version__ = "0.32"
- __pattern__ = r'xdcc://([^/]*?)(/#?.*?)?/.*?/#?\d+/?' # xdcc://irc.Abjects.net/#channel/[XDCC]|Shit/#0004/
__type__ = "hoster"
+ __version__ = "0.32"
+
__config__ = [("nick", "str", "Nickname", "pyload"),
("ident", "str", "Ident", "pyloadident"),
("realname", "str", "Realname", "pyloadreal")]
+
__description__ = """Download from IRC XDCC bot"""
__author_name__ = "jeix"
__author_mail__ = "jeix@hasnomail.com"
+
def setup(self):
self.debug = 0 # 0,1,2
self.timeout = 30
@@ -75,11 +62,6 @@ class Xdcc(Hoster):
def doDownload(self, url):
self.pyfile.setStatus("waiting") # real link
- download_folder = self.config['general']['download_folder']
- location = join(download_folder, self.pyfile.package().folder.decode(sys.getfilesystemencoding()))
- if not exists(location):
- makedirs(location)
-
m = re.match(r'xdcc://(.*?)/#?(.*?)/(.*?)/#?(\d+)/?', url)
server = m.group(1)
chan = m.group(2)
@@ -203,7 +185,10 @@ class Xdcc(Hoster):
self.req.filesize = int(m.group(4))
self.pyfile.name = packname
- filename = save_join(location, packname)
+
+ download_folder = self.config['general']['download_folder']
+ filename = save_join(download_folder, packname)
+
self.logInfo("XDCC: Downloading %s from %s:%d" % (packname, ip, port))
self.pyfile.setStatus("downloading")
diff --git a/module/plugins/hoster/YibaishiwuCom.py b/module/plugins/hoster/YibaishiwuCom.py
index 44a67ec0c..c6c285367 100644
--- a/module/plugins/hoster/YibaishiwuCom.py
+++ b/module/plugins/hoster/YibaishiwuCom.py
@@ -1,30 +1,18 @@
# -*- 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 <http://www.gnu.org/licenses/>.
-"""
-
import re
-from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
+
from module.common.json_layer import json_loads
+from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class YibaishiwuCom(SimpleHoster):
__name__ = "YibaishiwuCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?(?:u\.)?115.com/file/(?P<ID>\w+)'
__version__ = "0.12"
+
+ __pattern__ = r'http://(?:www\.)?(?:u\.)?115.com/file/(?P<ID>\w+)'
+
__description__ = """115.com hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
@@ -45,7 +33,7 @@ class YibaishiwuCom(SimpleHoster):
response = json_loads(self.load("http://115.com" + url, decode=False))
if "urls" in response:
- mirrors = response['urls']
+ mirrors = response['urls']
elif "data" in response:
mirrors = response['data']
else:
diff --git a/module/plugins/hoster/YoupornCom.py b/module/plugins/hoster/YoupornCom.py
index f8f782f1c..23b9b0a20 100644
--- a/module/plugins/hoster/YoupornCom.py
+++ b/module/plugins/hoster/YoupornCom.py
@@ -1,18 +1,22 @@
# -*- coding: utf-8 -*-
import re
+
from module.plugins.Hoster import Hoster
class YoupornCom(Hoster):
__name__ = "YoupornCom"
__type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?youporn\.com/watch/.+'
__version__ = "0.2"
+
+ __pattern__ = r'http://(?:www\.)?youporn\.com/watch/.+'
+
__description__ = """Youporn.com hoster plugin"""
__author_name__ = "willnix"
__author_mail__ = "willnix@pyload.org"
+
def process(self, pyfile):
self.pyfile = pyfile
diff --git a/module/plugins/hoster/YourfilesTo.py b/module/plugins/hoster/YourfilesTo.py
index 3fb517eef..bdb91819f 100644
--- a/module/plugins/hoster/YourfilesTo.py
+++ b/module/plugins/hoster/YourfilesTo.py
@@ -1,19 +1,24 @@
# -*- coding: utf-8 -*-
import re
-import urllib
+
+from urllib import unquote
+
from module.plugins.Hoster import Hoster
class YourfilesTo(Hoster):
__name__ = "YourfilesTo"
__type__ = "hoster"
- __pattern__ = r'(http://)?(?:www\.)?yourfiles\.(to|biz)/\?d=[a-zA-Z0-9]+'
__version__ = "0.21"
+
+ __pattern__ = r'(http://)?(?:www\.)?yourfiles\.(to|biz)/\?d=[a-zA-Z0-9]+'
+
__description__ = """Youfiles.to hoster plugin"""
__author_name__ = ("jeix", "skydancer")
__author_mail__ = ("jeix@hasnomail.de", "skydancer@hasnomail.de")
+
def process(self, pyfile):
self.pyfile = pyfile
self.prepare()
@@ -53,7 +58,7 @@ class YourfilesTo(Hoster):
url = re.search(r"var bla = '(.*?)';", self.html)
if url:
url = url.group(1)
- url = urllib.unquote(url.replace("http://http:/http://", "http://").replace("dumdidum", ""))
+ url = unquote(url.replace("http://http:/http://", "http://").replace("dumdidum", ""))
return url
else:
self.fail("absolute filepath could not be found. offline? ")
diff --git a/module/plugins/hoster/YoutubeCom.py b/module/plugins/hoster/YoutubeCom.py
index d9dc5e0ef..5ffef5531 100644
--- a/module/plugins/hoster/YoutubeCom.py
+++ b/module/plugins/hoster/YoutubeCom.py
@@ -1,13 +1,14 @@
# -*- coding: utf-8 -*-
+import os
import re
import subprocess
-import os
+
from urllib import unquote
-from module.utils import html_unescape
from module.plugins.Hoster import Hoster
from module.plugins.internal.SimpleHoster import replace_patterns
+from module.utils import html_unescape
def which(program):
@@ -35,8 +36,9 @@ def which(program):
class YoutubeCom(Hoster):
__name__ = "YoutubeCom"
__type__ = "hoster"
- __pattern__ = r'https?://(?:[^/]*\.)?(?:youtube\.com|youtu\.be)/watch.*?[?&]v=.*'
__version__ = "0.40"
+
+ __pattern__ = r'https?://(?:[^/]*\.)?(?:youtube\.com|youtu\.be)/watch.*?[?&]v=.*'
__config__ = [("quality", "sd;hd;fullhd;240p;360p;480p;720p;1080p;3072p", "Quality Setting", "hd"),
("fmt", "int", "FMT/ITAG Number (5-102, 0 for auto)", 0),
(".mp4", "bool", "Allow .mp4", True),
@@ -44,6 +46,7 @@ class YoutubeCom(Hoster):
(".webm", "bool", "Allow .webm", False),
(".3gp", "bool", "Allow .3gp", False),
("3d", "bool", "Prefer 3D", False)]
+
__description__ = """Youtube.com hoster plugin"""
__author_name__ = ("spoob", "zoidberg")
__author_mail__ = ("spoob@pyload.org", "zoidberg@mujmail.cz")
@@ -76,6 +79,7 @@ class YoutubeCom(Hoster):
101: (".webm", 640, 360, 4, True),
102: (".webm", 1280, 720, 8, True)}
+
def setup(self):
self.resumeDownload = self.multiDL = True
diff --git a/module/plugins/hoster/ZDF.py b/module/plugins/hoster/ZDF.py
index 3c9c6ce9a..d51a16a80 100644
--- a/module/plugins/hoster/ZDF.py
+++ b/module/plugins/hoster/ZDF.py
@@ -1,23 +1,27 @@
# -*- coding: utf-8 -*-
import re
+
from xml.etree.ElementTree import fromstring
from module.plugins.Hoster import Hoster
-XML_API = "http://www.zdf.de/ZDFmediathek/xmlservice/web/beitragsDetails?id=%i"
-
+# Based on zdfm by Roland Beermann (http://github.com/enkore/zdfm/)
class ZDF(Hoster):
- # Based on zdfm by Roland Beermann
- # http://github.com/enkore/zdfm/
__name__ = "ZDF Mediathek"
+ __type__ = "hoster"
__version__ = "0.8"
+
__pattern__ = r'http://(?:www\.)?zdf\.de/ZDFmediathek/[^0-9]*([0-9]+)[^0-9]*'
+
__description__ = """ZDF.de hoster plugin"""
__author_name__ = None
__author_mail__ = None
+ XML_API = "http://www.zdf.de/ZDFmediathek/xmlservice/web/beitragsDetails?id=%i"
+
+
@staticmethod
def video_key(video):
return (
@@ -35,7 +39,7 @@ class ZDF(Hoster):
return int(re.search(r"[^0-9]*([0-9]{4,})[^0-9]*", url).group(1))
def process(self, pyfile):
- xml = fromstring(self.load(XML_API % self.get_id(pyfile.url)))
+ xml = fromstring(self.load(self.XML_API % self.get_id(pyfile.url)))
status = xml.findtext("./status/statuscode")
if status != "ok":
diff --git a/module/plugins/hoster/ZeveraCom.py b/module/plugins/hoster/ZeveraCom.py
index d3d67bedc..b6b59b242 100644
--- a/module/plugins/hoster/ZeveraCom.py
+++ b/module/plugins/hoster/ZeveraCom.py
@@ -5,13 +5,16 @@ from module.plugins.Hoster import Hoster
class ZeveraCom(Hoster):
__name__ = "ZeveraCom"
- __version__ = "0.21"
__type__ = "hoster"
+ __version__ = "0.21"
+
__pattern__ = r'http://(?:www\.)?zevera.com/.*'
+
__description__ = """Zevera.com hoster plugin"""
__author_name__ = "zoidberg"
__author_mail__ = "zoidberg@mujmail.cz"
+
def setup(self):
self.resumeDownload = self.multiDL = True
self.chunkLimit = 1
diff --git a/module/plugins/hoster/ZippyshareCom.py b/module/plugins/hoster/ZippyshareCom.py
index 0c04d68e5..33a672198 100644
--- a/module/plugins/hoster/ZippyshareCom.py
+++ b/module/plugins/hoster/ZippyshareCom.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
-
-# Test links (random.bin):
+#
+# Test links:
# http://www13.zippyshare.com/v/18665333/file.html
import re
@@ -11,8 +11,10 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class ZippyshareCom(SimpleHoster):
__name__ = "ZippyshareCom"
__type__ = "hoster"
- __pattern__ = r'(?P<HOST>http://www\d{0,2}\.zippyshare.com)/v(?:/|iew.jsp.*key=)(?P<KEY>\d+)'
__version__ = "0.49"
+
+ __pattern__ = r'(?P<HOST>http://www\d{0,2}\.zippyshare.com)/v(?:/|iew.jsp.*key=)(?P<KEY>\d+)'
+
__description__ = """Zippyshare.com hoster plugin"""
__author_name__ = ("spoob", "zoidberg", "stickell", "skylab")
__author_mail__ = ("spoob@pyload.org", "zoidberg@mujmail.cz", "l.stickell@yahoo.it", "development@sky-lab.de")