From ba916633f2bedb04c7358000b91aed69f52e8e43 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Fri, 1 Aug 2014 19:35:59 +0200 Subject: Remove trailing whitespaces + remove license headers + import urllib methods directly + sort and fix key attributes + use save_join instead join + sort some import declarations + other minor code cosmetics --- module/plugins/Account.py | 22 ++---------- module/plugins/AccountManager.py | 17 --------- module/plugins/Container.py | 35 ++++++------------- module/plugins/Crypter.py | 22 +++--------- module/plugins/Hook.py | 28 ++++----------- module/plugins/Hoster.py | 22 +++--------- module/plugins/Plugin.py | 23 +++---------- module/plugins/PluginManager.py | 22 ++---------- module/plugins/accounts/AlldebridCom.py | 14 ++++---- module/plugins/accounts/BayfilesCom.py | 17 +-------- module/plugins/accounts/BitshareCom.py | 17 +-------- module/plugins/accounts/CramitIn.py | 2 +- module/plugins/accounts/CyberlockerCh.py | 2 +- module/plugins/accounts/CzshareCom.py | 17 +-------- module/plugins/accounts/DdlstorageCom.py | 2 +- module/plugins/accounts/DebridItaliaCom.py | 16 +-------- module/plugins/accounts/DepositfilesCom.py | 2 +- module/plugins/accounts/EasybytezCom.py | 17 +-------- module/plugins/accounts/EgoFilesCom.py | 2 +- module/plugins/accounts/EuroshareEu.py | 17 +-------- module/plugins/accounts/FastixRu.py | 2 +- module/plugins/accounts/FastshareCz.py | 17 +-------- module/plugins/accounts/File4safeCom.py | 2 +- module/plugins/accounts/FilecloudIo.py | 17 +-------- module/plugins/accounts/FilefactoryCom.py | 16 +-------- module/plugins/accounts/FilejungleCom.py | 17 +-------- module/plugins/accounts/FilerNet.py | 16 +-------- module/plugins/accounts/FilerioCom.py | 2 +- module/plugins/accounts/FilesMailRu.py | 17 +-------- module/plugins/accounts/FileserveCom.py | 17 +-------- module/plugins/accounts/FourSharedCom.py | 17 +-------- module/plugins/accounts/FreakshareCom.py | 16 +-------- module/plugins/accounts/FreeWayMe.py | 17 +-------- module/plugins/accounts/FshareVn.py | 17 +-------- module/plugins/accounts/Ftp.py | 2 +- module/plugins/accounts/HellshareCz.py | 17 +-------- module/plugins/accounts/HotfileCom.py | 17 +-------- module/plugins/accounts/Http.py | 2 +- module/plugins/accounts/LetitbitNet.py | 16 +-------- module/plugins/accounts/LinksnappyCom.py | 2 +- module/plugins/accounts/MegaDebridEu.py | 16 +-------- module/plugins/accounts/MegasharesCom.py | 2 +- module/plugins/accounts/MovReelCom.py | 2 +- module/plugins/accounts/MultiDebridCom.py | 16 +-------- module/plugins/accounts/MultishareCz.py | 17 +-------- module/plugins/accounts/NetloadIn.py | 17 +-------- module/plugins/accounts/OboomCom.py | 5 +-- module/plugins/accounts/OneFichierCom.py | 2 +- module/plugins/accounts/OverLoadMe.py | 2 +- module/plugins/accounts/Premium4Me.py | 2 +- module/plugins/accounts/PremiumizeMe.py | 2 +- module/plugins/accounts/QuickshareCz.py | 17 +-------- module/plugins/accounts/RPNetBiz.py | 2 +- module/plugins/accounts/RapidgatorNet.py | 17 +-------- module/plugins/accounts/RapidshareCom.py | 17 +-------- module/plugins/accounts/RarefileNet.py | 2 +- module/plugins/accounts/RealdebridCom.py | 2 +- module/plugins/accounts/RehostTo.py | 2 +- module/plugins/accounts/RyushareCom.py | 2 +- module/plugins/accounts/ShareRapidCom.py | 2 +- module/plugins/accounts/ShareonlineBiz.py | 17 +-------- module/plugins/accounts/SimplyPremiumCom.py | 16 +-------- module/plugins/accounts/SimplydebridCom.py | 2 +- module/plugins/accounts/StahnuTo.py | 17 +-------- module/plugins/accounts/TurbobitNet.py | 17 +-------- module/plugins/accounts/UlozTo.py | 2 +- module/plugins/accounts/UnrestrictLi.py | 16 +-------- module/plugins/accounts/UploadedTo.py | 17 +-------- module/plugins/accounts/UploadheroCom.py | 2 +- module/plugins/accounts/UploadingCom.py | 17 +-------- module/plugins/accounts/UptoboxCom.py | 2 +- module/plugins/accounts/YibaishiwuCom.py | 17 +-------- module/plugins/accounts/ZeveraCom.py | 2 +- module/plugins/captcha/GigasizeCom.py | 4 +-- module/plugins/captcha/LinksaveIn.py | 4 +-- module/plugins/captcha/NetloadIn.py | 4 +-- module/plugins/captcha/ShareonlineBiz.py | 4 +-- module/plugins/captcha/captcha.py | 46 +++++-------------------- module/plugins/container/CCF.py | 9 +++-- module/plugins/crypter/BitshareComFolder.py | 16 +-------- module/plugins/crypter/C1neonCom.py | 2 +- module/plugins/crypter/ChipDe.py | 2 +- module/plugins/crypter/CrockoComFolder.py | 2 +- module/plugins/crypter/CryptItCom.py | 2 +- module/plugins/crypter/CzshareComFolder.py | 2 +- module/plugins/crypter/DDLMusicOrg.py | 2 +- module/plugins/crypter/DailymotionBatch.py | 18 ++-------- module/plugins/crypter/DataHuFolder.py | 16 +-------- module/plugins/crypter/DdlstorageComFolder.py | 16 +-------- module/plugins/crypter/DepositfilesComFolder.py | 2 +- module/plugins/crypter/Dereferer.py | 22 +++--------- module/plugins/crypter/DlProtectCom.py | 16 +-------- module/plugins/crypter/DontKnowMe.py | 7 ++-- module/plugins/crypter/DuckCryptInfo.py | 4 ++- module/plugins/crypter/DuploadOrgFolder.py | 16 +-------- module/plugins/crypter/EasybytezComFolder.py | 16 +-------- module/plugins/crypter/EmbeduploadCom.py | 2 +- module/plugins/crypter/FilebeerInfoFolder.py | 2 +- module/plugins/crypter/FilecloudIoFolder.py | 16 +-------- module/plugins/crypter/FilefactoryComFolder.py | 2 +- module/plugins/crypter/FilerNetFolder.py | 2 +- module/plugins/crypter/FileserveComFolder.py | 2 +- module/plugins/crypter/FilestubeCom.py | 16 +-------- module/plugins/crypter/FiletramCom.py | 16 +-------- module/plugins/crypter/FiredriveComFolder.py | 16 +-------- module/plugins/crypter/FourChanOrg.py | 6 ++-- module/plugins/crypter/FreakhareComFolder.py | 16 +-------- module/plugins/crypter/FreetexthostCom.py | 16 +-------- module/plugins/crypter/FshareVnFolder.py | 2 +- module/plugins/crypter/GooGl.py | 16 +-------- module/plugins/crypter/HoerbuchIn.py | 5 +-- module/plugins/crypter/HotfileFolderCom.py | 2 +- module/plugins/crypter/ILoadTo.py | 2 +- module/plugins/crypter/ImgurComAlbum.py | 2 +- module/plugins/crypter/LetitbitNetFolder.py | 2 +- module/plugins/crypter/LinkSaveIn.py | 5 +-- module/plugins/crypter/LinkdecrypterCom.py | 17 +-------- module/plugins/crypter/LixIn.py | 2 +- module/plugins/crypter/LofCc.py | 2 +- module/plugins/crypter/MBLinkInfo.py | 2 +- module/plugins/crypter/MediafireComFolder.py | 4 +-- module/plugins/crypter/Movie2kTo.py | 2 +- module/plugins/crypter/MultiUpOrg.py | 17 +-------- module/plugins/crypter/MultiloadCz.py | 2 +- module/plugins/crypter/MultiuploadCom.py | 2 +- module/plugins/crypter/NCryptIn.py | 6 ++-- module/plugins/crypter/NetfolderIn.py | 6 ++-- module/plugins/crypter/NosvideoCom.py | 2 +- module/plugins/crypter/OneKhDe.py | 2 +- module/plugins/crypter/OronComFolder.py | 2 +- module/plugins/crypter/PastebinCom.py | 16 +-------- module/plugins/crypter/QuickshareCzFolder.py | 2 +- module/plugins/crypter/RSLayerCom.py | 2 +- module/plugins/crypter/RelinkUs.py | 8 ++--- module/plugins/crypter/SafelinkingNet.py | 6 ++-- module/plugins/crypter/SecuredIn.py | 2 +- module/plugins/crypter/SerienjunkiesOrg.py | 3 +- module/plugins/crypter/ShareLinksBiz.py | 2 +- module/plugins/crypter/ShareRapidComFolder.py | 2 +- module/plugins/crypter/SpeedLoadOrgFolder.py | 16 +-------- module/plugins/crypter/StealthTo.py | 2 +- module/plugins/crypter/TnyCz.py | 17 +-------- module/plugins/crypter/TrailerzoneInfo.py | 2 +- module/plugins/crypter/TurbobitNetFolder.py | 16 +-------- module/plugins/crypter/TusfilesNetFolder.py | 16 +-------- module/plugins/crypter/UlozToFolder.py | 2 +- module/plugins/crypter/UploadedToFolder.py | 16 +-------- module/plugins/crypter/WiiReloadedOrg.py | 2 +- module/plugins/crypter/XupPl.py | 2 +- module/plugins/crypter/YoutubeBatch.py | 17 +-------- module/plugins/hooks/AlldebridCom.py | 4 +-- module/plugins/hooks/BypassCaptcha.py | 28 ++++----------- module/plugins/hooks/Captcha9kw.py | 24 +++---------- module/plugins/hooks/CaptchaBrotherhood.py | 26 ++++---------- module/plugins/hooks/Checksum.py | 23 +++---------- module/plugins/hooks/ClickAndLoad.py | 17 +-------- module/plugins/hooks/DeathByCaptcha.py | 29 +++++----------- module/plugins/hooks/DebridItaliaCom.py | 16 +-------- module/plugins/hooks/DeleteFinished.py | 17 +-------- module/plugins/hooks/DownloadScheduler.py | 18 ++-------- module/plugins/hooks/EasybytezCom.py | 2 +- module/plugins/hooks/Ev0InFetcher.py | 17 ++------- module/plugins/hooks/ExpertDecoders.py | 23 +++---------- module/plugins/hooks/ExternalScripts.py | 18 ++-------- module/plugins/hooks/ExtractArchive.py | 21 ++++++----- module/plugins/hooks/FastixRu.py | 6 ++-- module/plugins/hooks/FreeWayMe.py | 17 +-------- module/plugins/hooks/HotFolder.py | 27 +++------------ module/plugins/hooks/IRCInterface.py | 28 ++++----------- module/plugins/hooks/ImageTyperz.py | 24 ++++--------- module/plugins/hooks/LinkdecrypterCom.py | 19 ++-------- module/plugins/hooks/LinksnappyCom.py | 6 ++-- module/plugins/hooks/MegaDebridEu.py | 20 ++--------- module/plugins/hooks/MergeFiles.py | 30 ++++------------ module/plugins/hooks/MultiDebridCom.py | 20 ++--------- module/plugins/hooks/MultiHome.py | 17 +-------- module/plugins/hooks/MultishareCz.py | 2 +- module/plugins/hooks/OverLoadMe.py | 2 +- module/plugins/hooks/Premium4Me.py | 2 +- module/plugins/hooks/PremiumizeMe.py | 9 +++-- module/plugins/hooks/RPNetBiz.py | 8 ++--- module/plugins/hooks/RealdebridCom.py | 2 +- module/plugins/hooks/RehostTo.py | 2 +- module/plugins/hooks/RestartFailed.py | 16 +-------- module/plugins/hooks/SimplyPremiumCom.py | 16 +-------- module/plugins/hooks/SimplydebridCom.py | 2 +- module/plugins/hooks/UnSkipOnFail.py | 20 ++--------- module/plugins/hooks/UnrestrictLi.py | 20 ++--------- module/plugins/hooks/UpdateManager.py | 4 +-- module/plugins/hooks/WindowsPhoneToastNotify.py | 19 ++-------- module/plugins/hooks/XFileSharingPro.py | 2 +- module/plugins/hooks/XMPPInterface.py | 19 ++-------- module/plugins/hooks/ZeveraCom.py | 2 +- module/plugins/hoster/AlldebridCom.py | 10 ++++-- module/plugins/hoster/BasePlugin.py | 6 ++-- module/plugins/hoster/BayfilesCom.py | 23 ++++--------- module/plugins/hoster/BezvadataCz.py | 21 +++-------- module/plugins/hoster/BillionuploadsCom.py | 4 ++- module/plugins/hoster/BitshareCom.py | 2 +- module/plugins/hoster/BoltsharingCom.py | 4 ++- module/plugins/hoster/CatShareNet.py | 7 ++-- module/plugins/hoster/CloudzerNet.py | 4 ++- module/plugins/hoster/CramitIn.py | 5 ++- module/plugins/hoster/CrockoCom.py | 6 ++-- module/plugins/hoster/CyberlockerCh.py | 4 ++- module/plugins/hoster/CzshareCom.py | 26 ++++---------- module/plugins/hoster/DailymotionCom.py | 22 +++--------- module/plugins/hoster/DataHu.py | 23 ++++--------- module/plugins/hoster/DataportCz.py | 19 ++-------- module/plugins/hoster/DateiTo.py | 23 ++++--------- module/plugins/hoster/DdlstorageCom.py | 10 ++++-- module/plugins/hoster/DebridItaliaCom.py | 19 +++------- module/plugins/hoster/DlFreeFr.py | 10 +++--- module/plugins/hoster/DuploadOrg.py | 18 ++-------- module/plugins/hoster/EasybytezCom.py | 20 +++-------- module/plugins/hoster/EdiskCz.py | 20 +++-------- module/plugins/hoster/EgoFilesCom.py | 24 ++++--------- module/plugins/hoster/EpicShareNet.py | 6 ++-- module/plugins/hoster/EuroshareEu.py | 20 +++-------- module/plugins/hoster/ExtabitCom.py | 22 +++--------- module/plugins/hoster/FastixRu.py | 11 ++++-- module/plugins/hoster/FastshareCz.py | 21 +++-------- module/plugins/hoster/File4safeCom.py | 6 +++- module/plugins/hoster/FileApeCom.py | 4 ++- module/plugins/hoster/FileParadoxIn.py | 4 ++- module/plugins/hoster/FileStoreTo.py | 20 +++-------- module/plugins/hoster/FilebeerInfo.py | 4 ++- module/plugins/hoster/FilecloudIo.py | 22 +++--------- module/plugins/hoster/FilefactoryCom.py | 20 +++-------- module/plugins/hoster/FilejungleCom.py | 19 ++-------- module/plugins/hoster/FileomCom.py | 21 +++-------- module/plugins/hoster/FilepostCom.py | 33 +++++------------- module/plugins/hoster/FilerNet.py | 25 ++++---------- module/plugins/hoster/FilerioCom.py | 5 ++- module/plugins/hoster/FilesMailRu.py | 10 ++++-- module/plugins/hoster/FileserveCom.py | 27 ++++----------- module/plugins/hoster/FileshareInUa.py | 8 +++-- module/plugins/hoster/FilezyNet.py | 6 ++++ module/plugins/hoster/FiredriveCom.py | 18 ++-------- module/plugins/hoster/FlyFilesNet.py | 15 +++++--- module/plugins/hoster/FourSharedCom.py | 4 ++- module/plugins/hoster/FreakshareCom.py | 7 ++-- module/plugins/hoster/FreeWayMe.py | 20 +++-------- module/plugins/hoster/FreevideoCz.py | 2 +- module/plugins/hoster/FshareVn.py | 7 ++-- module/plugins/hoster/Ftp.py | 26 ++++---------- module/plugins/hoster/GamefrontCom.py | 8 +++-- module/plugins/hoster/GigapetaCom.py | 22 +++--------- module/plugins/hoster/GooIm.py | 19 +++------- module/plugins/hoster/HellshareCz.py | 21 +++-------- module/plugins/hoster/HellspyCz.py | 19 ++-------- module/plugins/hoster/HotfileCom.py | 4 ++- module/plugins/hoster/HugefilesNet.py | 22 +++--------- module/plugins/hoster/HundredEightyUploadCom.py | 22 +++--------- module/plugins/hoster/IFileWs.py | 4 ++- module/plugins/hoster/IcyFilesCom.py | 19 ++-------- module/plugins/hoster/IfileIt.py | 23 ++++--------- module/plugins/hoster/IfolderRu.py | 21 +++-------- module/plugins/hoster/JumbofilesCom.py | 6 +++- module/plugins/hoster/Keep2shareCC.py | 25 ++++---------- module/plugins/hoster/LemUploadsCom.py | 6 ++-- module/plugins/hoster/LetitbitNet.py | 32 ++++++----------- module/plugins/hoster/LinksnappyCom.py | 8 +++-- module/plugins/hoster/LoadTo.py | 20 ++--------- module/plugins/hoster/LomafileCom.py | 7 +++- module/plugins/hoster/LuckyShareNet.py | 7 ++-- module/plugins/hoster/MediafireCom.py | 23 ++++--------- module/plugins/hoster/MegaDebridEu.py | 23 ++++--------- module/plugins/hoster/MegaFilesSe.py | 4 ++- module/plugins/hoster/MegaNz.py | 16 ++++----- module/plugins/hoster/MegacrypterCom.py | 5 ++- module/plugins/hoster/MegareleaseOrg.py | 18 ++-------- module/plugins/hoster/MegasharesCom.py | 21 +++-------- module/plugins/hoster/MovReelCom.py | 7 ++-- module/plugins/hoster/MultiDebridCom.py | 21 +++-------- module/plugins/hoster/MultishareCz.py | 22 ++++-------- module/plugins/hoster/MyvideoDe.py | 6 +++- module/plugins/hoster/NarodRu.py | 22 ++++-------- module/plugins/hoster/NetloadIn.py | 10 ++++-- module/plugins/hoster/NosuploadCom.py | 3 ++ module/plugins/hoster/NovafileCom.py | 9 +++-- module/plugins/hoster/NowDownloadEu.py | 20 +++-------- module/plugins/hoster/OboomCom.py | 10 +++--- module/plugins/hoster/OneFichierCom.py | 13 ++++--- module/plugins/hoster/OverLoadMe.py | 10 ++++-- module/plugins/hoster/PandaPlanet.py | 6 ++-- module/plugins/hoster/PornhostCom.py | 6 +++- module/plugins/hoster/PornhubCom.py | 6 +++- module/plugins/hoster/PotloadCom.py | 4 ++- module/plugins/hoster/Premium4Me.py | 8 +++-- module/plugins/hoster/PremiumizeMe.py | 12 +++---- module/plugins/hoster/PromptfileCom.py | 19 +++------- module/plugins/hoster/QuickshareCz.py | 21 +++-------- module/plugins/hoster/RPNetBiz.py | 7 ++-- module/plugins/hoster/RapidgatorNet.py | 22 +++--------- module/plugins/hoster/RapidshareCom.py | 14 +++----- module/plugins/hoster/RarefileNet.py | 5 ++- module/plugins/hoster/RealdebridCom.py | 11 +++--- module/plugins/hoster/RedtubeCom.py | 6 +++- module/plugins/hoster/RehostTo.py | 6 +++- module/plugins/hoster/RemixshareCom.py | 11 +++--- module/plugins/hoster/RgHostNet.py | 6 +++- module/plugins/hoster/RyushareCom.py | 9 +++-- module/plugins/hoster/SecureUploadEu.py | 4 ++- module/plugins/hoster/SendmywayCom.py | 4 ++- module/plugins/hoster/SendspaceCom.py | 20 +++-------- module/plugins/hoster/Share4webCom.py | 4 ++- module/plugins/hoster/Share76Com.py | 4 ++- module/plugins/hoster/ShareFilesCo.py | 4 ++- module/plugins/hoster/ShareRapidCom.py | 2 +- module/plugins/hoster/SharebeesCom.py | 4 ++- module/plugins/hoster/ShareonlineBiz.py | 8 +++-- module/plugins/hoster/ShareplaceCom.py | 11 ++++-- module/plugins/hoster/ShragleCom.py | 4 ++- module/plugins/hoster/SimplyPremiumCom.py | 20 +++-------- module/plugins/hoster/SimplydebridCom.py | 5 ++- module/plugins/hoster/SockshareCom.py | 2 +- module/plugins/hoster/SoundcloudCom.py | 7 ++-- module/plugins/hoster/SpeedLoadOrg.py | 4 ++- module/plugins/hoster/SpeedfileCz.py | 19 ++-------- module/plugins/hoster/StreamCz.py | 19 ++-------- module/plugins/hoster/StreamcloudEu.py | 10 ++++-- module/plugins/hoster/TurbobitNet.py | 32 ++++++----------- module/plugins/hoster/TurbouploadCom.py | 19 ++-------- module/plugins/hoster/TusfilesNet.py | 19 +++------- module/plugins/hoster/TwoSharedCom.py | 4 ++- module/plugins/hoster/UlozTo.py | 23 ++++--------- module/plugins/hoster/UloziskoSk.py | 20 +++-------- module/plugins/hoster/UnibytesCom.py | 21 +++-------- module/plugins/hoster/UnrestrictLi.py | 22 ++++-------- module/plugins/hoster/UploadStationCom.py | 4 ++- module/plugins/hoster/UploadedTo.py | 16 +++++---- module/plugins/hoster/UploadheroCom.py | 24 ++++--------- module/plugins/hoster/UploadingCom.py | 23 ++++--------- module/plugins/hoster/UpstoreNet.py | 7 ++-- module/plugins/hoster/UptoboxCom.py | 20 +++-------- module/plugins/hoster/VeehdCom.py | 6 +++- module/plugins/hoster/VeohCom.py | 19 +++------- module/plugins/hoster/VidPlayNet.py | 6 ++-- module/plugins/hoster/VimeoCom.py | 18 ++-------- module/plugins/hoster/Vipleech4uCom.py | 4 ++- module/plugins/hoster/WarserverCz.py | 4 ++- module/plugins/hoster/WebshareCz.py | 21 +++-------- module/plugins/hoster/WrzucTo.py | 20 +++-------- module/plugins/hoster/WuploadCom.py | 4 ++- module/plugins/hoster/X7To.py | 4 ++- module/plugins/hoster/XFileSharingPro.py | 27 +++++---------- module/plugins/hoster/XHamsterCom.py | 10 ++++-- module/plugins/hoster/XVideosCom.py | 9 +++-- module/plugins/hoster/Xdcc.py | 43 ++++++++--------------- module/plugins/hoster/YibaishiwuCom.py | 24 ++++--------- module/plugins/hoster/YoupornCom.py | 6 +++- module/plugins/hoster/YourfilesTo.py | 11 ++++-- module/plugins/hoster/YoutubeCom.py | 10 ++++-- module/plugins/hoster/ZDF.py | 14 +++++--- module/plugins/hoster/ZeveraCom.py | 5 ++- module/plugins/hoster/ZippyshareCom.py | 8 +++-- module/plugins/internal/AbstractExtractor.py | 1 - module/plugins/internal/CaptchaService.py | 1 + module/plugins/internal/DeadCrypter.py | 2 +- module/plugins/internal/DeadHoster.py | 2 +- module/plugins/internal/MultiHoster.py | 2 +- module/plugins/internal/SimpleCrypter.py | 4 +-- module/plugins/internal/SimpleHoster.py | 25 ++++---------- module/plugins/internal/UnRar.py | 25 ++++---------- module/plugins/internal/UnZip.py | 17 +-------- module/plugins/internal/XFSPAccount.py | 19 ++-------- 367 files changed, 1181 insertions(+), 3194 deletions(-) diff --git a/module/plugins/Account.py b/module/plugins/Account.py index c4d5c982c..bd7f97cba 100644 --- a/module/plugins/Account.py +++ b/module/plugins/Account.py @@ -1,28 +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 . - - @author: mkaay -""" - from random import choice from time import time from traceback import print_exc from threading import RLock -from Plugin import Base +from module.plugins.Plugin import Base from module.utils import compare_time, parseFileSize, lock @@ -37,8 +20,9 @@ class Account(Base): associated hoster plugin. Plugin should also provide `loadAccountInfo` """ __name__ = "Account" - __version__ = "0.3" __type__ = "account" + __version__ = "0.3" + __description__ = """Base account plugin""" __author_name__ = "mkaay" __author_mail__ = "mkaay@mkaay.de" diff --git a/module/plugins/AccountManager.py b/module/plugins/AccountManager.py index 39e613c1a..4b8063002 100644 --- a/module/plugins/AccountManager.py +++ b/module/plugins/AccountManager.py @@ -1,22 +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 . - - @author: RaNaN -""" - from os.path import exists from shutil import copy diff --git a/module/plugins/Container.py b/module/plugins/Container.py index ed201e2e4..63804d713 100644 --- a/module/plugins/Container.py +++ b/module/plugins/Container.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 . +import re - @author: mkaay -""" +from os import remove +from os.path import basename, exists from module.plugins.Crypter import Crypter - -from os.path import join, exists, basename -from os import remove -import re +from module.utils import save_join class Container(Crypter): __name__ = "Container" + __type__ = "container" __version__ = "0.1" + __pattern__ = None - __type__ = "container" + __description__ = """Base container decrypter plugin""" __author_name__ = "mkaay" __author_mail__ = "mkaay@mkaay.de" @@ -49,13 +36,13 @@ class Container(Crypter): def loadToDisk(self): - """loads container to disk if its stored remotely and overwrite url, + """loads container to disk if its stored remotely and overwrite url, or check existent on several places at disk""" if self.pyfile.url.startswith("http"): self.pyfile.name = re.findall("([^\/=]+)", self.pyfile.url)[-1] content = self.load(self.pyfile.url) - self.pyfile.url = join(self.config['general']['download_folder'], self.pyfile.name) + self.pyfile.url = save_join(self.config['general']['download_folder'], self.pyfile.name) f = open(self.pyfile.url, "wb" ) f.write(content) f.close() @@ -63,8 +50,8 @@ class Container(Crypter): else: self.pyfile.name = basename(self.pyfile.url) if not exists(self.pyfile.url): - if exists(join(pypath, self.pyfile.url)): - self.pyfile.url = join(pypath, self.pyfile.url) + if exists(save_join(pypath, self.pyfile.url)): + self.pyfile.url = save_join(pypath, self.pyfile.url) else: self.fail(_("File not exists.")) diff --git a/module/plugins/Crypter.py b/module/plugins/Crypter.py index b613ff023..74ae8d102 100644 --- a/module/plugins/Crypter.py +++ b/module/plugins/Crypter.py @@ -1,34 +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 . - - @author: mkaay -""" - from module.plugins.Plugin import Plugin class Crypter(Plugin): __name__ = "Crypter" + __type__ = "crypter" __version__ = "0.1" + __pattern__ = None - __type__ = "crypter" + __description__ = """Base decrypter plugin""" __author_name__ = "mkaay" __author_mail__ = "mkaay@mkaay.de" + def __init__(self, pyfile): Plugin.__init__(self, pyfile) diff --git a/module/plugins/Hook.py b/module/plugins/Hook.py index b9c7b832f..279f813d1 100644 --- a/module/plugins/Hook.py +++ b/module/plugins/Hook.py @@ -1,26 +1,8 @@ # -*- coding: utf-8 -*- -""" - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, - or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, see . - - @author: mkaay - @interface-version: 0.2 -""" - from traceback import print_exc -from Plugin import Base +from module.plugins.Plugin import Base class Expose(object): @@ -43,10 +25,12 @@ class Hook(Base): Base class for hook plugins. """ __name__ = "Hook" - __version__ = "0.2" __type__ = "hook" + __version__ = "0.2" + __threaded__ = [] __config__ = [("name", "type", "desc", "default")] + __description__ = """Interface for hook""" __author_name__ = ("mkaay", "RaNaN") __author_mail__ = ("mkaay@mkaay.de", "RaNaN@pyload.org") @@ -58,10 +42,10 @@ class Hook(Base): #: List of events the plugin can handle, name the functions exactly like eventname. event_list = None # dont make duplicate entries in event_map - #: periodic call interval in secondc interval = 60 + def __init__(self, core, manager): Base.__init__(self, core) @@ -126,7 +110,7 @@ class Hook(Base): return self.config.getPlugin(self.__name__, "activated") - #event methods - overwrite these if needed + #event methods - overwrite these if needed def coreReady(self): pass diff --git a/module/plugins/Hoster.py b/module/plugins/Hoster.py index 67692a94f..bedfce129 100644 --- a/module/plugins/Hoster.py +++ b/module/plugins/Hoster.py @@ -1,24 +1,8 @@ # -*- coding: utf-8 -*- -""" - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, - or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, see . - - @author: mkaay -""" - from module.plugins.Plugin import Plugin + def getInfo(self): #result = [ .. (name, size, status, url) .. ] return @@ -26,9 +10,11 @@ def getInfo(self): class Hoster(Plugin): __name__ = "Hoster" + __type__ = "hoster" __version__ = "0.1" + __pattern__ = None - __type__ = "hoster" + __description__ = """Base hoster plugin""" __author_name__ = "mkaay" __author_mail__ = "mkaay@mkaay.de" diff --git a/module/plugins/Plugin.py b/module/plugins/Plugin.py index 8722496b5..68b2311b3 100644 --- a/module/plugins/Plugin.py +++ b/module/plugins/Plugin.py @@ -1,22 +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 . - - @author: RaNaN, spoob, mkaay -""" - from time import time, sleep from random import randint @@ -33,6 +16,7 @@ from itertools import islice from module.utils import save_join, save_path, fs_encode, fs_decode + def chunks(iterable, size): it = iter(iterable) item = list(islice(it, size)) @@ -142,14 +126,17 @@ class Plugin(Base): Overwrite `process` / `decrypt` in your subclassed plugin. """ __name__ = "Plugin" + __type__ = "hoster" __version__ = "0.4" + __pattern__ = None - __type__ = "hoster" __config__ = [("name", "type", "desc", "default")] + __description__ = """Base plugin""" __author_name__ = ("RaNaN", "spoob", "mkaay") __author_mail__ = ("RaNaN@pyload.org", "spoob@pyload.org", "mkaay@mkaay.de") + def __init__(self, pyfile): Base.__init__(self, pyfile.m.core) diff --git a/module/plugins/PluginManager.py b/module/plugins/PluginManager.py index adfa5845e..9c7cab64c 100644 --- a/module/plugins/PluginManager.py +++ b/module/plugins/PluginManager.py @@ -1,32 +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 . - - @author: mkaay, RaNaN -""" - import re import sys +from itertools import chain from os import listdir, makedirs from os.path import isfile, join, exists, abspath from sys import version_info -from itertools import chain from traceback import print_exc from module.lib.SafeEval import const_eval as literal_eval + from module.ConfigParser import IGNORE @@ -78,7 +62,7 @@ class PluginManager: def parse(self, folder, pattern=False, home={}): """ - returns dict with information + returns dict with information home contains parsed plugins from module. { diff --git a/module/plugins/accounts/AlldebridCom.py b/module/plugins/accounts/AlldebridCom.py index 122d23447..dbf4ad800 100644 --- a/module/plugins/accounts/AlldebridCom.py +++ b/module/plugins/accounts/AlldebridCom.py @@ -1,18 +1,20 @@ # -*- coding: utf-8 -*- +import re import xml.dom.minidom as dom + from time import time -import re -import urllib +from urllib import urlencode -from module.plugins.Account import Account from BeautifulSoup import BeautifulSoup +from module.plugins.Account import Account + class AlldebridCom(Account): __name__ = "AlldebridCom" - __version__ = "0.22" __type__ = "account" + __version__ = "0.22" __description__ = """AllDebrid.com account plugin""" __author_name__ = "Andy Voigt" @@ -23,7 +25,7 @@ class AlldebridCom(Account): data = self.getAccountData(user) page = req.load("http://www.alldebrid.com/account/") soup = BeautifulSoup(page) - #Try to parse expiration date directly from the control panel page (better accuracy) + #Try to parse expiration date directly from the control panel page (better accuracy) try: time_text = soup.find('div', attrs={'class': 'remaining_time_text'}).strong.string self.logDebug("Account expires in: %s" % time_text) @@ -43,7 +45,7 @@ class AlldebridCom(Account): return account_info def login(self, user, data, req): - urlparams = urllib.urlencode({'action': 'login', 'login_login': user, 'login_password': data['password']}) + urlparams = urlencode({'action': 'login', 'login_login': user, 'login_password': data['password']}) page = req.load("http://www.alldebrid.com/register/?%s" % urlparams) if "This login doesn't exist" in page: diff --git a/module/plugins/accounts/BayfilesCom.py b/module/plugins/accounts/BayfilesCom.py index 9d497ccb2..7c4708f7d 100644 --- a/module/plugins/accounts/BayfilesCom.py +++ b/module/plugins/accounts/BayfilesCom.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 . -""" - from time import time from module.plugins.Account import Account @@ -23,8 +8,8 @@ from module.common.json_layer import json_loads class BayfilesCom(Account): __name__ = "BayfilesCom" - __version__ = "0.03" __type__ = "account" + __version__ = "0.03" __description__ = """Bayfiles.com account plugin""" __author_name__ = "zoidberg" diff --git a/module/plugins/accounts/BitshareCom.py b/module/plugins/accounts/BitshareCom.py index 3802b2c46..272bbeb6e 100644 --- a/module/plugins/accounts/BitshareCom.py +++ b/module/plugins/accounts/BitshareCom.py @@ -1,27 +1,12 @@ # -*- 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 . -""" - from module.plugins.Account import Account class BitshareCom(Account): __name__ = "BitshareCom" - __version__ = "0.12" __type__ = "account" + __version__ = "0.12" __description__ = """Bitshare account plugin""" __author_name__ = "Paul King" diff --git a/module/plugins/accounts/CramitIn.py b/module/plugins/accounts/CramitIn.py index 9d352c967..34aa3ab40 100644 --- a/module/plugins/accounts/CramitIn.py +++ b/module/plugins/accounts/CramitIn.py @@ -5,8 +5,8 @@ from module.plugins.internal.XFSPAccount import XFSPAccount class CramitIn(XFSPAccount): __name__ = "CramitIn" - __version__ = "0.01" __type__ = "account" + __version__ = "0.01" __description__ = """Cramit.in account plugin""" __author_name__ = "zoidberg" diff --git a/module/plugins/accounts/CyberlockerCh.py b/module/plugins/accounts/CyberlockerCh.py index 297808a6e..729975fb0 100644 --- a/module/plugins/accounts/CyberlockerCh.py +++ b/module/plugins/accounts/CyberlockerCh.py @@ -6,8 +6,8 @@ from module.plugins.internal.SimpleHoster import parseHtmlForm class CyberlockerCh(XFSPAccount): __name__ = "CyberlockerCh" - __version__ = "0.01" __type__ = "account" + __version__ = "0.01" __description__ = """Cyberlocker.ch account plugin""" __author_name__ = "stickell" diff --git a/module/plugins/accounts/CzshareCom.py b/module/plugins/accounts/CzshareCom.py index 912b9328b..6f2ee641e 100644 --- a/module/plugins/accounts/CzshareCom.py +++ b/module/plugins/accounts/CzshareCom.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 . -""" - from time import mktime, strptime import re @@ -23,8 +8,8 @@ from module.plugins.Account import Account class CzshareCom(Account): __name__ = "CzshareCom" - __version__ = "0.14" __type__ = "account" + __version__ = "0.14" __description__ = """Czshare.com account plugin, now Sdilej.cz""" __author_name__ = ("zoidberg", "stickell") diff --git a/module/plugins/accounts/DdlstorageCom.py b/module/plugins/accounts/DdlstorageCom.py index 9d90f4dab..7fffc3b74 100644 --- a/module/plugins/accounts/DdlstorageCom.py +++ b/module/plugins/accounts/DdlstorageCom.py @@ -13,8 +13,8 @@ from module.utils import parseFileSize class DdlstorageCom(XFSPAccount): __name__ = "DdlstorageCom" - __version__ = "1.00" __type__ = "account" + __version__ = "1.00" __description__ = """DDLStorage.com account plugin""" __author_name__ = "stickell" diff --git a/module/plugins/accounts/DebridItaliaCom.py b/module/plugins/accounts/DebridItaliaCom.py index 1ee0d96c2..f4441c356 100644 --- a/module/plugins/accounts/DebridItaliaCom.py +++ b/module/plugins/accounts/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 . # -############################################################################ import re import time @@ -22,8 +8,8 @@ from module.plugins.Account import Account class DebridItaliaCom(Account): __name__ = "DebridItaliaCom" - __version__ = "0.1" __type__ = "account" + __version__ = "0.1" __description__ = """Debriditalia.com account plugin""" __author_name__ = "stickell" diff --git a/module/plugins/accounts/DepositfilesCom.py b/module/plugins/accounts/DepositfilesCom.py index 2037f35c4..01f1906f4 100644 --- a/module/plugins/accounts/DepositfilesCom.py +++ b/module/plugins/accounts/DepositfilesCom.py @@ -9,8 +9,8 @@ from module.plugins.Account import Account class DepositfilesCom(Account): __name__ = "DepositfilesCom" - __version__ = "0.3" __type__ = "account" + __version__ = "0.3" __description__ = """Depositfiles.com account plugin""" __author_name__ = ("mkaay", "stickell", "Walter Purcaro") diff --git a/module/plugins/accounts/EasybytezCom.py b/module/plugins/accounts/EasybytezCom.py index 755a4dbff..3b8517686 100644 --- a/module/plugins/accounts/EasybytezCom.py +++ b/module/plugins/accounts/EasybytezCom.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 . -""" - import re from time import mktime, strptime, gmtime @@ -25,8 +10,8 @@ from module.utils import parseFileSize class EasybytezCom(Account): __name__ = "EasybytezCom" - __version__ = "0.04" __type__ = "account" + __version__ = "0.04" __description__ = """EasyBytez.com account plugin""" __author_name__ = "zoidberg" diff --git a/module/plugins/accounts/EgoFilesCom.py b/module/plugins/accounts/EgoFilesCom.py index cd568456f..41b58c4e7 100644 --- a/module/plugins/accounts/EgoFilesCom.py +++ b/module/plugins/accounts/EgoFilesCom.py @@ -9,8 +9,8 @@ from module.utils import parseFileSize class EgoFilesCom(Account): __name__ = "EgoFilesCom" - __version__ = "0.2" __type__ = "account" + __version__ = "0.2" __description__ = """Egofiles.com account plugin""" __author_name__ = "stickell" diff --git a/module/plugins/accounts/EuroshareEu.py b/module/plugins/accounts/EuroshareEu.py index f396f9bf2..f37693206 100644 --- a/module/plugins/accounts/EuroshareEu.py +++ b/module/plugins/accounts/EuroshareEu.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 . -""" - from time import mktime, strptime import re @@ -23,8 +8,8 @@ from module.plugins.Account import Account class EuroshareEu(Account): __name__ = "EuroshareEu" - __version__ = "0.01" __type__ = "account" + __version__ = "0.01" __description__ = """Euroshare.eu account plugin""" __author_name__ = "zoidberg" diff --git a/module/plugins/accounts/FastixRu.py b/module/plugins/accounts/FastixRu.py index 9e8d1f4fe..7e46ccd05 100644 --- a/module/plugins/accounts/FastixRu.py +++ b/module/plugins/accounts/FastixRu.py @@ -6,8 +6,8 @@ from module.common.json_layer import json_loads class FastixRu(Account): __name__ = "FastixRu" - __version__ = "0.02" __type__ = "account" + __version__ = "0.02" __description__ = """Fastix account plugin""" __author_name__ = "Massimo Rosamilia" diff --git a/module/plugins/accounts/FastshareCz.py b/module/plugins/accounts/FastshareCz.py index 2ac24cf39..a968be19e 100644 --- a/module/plugins/accounts/FastshareCz.py +++ b/module/plugins/accounts/FastshareCz.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 . -""" - import re from module.plugins.Account import Account from module.utils import parseFileSize @@ -22,8 +7,8 @@ from module.utils import parseFileSize class FastshareCz(Account): __name__ = "FastshareCz" - __version__ = "0.03" __type__ = "account" + __version__ = "0.03" __description__ = """Fastshare.cz account plugin""" __author_name__ = ("zoidberg", "stickell") diff --git a/module/plugins/accounts/File4safeCom.py b/module/plugins/accounts/File4safeCom.py index 158d7be3b..aa7894e98 100644 --- a/module/plugins/accounts/File4safeCom.py +++ b/module/plugins/accounts/File4safeCom.py @@ -5,8 +5,8 @@ from module.plugins.internal.XFSPAccount import XFSPAccount class File4safeCom(XFSPAccount): __name__ = "File4safeCom" - __version__ = "0.01" __type__ = "account" + __version__ = "0.01" __description__ = """File4safe.com account plugin""" __author_name__ = "stickell" diff --git a/module/plugins/accounts/FilecloudIo.py b/module/plugins/accounts/FilecloudIo.py index b8bad5c4c..ec98cf9b2 100644 --- a/module/plugins/accounts/FilecloudIo.py +++ b/module/plugins/accounts/FilecloudIo.py @@ -1,28 +1,13 @@ # -*- 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 . -""" - from module.plugins.Account import Account from module.common.json_layer import json_loads class FilecloudIo(Account): __name__ = "FilecloudIo" - __version__ = "0.02" __type__ = "account" + __version__ = "0.02" __description__ = """FilecloudIo account plugin""" __author_name__ = ("zoidberg", "stickell") diff --git a/module/plugins/accounts/FilefactoryCom.py b/module/plugins/accounts/FilefactoryCom.py index be96d8a52..84d80cab7 100644 --- a/module/plugins/accounts/FilefactoryCom.py +++ b/module/plugins/accounts/FilefactoryCom.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 . # -############################################################################ import re from time import mktime, strptime @@ -24,8 +10,8 @@ from module.plugins.Account import Account class FilefactoryCom(Account): __name__ = "FilefactoryCom" - __version__ = "0.14" __type__ = "account" + __version__ = "0.14" __description__ = """Filefactory.com account plugin""" __author_name__ = ("zoidberg", "stickell") diff --git a/module/plugins/accounts/FilejungleCom.py b/module/plugins/accounts/FilejungleCom.py index 7c894e3d6..72e275d4f 100644 --- a/module/plugins/accounts/FilejungleCom.py +++ b/module/plugins/accounts/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 . -""" - import re from time import mktime, strptime @@ -23,8 +8,8 @@ from module.plugins.Account import Account class FilejungleCom(Account): __name__ = "FilejungleCom" - __version__ = "0.11" __type__ = "account" + __version__ = "0.11" __description__ = """Filejungle.com account plugin""" __author_name__ = "zoidberg" diff --git a/module/plugins/accounts/FilerNet.py b/module/plugins/accounts/FilerNet.py index 0eaa8f452..2e50298d7 100644 --- a/module/plugins/accounts/FilerNet.py +++ b/module/plugins/accounts/FilerNet.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 . # -############################################################################ import re import time @@ -23,8 +9,8 @@ from module.utils import parseFileSize class FilerNet(Account): __name__ = "FilerNet" - __version__ = "0.01" __type__ = "account" + __version__ = "0.01" __description__ = """Filer.net account plugin""" __author_name__ = "stickell" diff --git a/module/plugins/accounts/FilerioCom.py b/module/plugins/accounts/FilerioCom.py index 7288930f4..544a7f3a6 100644 --- a/module/plugins/accounts/FilerioCom.py +++ b/module/plugins/accounts/FilerioCom.py @@ -5,8 +5,8 @@ from module.plugins.internal.XFSPAccount import XFSPAccount class FilerioCom(XFSPAccount): __name__ = "FilerioCom" - __version__ = "0.01" __type__ = "account" + __version__ = "0.01" __description__ = """FileRio.in account plugin""" __author_name__ = "zoidberg" diff --git a/module/plugins/accounts/FilesMailRu.py b/module/plugins/accounts/FilesMailRu.py index a87aac8a8..5ece67140 100644 --- a/module/plugins/accounts/FilesMailRu.py +++ b/module/plugins/accounts/FilesMailRu.py @@ -1,27 +1,12 @@ # -*- 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 . -""" - from module.plugins.Account import Account class FilesMailRu(Account): __name__ = "FilesMailRu" - __version__ = "0.1" __type__ = "account" + __version__ = "0.1" __description__ = """Filesmail.ru account plugin""" __author_name__ = "RaNaN" diff --git a/module/plugins/accounts/FileserveCom.py b/module/plugins/accounts/FileserveCom.py index f91f5b703..5be5e8d04 100644 --- a/module/plugins/accounts/FileserveCom.py +++ b/module/plugins/accounts/FileserveCom.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 . -""" - from time import mktime, strptime from module.plugins.Account import Account @@ -23,8 +8,8 @@ from module.common.json_layer import json_loads class FileserveCom(Account): __name__ = "FileserveCom" - __version__ = "0.2" __type__ = "account" + __version__ = "0.2" __description__ = """Fileserve.com account plugin""" __author_name__ = "mkaay" diff --git a/module/plugins/accounts/FourSharedCom.py b/module/plugins/accounts/FourSharedCom.py index b8a0c33f6..206edca23 100644 --- a/module/plugins/accounts/FourSharedCom.py +++ b/module/plugins/accounts/FourSharedCom.py @@ -1,28 +1,13 @@ # -*- 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 . -""" - from module.plugins.Account import Account from module.common.json_layer import json_loads class FourSharedCom(Account): __name__ = "FourSharedCom" - __version__ = "0.01" __type__ = "account" + __version__ = "0.01" __description__ = """FourShared.com account plugin""" __author_name__ = "zoidberg" diff --git a/module/plugins/accounts/FreakshareCom.py b/module/plugins/accounts/FreakshareCom.py index 2987b21eb..dfa5f4541 100644 --- a/module/plugins/accounts/FreakshareCom.py +++ b/module/plugins/accounts/FreakshareCom.py @@ -1,19 +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 . -""" import re from time import strptime, mktime @@ -22,8 +8,8 @@ from module.plugins.Account import Account class FreakshareCom(Account): __name__ = "FreakshareCom" - __version__ = "0.1" __type__ = "account" + __version__ = "0.1" __description__ = """Freakshare.com account plugin""" __author_name__ = "RaNaN" diff --git a/module/plugins/accounts/FreeWayMe.py b/module/plugins/accounts/FreeWayMe.py index 8a7d46aa1..fe5a79949 100644 --- a/module/plugins/accounts/FreeWayMe.py +++ b/module/plugins/accounts/FreeWayMe.py @@ -1,28 +1,13 @@ # -*- 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 . -""" - from module.plugins.Account import Account from module.common.json_layer import json_loads class FreeWayMe(Account): __name__ = "FreeWayMe" - __version__ = "0.11" __type__ = "account" + __version__ = "0.11" __description__ = """FreeWayMe account plugin""" __author_name__ = "Nicolas Giese" diff --git a/module/plugins/accounts/FshareVn.py b/module/plugins/accounts/FshareVn.py index 5726ad410..78714f238 100644 --- a/module/plugins/accounts/FshareVn.py +++ b/module/plugins/accounts/FshareVn.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 . -""" - from time import mktime, strptime from pycurl import REFERER import re @@ -24,8 +9,8 @@ from module.plugins.Account import Account class FshareVn(Account): __name__ = "FshareVn" - __version__ = "0.07" __type__ = "account" + __version__ = "0.07" __description__ = """Fshare.vn account plugin""" __author_name__ = ("zoidberg", "stickell") diff --git a/module/plugins/accounts/Ftp.py b/module/plugins/accounts/Ftp.py index 93f161bb9..2e60874a9 100644 --- a/module/plugins/accounts/Ftp.py +++ b/module/plugins/accounts/Ftp.py @@ -5,8 +5,8 @@ from module.plugins.Account import Account class Ftp(Account): __name__ = "Ftp" - __version__ = "0.01" __type__ = "account" + __version__ = "0.01" __description__ = """Ftp dummy account plugin""" __author_name__ = "zoidberg" diff --git a/module/plugins/accounts/HellshareCz.py b/module/plugins/accounts/HellshareCz.py index d6e65a33e..9207cddab 100644 --- a/module/plugins/accounts/HellshareCz.py +++ b/module/plugins/accounts/HellshareCz.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 . -""" - import re import time @@ -23,8 +8,8 @@ from module.plugins.Account import Account class HellshareCz(Account): __name__ = "HellshareCz" - __version__ = "0.14" __type__ = "account" + __version__ = "0.14" __description__ = """Hellshare.cz account plugin""" __author_name__ = "zoidberg" diff --git a/module/plugins/accounts/HotfileCom.py b/module/plugins/accounts/HotfileCom.py index 515517be4..cffbbab8f 100644 --- a/module/plugins/accounts/HotfileCom.py +++ b/module/plugins/accounts/HotfileCom.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 . -""" - from time import strptime, mktime import hashlib @@ -23,8 +8,8 @@ from module.plugins.Account import Account class HotfileCom(Account): __name__ = "HotfileCom" - __version__ = "0.2" __type__ = "account" + __version__ = "0.2" __description__ = """Hotfile.com account plugin""" __author_name__ = ("mkaay", "JoKoT3") diff --git a/module/plugins/accounts/Http.py b/module/plugins/accounts/Http.py index b79a78c99..3b64fe8da 100644 --- a/module/plugins/accounts/Http.py +++ b/module/plugins/accounts/Http.py @@ -5,8 +5,8 @@ from module.plugins.Account import Account class Http(Account): __name__ = "Http" - __version__ = "0.01" __type__ = "account" + __version__ = "0.01" __description__ = """Http dummy account plugin""" __author_name__ = "zoidberg" diff --git a/module/plugins/accounts/LetitbitNet.py b/module/plugins/accounts/LetitbitNet.py index 3bd096d55..c849f9d2d 100644 --- a/module/plugins/accounts/LetitbitNet.py +++ b/module/plugins/accounts/LetitbitNet.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 . # -############################################################################ from module.plugins.Account import Account # from module.common.json_layer import json_loads, json_dumps @@ -20,8 +6,8 @@ from module.plugins.Account import Account class LetitbitNet(Account): __name__ = "LetitbitNet" - __version__ = "0.01" __type__ = "account" + __version__ = "0.01" __description__ = """Letitbit.net account plugin""" __author_name__ = "stickell" diff --git a/module/plugins/accounts/LinksnappyCom.py b/module/plugins/accounts/LinksnappyCom.py index 109478bde..a03357e25 100644 --- a/module/plugins/accounts/LinksnappyCom.py +++ b/module/plugins/accounts/LinksnappyCom.py @@ -8,8 +8,8 @@ from module.common.json_layer import json_loads class LinksnappyCom(Account): __name__ = "LinksnappyCom" - __version__ = "0.02" __type__ = "account" + __version__ = "0.02" __description__ = """Linksnappy.com account plugin""" __author_name__ = "stickell" diff --git a/module/plugins/accounts/MegaDebridEu.py b/module/plugins/accounts/MegaDebridEu.py index 769b6161b..9c5603989 100644 --- a/module/plugins/accounts/MegaDebridEu.py +++ b/module/plugins/accounts/MegaDebridEu.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 . # -############################################################################ from module.plugins.Account import Account from module.common.json_layer import json_loads @@ -20,8 +6,8 @@ from module.common.json_layer import json_loads class MegaDebridEu(Account): __name__ = "MegaDebridEu" - __version__ = "0.2" __type__ = "account" + __version__ = "0.2" __description__ = """mega-debrid.eu account plugin""" __author_name__ = "D.Ducatel" diff --git a/module/plugins/accounts/MegasharesCom.py b/module/plugins/accounts/MegasharesCom.py index 125a21699..7c4777706 100644 --- a/module/plugins/accounts/MegasharesCom.py +++ b/module/plugins/accounts/MegasharesCom.py @@ -8,8 +8,8 @@ from module.plugins.Account import Account class MegasharesCom(Account): __name__ = "MegasharesCom" - __version__ = "0.02" __type__ = "account" + __version__ = "0.02" __description__ = """Megashares.com account plugin""" __author_name__ = "zoidberg" diff --git a/module/plugins/accounts/MovReelCom.py b/module/plugins/accounts/MovReelCom.py index 3ded0d960..34862c4ef 100644 --- a/module/plugins/accounts/MovReelCom.py +++ b/module/plugins/accounts/MovReelCom.py @@ -5,8 +5,8 @@ from module.plugins.internal.XFSPAccount import XFSPAccount class MovReelCom(XFSPAccount): __name__ = "MovReelCom" - __version__ = "0.01" __type__ = "account" + __version__ = "0.01" __description__ = """Movreel.com account plugin""" __author_name__ = "t4skforce" diff --git a/module/plugins/accounts/MultiDebridCom.py b/module/plugins/accounts/MultiDebridCom.py index 405dc60ac..c731ce9ae 100644 --- a/module/plugins/accounts/MultiDebridCom.py +++ b/module/plugins/accounts/MultiDebridCom.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 . # -############################################################################ from time import time @@ -22,8 +8,8 @@ from module.common.json_layer import json_loads class MultiDebridCom(Account): __name__ = "MultiDebridCom" - __version__ = "0.01" __type__ = "account" + __version__ = "0.01" __description__ = """Multi-debrid.com account plugin""" __author_name__ = "stickell" diff --git a/module/plugins/accounts/MultishareCz.py b/module/plugins/accounts/MultishareCz.py index 3d8852955..fc13bac69 100644 --- a/module/plugins/accounts/MultishareCz.py +++ b/module/plugins/accounts/MultishareCz.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 . -""" - from module.plugins.Account import Account #from time import mktime, strptime #from pycurl import REFERER @@ -24,8 +9,8 @@ from module.utils import parseFileSize class MultishareCz(Account): __name__ = "MultishareCz" - __version__ = "0.02" __type__ = "account" + __version__ = "0.02" __description__ = """Multishare.cz account plugin""" __author_name__ = "zoidberg" diff --git a/module/plugins/accounts/NetloadIn.py b/module/plugins/accounts/NetloadIn.py index 7c5ea69f8..12c5556fb 100755 --- a/module/plugins/accounts/NetloadIn.py +++ b/module/plugins/accounts/NetloadIn.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 . -""" - import re from time import time @@ -23,8 +8,8 @@ from module.plugins.Account import Account class NetloadIn(Account): __name__ = "NetloadIn" - __version__ = "0.22" __type__ = "account" + __version__ = "0.22" __description__ = """Netload.in account plugin""" __author_name__ = ("RaNaN", "CryNickSystems") diff --git a/module/plugins/accounts/OboomCom.py b/module/plugins/accounts/OboomCom.py index 97f7e930a..a37759f9a 100644 --- a/module/plugins/accounts/OboomCom.py +++ b/module/plugins/accounts/OboomCom.py @@ -2,15 +2,16 @@ import time -from module.plugins.Account import Account from module.lib.beaker.crypto.pbkdf2 import PBKDF2 + from module.common.json_layer import json_loads +from module.plugins.Account import Account class OboomCom(Account): __name__ = "OboomCom" - __version__ = "0.1" __type__ = "account" + __version__ = "0.1" __description__ = """Oboom.com account plugin""" __author_name__ = "stanley" diff --git a/module/plugins/accounts/OneFichierCom.py b/module/plugins/accounts/OneFichierCom.py index be79423ef..43dd1c2b6 100644 --- a/module/plugins/accounts/OneFichierCom.py +++ b/module/plugins/accounts/OneFichierCom.py @@ -9,8 +9,8 @@ from module.plugins.Account import Account class OneFichierCom(Account): __name__ = "OneFichierCom" - __version__ = "0.1" __type__ = "account" + __version__ = "0.1" __description__ = """1fichier.com account plugin""" __author_name__ = "Elrick69" diff --git a/module/plugins/accounts/OverLoadMe.py b/module/plugins/accounts/OverLoadMe.py index 129074a0f..34f684cb1 100644 --- a/module/plugins/accounts/OverLoadMe.py +++ b/module/plugins/accounts/OverLoadMe.py @@ -6,8 +6,8 @@ from module.common.json_layer import json_loads class OverLoadMe(Account): __name__ = "OverLoadMe" - __version__ = "0.01" __type__ = "account" + __version__ = "0.01" __description__ = """Over-Load.me account plugin""" __author_name__ = "marley" diff --git a/module/plugins/accounts/Premium4Me.py b/module/plugins/accounts/Premium4Me.py index 9eab6f81f..9f66af414 100644 --- a/module/plugins/accounts/Premium4Me.py +++ b/module/plugins/accounts/Premium4Me.py @@ -5,8 +5,8 @@ from module.plugins.Account import Account class Premium4Me(Account): __name__ = "Premium4Me" - __version__ = "0.03" __type__ = "account" + __version__ = "0.03" __description__ = """Premium.to account plugin""" __author_name__ = ("RaNaN", "zoidberg", "stickell") diff --git a/module/plugins/accounts/PremiumizeMe.py b/module/plugins/accounts/PremiumizeMe.py index 83eade048..dcf8b8f20 100644 --- a/module/plugins/accounts/PremiumizeMe.py +++ b/module/plugins/accounts/PremiumizeMe.py @@ -7,8 +7,8 @@ from module.common.json_layer import json_loads class PremiumizeMe(Account): __name__ = "PremiumizeMe" - __version__ = "0.11" __type__ = "account" + __version__ = "0.11" __description__ = """Premiumize.me account plugin""" __author_name__ = "Florian Franzen" diff --git a/module/plugins/accounts/QuickshareCz.py b/module/plugins/accounts/QuickshareCz.py index 34a3a971a..fcaf14e92 100644 --- a/module/plugins/accounts/QuickshareCz.py +++ b/module/plugins/accounts/QuickshareCz.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 . -""" - import re from module.plugins.Account import Account from module.utils import parseFileSize @@ -22,8 +7,8 @@ from module.utils import parseFileSize class QuickshareCz(Account): __name__ = "QuickshareCz" - __version__ = "0.01" __type__ = "account" + __version__ = "0.01" __description__ = """Quickshare.cz account plugin""" __author_name__ = "zoidberg" diff --git a/module/plugins/accounts/RPNetBiz.py b/module/plugins/accounts/RPNetBiz.py index 08bedda7d..358f6ffca 100644 --- a/module/plugins/accounts/RPNetBiz.py +++ b/module/plugins/accounts/RPNetBiz.py @@ -6,8 +6,8 @@ from module.common.json_layer import json_loads class RPNetBiz(Account): __name__ = "RPNetBiz" - __version__ = "0.1" __type__ = "account" + __version__ = "0.1" __description__ = """RPNet.biz account plugin""" __author_name__ = "Dman" diff --git a/module/plugins/accounts/RapidgatorNet.py b/module/plugins/accounts/RapidgatorNet.py index 05d31e6a0..849933a87 100644 --- a/module/plugins/accounts/RapidgatorNet.py +++ b/module/plugins/accounts/RapidgatorNet.py @@ -1,28 +1,13 @@ # -*- 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 . -""" - from module.plugins.Account import Account from module.common.json_layer import json_loads class RapidgatorNet(Account): __name__ = "RapidgatorNet" - __version__ = "0.04" __type__ = "account" + __version__ = "0.04" __description__ = """Rapidgator.net account plugin""" __author_name__ = "zoidberg" diff --git a/module/plugins/accounts/RapidshareCom.py b/module/plugins/accounts/RapidshareCom.py index 6745813d9..dc4f09ee1 100644 --- a/module/plugins/accounts/RapidshareCom.py +++ b/module/plugins/accounts/RapidshareCom.py @@ -1,27 +1,12 @@ # -*- 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 . -""" - from module.plugins.Account import Account class RapidshareCom(Account): __name__ = "RapidshareCom" - __version__ = "0.22" __type__ = "account" + __version__ = "0.22" __description__ = """Rapidshare.com account plugin""" __author_name__ = "mkaay" diff --git a/module/plugins/accounts/RarefileNet.py b/module/plugins/accounts/RarefileNet.py index 2424eaff5..c8eae79a8 100644 --- a/module/plugins/accounts/RarefileNet.py +++ b/module/plugins/accounts/RarefileNet.py @@ -5,8 +5,8 @@ from module.plugins.internal.XFSPAccount import XFSPAccount class RarefileNet(XFSPAccount): __name__ = "RarefileNet" - __version__ = "0.02" __type__ = "account" + __version__ = "0.02" __description__ = """RareFile.net account plugin""" __author_name__ = "zoidberg" diff --git a/module/plugins/accounts/RealdebridCom.py b/module/plugins/accounts/RealdebridCom.py index 8ca4112e9..9d1939c60 100644 --- a/module/plugins/accounts/RealdebridCom.py +++ b/module/plugins/accounts/RealdebridCom.py @@ -7,8 +7,8 @@ from module.plugins.Account import Account class RealdebridCom(Account): __name__ = "RealdebridCom" - __version__ = "0.43" __type__ = "account" + __version__ = "0.43" __description__ = """Real-Debrid.com account plugin""" __author_name__ = "Devirex Hazzard" diff --git a/module/plugins/accounts/RehostTo.py b/module/plugins/accounts/RehostTo.py index 7a6263ab3..f15230f83 100644 --- a/module/plugins/accounts/RehostTo.py +++ b/module/plugins/accounts/RehostTo.py @@ -5,8 +5,8 @@ from module.plugins.Account import Account class RehostTo(Account): __name__ = "RehostTo" - __version__ = "0.1" __type__ = "account" + __version__ = "0.1" __description__ = """Rehost.to account plugin""" __author_name__ = "RaNaN" diff --git a/module/plugins/accounts/RyushareCom.py b/module/plugins/accounts/RyushareCom.py index fc092f82a..7fb373ca7 100644 --- a/module/plugins/accounts/RyushareCom.py +++ b/module/plugins/accounts/RyushareCom.py @@ -5,8 +5,8 @@ from module.plugins.internal.XFSPAccount import XFSPAccount class RyushareCom(XFSPAccount): __name__ = "RyushareCom" - __version__ = "0.03" __type__ = "account" + __version__ = "0.03" __description__ = """Ryushare.com account plugin""" __author_name__ = ("zoidberg", "trance4us") diff --git a/module/plugins/accounts/ShareRapidCom.py b/module/plugins/accounts/ShareRapidCom.py index a1cb40130..50077b1fb 100644 --- a/module/plugins/accounts/ShareRapidCom.py +++ b/module/plugins/accounts/ShareRapidCom.py @@ -8,8 +8,8 @@ from module.plugins.Account import Account class ShareRapidCom(Account): __name__ = "ShareRapidCom" - __version__ = "0.34" __type__ = "account" + __version__ = "0.34" __description__ = """MegaRapid.cz account plugin""" __author_name__ = ("MikyWoW", "zoidberg") diff --git a/module/plugins/accounts/ShareonlineBiz.py b/module/plugins/accounts/ShareonlineBiz.py index 9f706d186..b9ff0096c 100644 --- a/module/plugins/accounts/ShareonlineBiz.py +++ b/module/plugins/accounts/ShareonlineBiz.py @@ -1,27 +1,12 @@ # -*- 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 . -""" - from module.plugins.Account import Account class ShareonlineBiz(Account): __name__ = "ShareonlineBiz" - __version__ = "0.24" __type__ = "account" + __version__ = "0.24" __description__ = """Share-online.biz account plugin""" __author_name__ = ("mkaay", "zoidberg") diff --git a/module/plugins/accounts/SimplyPremiumCom.py b/module/plugins/accounts/SimplyPremiumCom.py index 6eace8838..b0a62f83b 100644 --- a/module/plugins/accounts/SimplyPremiumCom.py +++ b/module/plugins/accounts/SimplyPremiumCom.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 . # -############################################################################ from module.common.json_layer import json_loads from module.plugins.Account import Account @@ -20,8 +6,8 @@ from module.plugins.Account import Account class SimplyPremiumCom(Account): __name__ = "SimplyPremiumCom" - __version__ = "0.01" __type__ = "account" + __version__ = "0.01" __description__ = """Simply-Premium.com account plugin""" __author_name__ = "EvolutionClip" diff --git a/module/plugins/accounts/SimplydebridCom.py b/module/plugins/accounts/SimplydebridCom.py index a3803b088..70f2d39b9 100644 --- a/module/plugins/accounts/SimplydebridCom.py +++ b/module/plugins/accounts/SimplydebridCom.py @@ -7,8 +7,8 @@ from module.plugins.Account import Account class SimplydebridCom(Account): __name__ = "SimplydebridCom" - __version__ = "0.1" __type__ = "account" + __version__ = "0.1" __description__ = """Simply-Debrid.com account plugin""" __author_name__ = "Kagenoshin" diff --git a/module/plugins/accounts/StahnuTo.py b/module/plugins/accounts/StahnuTo.py index e22030cdf..6d9c3e924 100644 --- a/module/plugins/accounts/StahnuTo.py +++ b/module/plugins/accounts/StahnuTo.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 . -""" - import re from module.plugins.Account import Account @@ -23,8 +8,8 @@ from module.utils import parseFileSize class StahnuTo(Account): __name__ = "StahnuTo" - __version__ = "0.02" __type__ = "account" + __version__ = "0.02" __description__ = """StahnuTo account plugin""" __author_name__ = "zoidberg" diff --git a/module/plugins/accounts/TurbobitNet.py b/module/plugins/accounts/TurbobitNet.py index 7e0f8b8a7..a477b06c0 100644 --- a/module/plugins/accounts/TurbobitNet.py +++ b/module/plugins/accounts/TurbobitNet.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 . -""" - import re from time import mktime, strptime @@ -23,8 +8,8 @@ from module.plugins.Account import Account class TurbobitNet(Account): __name__ = "TurbobitNet" - __version__ = "0.01" __type__ = "account" + __version__ = "0.01" __description__ = """TurbobitNet account plugin""" __author_name__ = "zoidberg" diff --git a/module/plugins/accounts/UlozTo.py b/module/plugins/accounts/UlozTo.py index 689ad0a9a..6f0d0ae7d 100644 --- a/module/plugins/accounts/UlozTo.py +++ b/module/plugins/accounts/UlozTo.py @@ -7,8 +7,8 @@ from module.plugins.Account import Account class UlozTo(Account): __name__ = "UlozTo" - __version__ = "0.06" __type__ = "account" + __version__ = "0.06" __description__ = """Uloz.to account plugin""" __author_name__ = ("zoidberg", "pulpe") diff --git a/module/plugins/accounts/UnrestrictLi.py b/module/plugins/accounts/UnrestrictLi.py index 94452b966..a65f19c5b 100644 --- a/module/plugins/accounts/UnrestrictLi.py +++ b/module/plugins/accounts/UnrestrictLi.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 . # -############################################################################ from module.plugins.Account import Account from module.common.json_layer import json_loads @@ -20,8 +6,8 @@ from module.common.json_layer import json_loads class UnrestrictLi(Account): __name__ = "UnrestrictLi" - __version__ = "0.03" __type__ = "account" + __version__ = "0.03" __description__ = """Unrestrict.li account plugin""" __author_name__ = "stickell" diff --git a/module/plugins/accounts/UploadedTo.py b/module/plugins/accounts/UploadedTo.py index bde76be9f..9db496bbc 100644 --- a/module/plugins/accounts/UploadedTo.py +++ b/module/plugins/accounts/UploadedTo.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 . -""" - import re from time import time @@ -23,8 +8,8 @@ from module.plugins.Account import Account class UploadedTo(Account): __name__ = "UploadedTo" - __version__ = "0.26" __type__ = "account" + __version__ = "0.26" __description__ = """Uploaded.to account plugin""" __author_name__ = "mkaay" diff --git a/module/plugins/accounts/UploadheroCom.py b/module/plugins/accounts/UploadheroCom.py index 681ef6f6a..20f209268 100644 --- a/module/plugins/accounts/UploadheroCom.py +++ b/module/plugins/accounts/UploadheroCom.py @@ -9,8 +9,8 @@ from module.plugins.Account import Account class UploadheroCom(Account): __name__ = "UploadheroCom" - __version__ = "0.2" __type__ = "account" + __version__ = "0.2" __description__ = """Uploadhero.co account plugin""" __author_name__ = "mcmyst" diff --git a/module/plugins/accounts/UploadingCom.py b/module/plugins/accounts/UploadingCom.py index f07c2941a..416a29b1e 100644 --- a/module/plugins/accounts/UploadingCom.py +++ b/module/plugins/accounts/UploadingCom.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 . -""" - from time import time, strptime, mktime import re @@ -23,8 +8,8 @@ from module.plugins.Account import Account class UploadingCom(Account): __name__ = "UploadingCom" - __version__ = "0.1" __type__ = "account" + __version__ = "0.1" __description__ = """Uploading.com account plugin""" __author_name__ = "mkaay" diff --git a/module/plugins/accounts/UptoboxCom.py b/module/plugins/accounts/UptoboxCom.py index 16016f41d..60de213ae 100644 --- a/module/plugins/accounts/UptoboxCom.py +++ b/module/plugins/accounts/UptoboxCom.py @@ -5,8 +5,8 @@ from module.plugins.internal.XFSPAccount import XFSPAccount class UptoboxCom(XFSPAccount): __name__ = "UptoboxCom" - __version__ = "0.02" __type__ = "account" + __version__ = "0.02" __description__ = """DDLStorage.com account plugin""" __author_name__ = "zoidberg" diff --git a/module/plugins/accounts/YibaishiwuCom.py b/module/plugins/accounts/YibaishiwuCom.py index 1894258a3..be62d3f40 100644 --- a/module/plugins/accounts/YibaishiwuCom.py +++ b/module/plugins/accounts/YibaishiwuCom.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 . -""" - import re from module.plugins.Account import Account @@ -22,8 +7,8 @@ from module.plugins.Account import Account class YibaishiwuCom(Account): __name__ = "YibaishiwuCom" - __version__ = "0.01" __type__ = "account" + __version__ = "0.01" __description__ = """115.com account plugin""" __author_name__ = "zoidberg" diff --git a/module/plugins/accounts/ZeveraCom.py b/module/plugins/accounts/ZeveraCom.py index 11a224039..db1ebd4ae 100644 --- a/module/plugins/accounts/ZeveraCom.py +++ b/module/plugins/accounts/ZeveraCom.py @@ -7,8 +7,8 @@ from module.plugins.Account import Account class ZeveraCom(Account): __name__ = "ZeveraCom" - __version__ = "0.21" __type__ = "account" + __version__ = "0.21" __description__ = """Zevera.com account plugin""" __author_name__ = "zoidberg" diff --git a/module/plugins/captcha/GigasizeCom.py b/module/plugins/captcha/GigasizeCom.py index 1f77e420d..add3ffc57 100644 --- a/module/plugins/captcha/GigasizeCom.py +++ b/module/plugins/captcha/GigasizeCom.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from captcha import OCR +from module.plugins.captcha import OCR class GigasizeCom(OCR): __name__ = "GigasizeCom" - __version__ = "0.1" __type__ = "ocr" + __version__ = "0.1" __description__ = """Gigasize.com ocr plugin""" __author_name__ = "pyLoad Team" diff --git a/module/plugins/captcha/LinksaveIn.py b/module/plugins/captcha/LinksaveIn.py index da36cf552..dd5ac7b98 100644 --- a/module/plugins/captcha/LinksaveIn.py +++ b/module/plugins/captcha/LinksaveIn.py @@ -5,13 +5,13 @@ from glob import glob from os import sep from os.path import abspath, dirname -from captcha import OCR +from module.plugins.captcha import OCR class LinksaveIn(OCR): __name__ = "LinksaveIn" - __version__ = "0.1" __type__ = "ocr" + __version__ = "0.1" __description__ = """Linksave.in ocr plugin""" __author_name__ = "pyLoad Team" diff --git a/module/plugins/captcha/NetloadIn.py b/module/plugins/captcha/NetloadIn.py index 4585b51df..cb6cb9264 100644 --- a/module/plugins/captcha/NetloadIn.py +++ b/module/plugins/captcha/NetloadIn.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from captcha import OCR +from module.plugins.captcha import OCR class NetloadIn(OCR): __name__ = "NetloadIn" - __version__ = "0.1" __type__ = "ocr" + __version__ = "0.1" __description__ = """Netload.in ocr plugin""" __author_name__ = "pyLoad Team" diff --git a/module/plugins/captcha/ShareonlineBiz.py b/module/plugins/captcha/ShareonlineBiz.py index 44ea6a187..aab4e9da0 100644 --- a/module/plugins/captcha/ShareonlineBiz.py +++ b/module/plugins/captcha/ShareonlineBiz.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from captcha import OCR +from module.plugins.captcha import OCR class ShareonlineBiz(OCR): __name__ = "ShareonlineBiz" - __version__ = "0.1" __type__ = "ocr" + __version__ = "0.1" __description__ = """Shareonline.biz ocr plugin""" __author_name__ = "RaNaN" diff --git a/module/plugins/captcha/captcha.py b/module/plugins/captcha/captcha.py index 061228c99..cc07f50cf 100644 --- a/module/plugins/captcha/captcha.py +++ b/module/plugins/captcha/captcha.py @@ -1,35 +1,18 @@ # -*- coding: utf-8 -*- -# -#Copyright (C) 2009 kingzero, RaNaN -# -#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 . -# -### from __future__ import with_statement -import os -from os.path import join -from os.path import abspath + +import GifImagePlugin +import Image +import JpegImagePlugin +import PngImagePlugin +import TiffImagePlugin import logging +import os import subprocess #import tempfile -import Image -import TiffImagePlugin -import PngImagePlugin -import GifImagePlugin -import JpegImagePlugin +from os.path import abspath, join class OCR(object): @@ -82,7 +65,7 @@ class OCR(object): self.image.save(tmp.name, 'TIFF') if os.name == "nt": - tessparams = [join(pypath,"tesseract","tesseract.exe")] + tessparams = [join(pypath, "tesseract", "tesseract.exe")] else: tessparams = ["tesseract"] @@ -318,14 +301,3 @@ class OCR(object): return result else: self.result_captcha = result - - -if __name__ == '__main__': - ocr = OCR() - ocr.load_image("B.jpg") - ocr.to_greyscale() - ocr.eval_black_white(140) - ocr.derotate_by_average() - ocr.run_tesser() - print "Tesseract", ocr.result_captcha - ocr.image.save("derotated.jpg") diff --git a/module/plugins/container/CCF.py b/module/plugins/container/CCF.py index a5a071820..ee92beb9a 100644 --- a/module/plugins/container/CCF.py +++ b/module/plugins/container/CCF.py @@ -3,11 +3,13 @@ import re from os import makedirs -from os.path import exists, join +from os.path import exists from urllib2 import build_opener from module.lib.MultipartPostHandler import MultipartPostHandler + from module.plugins.Container import Container +from module.utils import save_join class CCF(Container): @@ -32,11 +34,8 @@ class CCF(Container): tempdlc_content = opener.open('http://service.jdownloader.net/dlcrypt/getDLC.php', params).read() download_folder = self.config['general']['download_folder'] - location = download_folder #join(download_folder, pyfile.package().folder.decode(sys.getfilesystemencoding())) - if not exists(location): - makedirs(location) - tempdlc_name = join(location, "tmp_%s.dlc" % pyfile.name) + tempdlc_name = save_join(download_folder, "tmp_%s.dlc" % pyfile.name) tempdlc = open(tempdlc_name, "w") tempdlc.write(re.search(r'(.*)', tempdlc_content, re.DOTALL).group(1)) tempdlc.close() diff --git a/module/plugins/crypter/BitshareComFolder.py b/module/plugins/crypter/BitshareComFolder.py index 2afe990df..219dabce8 100644 --- a/module/plugins/crypter/BitshareComFolder.py +++ b/module/plugins/crypter/BitshareComFolder.py @@ -1,26 +1,12 @@ # -*- 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 . # -############################################################################ from module.plugins.internal.SimpleCrypter import SimpleCrypter class BitshareComFolder(SimpleCrypter): __name__ = "BitshareComFolder" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?bitshare\.com/\?d=\w+' diff --git a/module/plugins/crypter/C1neonCom.py b/module/plugins/crypter/C1neonCom.py index fc1188a11..829ed63d6 100644 --- a/module/plugins/crypter/C1neonCom.py +++ b/module/plugins/crypter/C1neonCom.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class C1neonCom(DeadCrypter): __name__ = "C1neonCom" - __version__ = "0.05" __type__ = "crypter" + __version__ = "0.05" __pattern__ = r'http://(?:www\.)?c1neon.com/.*?' diff --git a/module/plugins/crypter/ChipDe.py b/module/plugins/crypter/ChipDe.py index f59903170..a75cc5e0e 100644 --- a/module/plugins/crypter/ChipDe.py +++ b/module/plugins/crypter/ChipDe.py @@ -6,8 +6,8 @@ from module.plugins.Crypter import Crypter class ChipDe(Crypter): __name__ = "ChipDe" - __version__ = "0.1" __type__ = "crypter" + __version__ = "0.1" __pattern__ = r'http://(?:www\.)?chip.de/video/.*\.html' diff --git a/module/plugins/crypter/CrockoComFolder.py b/module/plugins/crypter/CrockoComFolder.py index 8215e23c4..56abeac29 100644 --- a/module/plugins/crypter/CrockoComFolder.py +++ b/module/plugins/crypter/CrockoComFolder.py @@ -5,8 +5,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class CrockoComFolder(SimpleCrypter): __name__ = "CrockoComFolder" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?crocko.com/f/.*' diff --git a/module/plugins/crypter/CryptItCom.py b/module/plugins/crypter/CryptItCom.py index 331ddd5c8..66c5e7ca7 100644 --- a/module/plugins/crypter/CryptItCom.py +++ b/module/plugins/crypter/CryptItCom.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class CryptItCom(DeadCrypter): __name__ = "CryptItCom" - __version__ = "0.11" __type__ = "crypter" + __version__ = "0.11" __pattern__ = r'http://(?:www\.)?crypt-it\.com/(s|e|d|c)/[\w]+' diff --git a/module/plugins/crypter/CzshareComFolder.py b/module/plugins/crypter/CzshareComFolder.py index b305575a2..64affc867 100644 --- a/module/plugins/crypter/CzshareComFolder.py +++ b/module/plugins/crypter/CzshareComFolder.py @@ -6,8 +6,8 @@ from module.plugins.Crypter import Crypter class CzshareComFolder(Crypter): __name__ = "CzshareComFolder" - __version__ = "0.2" __type__ = "crypter" + __version__ = "0.2" __pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/folders/.*' diff --git a/module/plugins/crypter/DDLMusicOrg.py b/module/plugins/crypter/DDLMusicOrg.py index c80ec471e..f5e7203d3 100644 --- a/module/plugins/crypter/DDLMusicOrg.py +++ b/module/plugins/crypter/DDLMusicOrg.py @@ -9,8 +9,8 @@ from module.plugins.Crypter import Crypter class DDLMusicOrg(Crypter): __name__ = "DDLMusicOrg" - __version__ = "0.3" __type__ = "crypter" + __version__ = "0.3" __pattern__ = r'http://(?:www\.)?ddl-music\.org/captcha/ddlm_cr\d\.php\?\d+\?\d+' diff --git a/module/plugins/crypter/DailymotionBatch.py b/module/plugins/crypter/DailymotionBatch.py index c86c966d8..e43d4e1fd 100644 --- a/module/plugins/crypter/DailymotionBatch.py +++ b/module/plugins/crypter/DailymotionBatch.py @@ -1,22 +1,8 @@ # -*- 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 . -""" +import re from urlparse import urljoin -import re from module.common.json_layer import json_loads from module.plugins.Crypter import Crypter @@ -25,8 +11,8 @@ from module.utils import save_join class DailymotionBatch(Crypter): __name__ = "DailymotionBatch" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'https?://(?:www\.)?dailymotion\.com/((playlists/)?(?Pplaylist|user)/)?(?P[\w^_]+)(?(TYPE)|#)' diff --git a/module/plugins/crypter/DataHuFolder.py b/module/plugins/crypter/DataHuFolder.py index 553936b1a..4f6116100 100644 --- a/module/plugins/crypter/DataHuFolder.py +++ b/module/plugins/crypter/DataHuFolder.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 . # -############################################################################ import re @@ -21,8 +7,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DataHuFolder(SimpleCrypter): __name__ = "DataHuFolder" - __version__ = "0.03" __type__ = "crypter" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?data.hu/dir/\w+' diff --git a/module/plugins/crypter/DdlstorageComFolder.py b/module/plugins/crypter/DdlstorageComFolder.py index 4c79407e4..70a7312be 100644 --- a/module/plugins/crypter/DdlstorageComFolder.py +++ b/module/plugins/crypter/DdlstorageComFolder.py @@ -1,26 +1,12 @@ # -*- 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 . # -############################################################################ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DdlstorageComFolder(SimpleCrypter): __name__ = "DdlstorageComFolder" - __version__ = "0.02" __type__ = "crypter" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?ddlstorage.com/folder/\w{10}' diff --git a/module/plugins/crypter/DepositfilesComFolder.py b/module/plugins/crypter/DepositfilesComFolder.py index bb08b627b..b7c273f0b 100644 --- a/module/plugins/crypter/DepositfilesComFolder.py +++ b/module/plugins/crypter/DepositfilesComFolder.py @@ -5,8 +5,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DepositfilesComFolder(SimpleCrypter): __name__ = "DepositfilesComFolder" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?depositfiles.com/folders/\w+' diff --git a/module/plugins/crypter/Dereferer.py b/module/plugins/crypter/Dereferer.py index 405893560..21529ddfd 100644 --- a/module/plugins/crypter/Dereferer.py +++ b/module/plugins/crypter/Dereferer.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 . -""" - import re -import urllib + +from urllib import unquote from module.plugins.Crypter import Crypter class Dereferer(Crypter): __name__ = "Dereferer" - __version__ = "0.1" __type__ = "crypter" + __version__ = "0.1" __pattern__ = r'https?://([^/]+)/.*?(?P(ht|f)tps?(://|%3A%2F%2F).*)' @@ -35,4 +21,4 @@ class Dereferer(Crypter): def decrypt(self, pyfile): link = re.match(self.__pattern__, pyfile.url).group('url') - self.urls = [urllib.unquote(link).rstrip('+')] + self.urls = [unquote(link).rstrip('+')] diff --git a/module/plugins/crypter/DlProtectCom.py b/module/plugins/crypter/DlProtectCom.py index 6bd6bc5b5..4c958437a 100644 --- a/module/plugins/crypter/DlProtectCom.py +++ b/module/plugins/crypter/DlProtectCom.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 . -############################################################################### import re @@ -24,8 +10,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DlProtectCom(SimpleCrypter): __name__ = "DlProtectCom" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?dl-protect\.com/((en|fr)/)?(?P\w+)' diff --git a/module/plugins/crypter/DontKnowMe.py b/module/plugins/crypter/DontKnowMe.py index dac385e7c..23fbb8d52 100644 --- a/module/plugins/crypter/DontKnowMe.py +++ b/module/plugins/crypter/DontKnowMe.py @@ -1,15 +1,16 @@ # -*- coding: utf-8 -*- import re -import urllib + +from urllib import unquote from module.plugins.Crypter import Crypter class DontKnowMe(Crypter): __name__ = "DontKnowMe" - __version__ = "0.1" __type__ = "crypter" + __version__ = "0.1" __pattern__ = r'http://(?:www\.)?dontknow.me/at/\?.+$' @@ -22,4 +23,4 @@ class DontKnowMe(Crypter): def decrypt(self, pyfile): link = re.findall(self.LINK_PATTERN, pyfile.url)[0] - self.urls = [urllib.unquote(link)] + self.urls = [unquote(link)] diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py index 456c13606..e7a5a59e9 100644 --- a/module/plugins/crypter/DuckCryptInfo.py +++ b/module/plugins/crypter/DuckCryptInfo.py @@ -1,14 +1,16 @@ # -*- coding: utf-8 -*- import re + from module.lib.BeautifulSoup import BeautifulSoup + from module.plugins.Crypter import Crypter class DuckCryptInfo(Crypter): __name__ = "DuckCryptInfo" - __version__ = "0.02" __type__ = "crypter" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?duckcrypt.info/(folder|wait|link)/(\w+)/?(\w*)' diff --git a/module/plugins/crypter/DuploadOrgFolder.py b/module/plugins/crypter/DuploadOrgFolder.py index f2b8da2bd..6f764f687 100644 --- a/module/plugins/crypter/DuploadOrgFolder.py +++ b/module/plugins/crypter/DuploadOrgFolder.py @@ -1,26 +1,12 @@ # -*- 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 . # -############################################################################ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DuploadOrgFolder(SimpleCrypter): __name__ = "DuploadOrgFolder" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?dupload\.org/folder/\d+/' diff --git a/module/plugins/crypter/EasybytezComFolder.py b/module/plugins/crypter/EasybytezComFolder.py index 7c78b7946..7832bef5f 100644 --- a/module/plugins/crypter/EasybytezComFolder.py +++ b/module/plugins/crypter/EasybytezComFolder.py @@ -1,26 +1,12 @@ # -*- 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 . # -############################################################################ from module.plugins.internal.SimpleCrypter import SimpleCrypter class EasybytezComFolder(SimpleCrypter): __name__ = "EasybytezComFolder" - __version__ = "0.06" __type__ = "crypter" + __version__ = "0.06" __pattern__ = r'http://(?:www\.)?easybytez\.com/users/(?P\d+/\d+)' diff --git a/module/plugins/crypter/EmbeduploadCom.py b/module/plugins/crypter/EmbeduploadCom.py index 052f5ca84..6b876ed7f 100644 --- a/module/plugins/crypter/EmbeduploadCom.py +++ b/module/plugins/crypter/EmbeduploadCom.py @@ -7,8 +7,8 @@ from module.network.HTTPRequest import BadHeader class EmbeduploadCom(Crypter): __name__ = "EmbeduploadCom" - __version__ = "0.02" __type__ = "crypter" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?embedupload.com/\?d=.*' __config__ = [("preferedHoster", "str", "Prefered hoster list (bar-separated) ", "embedupload"), diff --git a/module/plugins/crypter/FilebeerInfoFolder.py b/module/plugins/crypter/FilebeerInfoFolder.py index 7a7528066..0743dcb0f 100644 --- a/module/plugins/crypter/FilebeerInfoFolder.py +++ b/module/plugins/crypter/FilebeerInfoFolder.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class FilebeerInfoFolder(DeadCrypter): __name__ = "FilebeerInfoFolder" - __version__ = "0.02" __type__ = "crypter" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?filebeer\.info/(\d+~f).*' diff --git a/module/plugins/crypter/FilecloudIoFolder.py b/module/plugins/crypter/FilecloudIoFolder.py index d3df7c469..9ec950061 100644 --- a/module/plugins/crypter/FilecloudIoFolder.py +++ b/module/plugins/crypter/FilecloudIoFolder.py @@ -1,26 +1,12 @@ # -*- 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 . -############################################################################### from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilecloudIoFolder(SimpleCrypter): __name__ = "FilecloudIoFolder" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'https?://(?:www\.)?(filecloud\.io|ifile\.it)/_\w+' diff --git a/module/plugins/crypter/FilefactoryComFolder.py b/module/plugins/crypter/FilefactoryComFolder.py index ce20ee6eb..562c56732 100644 --- a/module/plugins/crypter/FilefactoryComFolder.py +++ b/module/plugins/crypter/FilefactoryComFolder.py @@ -5,8 +5,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilefactoryComFolder(SimpleCrypter): __name__ = "FilefactoryComFolder" - __version__ = "0.2" __type__ = "crypter" + __version__ = "0.2" __pattern__ = r'https?://(?:www\.)?filefactory\.com/(?:f|folder)/\w+' diff --git a/module/plugins/crypter/FilerNetFolder.py b/module/plugins/crypter/FilerNetFolder.py index 77e7409e9..9951661b5 100644 --- a/module/plugins/crypter/FilerNetFolder.py +++ b/module/plugins/crypter/FilerNetFolder.py @@ -5,8 +5,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilerNetFolder(SimpleCrypter): __name__ = "FilerNetFolder" - __version__ = "0.3" __type__ = "crypter" + __version__ = "0.3" __pattern__ = r'https?://filer\.net/folder/\w{16}' diff --git a/module/plugins/crypter/FileserveComFolder.py b/module/plugins/crypter/FileserveComFolder.py index 4a0d5a416..2db6baf0e 100644 --- a/module/plugins/crypter/FileserveComFolder.py +++ b/module/plugins/crypter/FileserveComFolder.py @@ -7,8 +7,8 @@ from module.plugins.Crypter import Crypter class FileserveComFolder(Crypter): __name__ = "FileserveComFolder" - __version__ = "0.11" __type__ = "crypter" + __version__ = "0.11" __pattern__ = r'http://(?:www\.)?fileserve.com/list/\w+' diff --git a/module/plugins/crypter/FilestubeCom.py b/module/plugins/crypter/FilestubeCom.py index 7576319e0..f0aaaa579 100644 --- a/module/plugins/crypter/FilestubeCom.py +++ b/module/plugins/crypter/FilestubeCom.py @@ -1,26 +1,12 @@ # -*- 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 . # -############################################################################ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilestubeCom(SimpleCrypter): __name__ = "FilestubeCom" - __version__ = "0.03" __type__ = "crypter" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?filestube\.(?:com|to)/\w+' diff --git a/module/plugins/crypter/FiletramCom.py b/module/plugins/crypter/FiletramCom.py index 2491c1322..7052955cf 100644 --- a/module/plugins/crypter/FiletramCom.py +++ b/module/plugins/crypter/FiletramCom.py @@ -1,26 +1,12 @@ # -*- 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 . # -############################################################################ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FiletramCom(SimpleCrypter): __name__ = "FiletramCom" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?filetram.com/[^/]+/.+' diff --git a/module/plugins/crypter/FiredriveComFolder.py b/module/plugins/crypter/FiredriveComFolder.py index c0db299b0..a94d0847f 100644 --- a/module/plugins/crypter/FiredriveComFolder.py +++ b/module/plugins/crypter/FiredriveComFolder.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 . -############################################################################### import re @@ -21,8 +7,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FiredriveComFolder(SimpleCrypter): __name__ = "FiredriveComFolder" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'https?://(?:www\.)?(firedrive|putlocker)\.com/share/.+' diff --git a/module/plugins/crypter/FourChanOrg.py b/module/plugins/crypter/FourChanOrg.py index a911c64d6..c497fa799 100644 --- a/module/plugins/crypter/FourChanOrg.py +++ b/module/plugins/crypter/FourChanOrg.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Based on 4chandl by Roland Beermann -# https://gist.github.com/enkore/3492599 +# +# Based on 4chandl by Roland Beermann (https://gist.github.com/enkore/3492599) import re @@ -9,8 +9,8 @@ from module.plugins.Crypter import Crypter class FourChanOrg(Crypter): __name__ = "FourChanOrg" - __version__ = "0.3" __type__ = "crypter" + __version__ = "0.3" __pattern__ = r'http://(?:www\.)?boards\.4chan.org/\w+/res/(\d+)' diff --git a/module/plugins/crypter/FreakhareComFolder.py b/module/plugins/crypter/FreakhareComFolder.py index ddc05199b..2a6877891 100644 --- a/module/plugins/crypter/FreakhareComFolder.py +++ b/module/plugins/crypter/FreakhareComFolder.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 . # -############################################################################ import re @@ -21,8 +7,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FreakhareComFolder(SimpleCrypter): __name__ = "FreakhareComFolder" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?freakshare\.com/folder/.+' diff --git a/module/plugins/crypter/FreetexthostCom.py b/module/plugins/crypter/FreetexthostCom.py index a6fb78d8e..bd8a90ce5 100644 --- a/module/plugins/crypter/FreetexthostCom.py +++ b/module/plugins/crypter/FreetexthostCom.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 . # -############################################################################ import re @@ -21,8 +7,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FreetexthostCom(SimpleCrypter): __name__ = "FreetexthostCom" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?freetexthost\.com/\w+' diff --git a/module/plugins/crypter/FshareVnFolder.py b/module/plugins/crypter/FshareVnFolder.py index 9f5162125..5976ff6d5 100644 --- a/module/plugins/crypter/FshareVnFolder.py +++ b/module/plugins/crypter/FshareVnFolder.py @@ -5,8 +5,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FshareVnFolder(SimpleCrypter): __name__ = "FshareVnFolder" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?fshare.vn/folder/.*' diff --git a/module/plugins/crypter/GooGl.py b/module/plugins/crypter/GooGl.py index 52bf93ed3..1d9c2801f 100644 --- a/module/plugins/crypter/GooGl.py +++ b/module/plugins/crypter/GooGl.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 . # -############################################################################ from module.plugins.Crypter import Crypter from module.common.json_layer import json_loads @@ -20,8 +6,8 @@ from module.common.json_layer import json_loads class GooGl(Crypter): __name__ = "GooGl" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'https?://(?:www\.)?goo\.gl/\w+' diff --git a/module/plugins/crypter/HoerbuchIn.py b/module/plugins/crypter/HoerbuchIn.py index 88fc57244..924ce5d3a 100644 --- a/module/plugins/crypter/HoerbuchIn.py +++ b/module/plugins/crypter/HoerbuchIn.py @@ -2,14 +2,15 @@ import re -from module.plugins.Crypter import Crypter from module.lib.BeautifulSoup import BeautifulSoup, BeautifulStoneSoup +from module.plugins.Crypter import Crypter + class HoerbuchIn(Crypter): __name__ = "HoerbuchIn" - __version__ = "0.6" __type__ = "crypter" + __version__ = "0.6" __pattern__ = r'http://(?:www\.)?hoerbuch\.in/(wp/horbucher/\d+/.+/|tp/out.php\?.+|protection/folder_\d+\.html)' diff --git a/module/plugins/crypter/HotfileFolderCom.py b/module/plugins/crypter/HotfileFolderCom.py index 433dc9755..3efd8fc87 100644 --- a/module/plugins/crypter/HotfileFolderCom.py +++ b/module/plugins/crypter/HotfileFolderCom.py @@ -7,8 +7,8 @@ from module.plugins.Crypter import Crypter class HotfileFolderCom(Crypter): __name__ = "HotfileFolderCom" - __version__ = "0.1" __type__ = "crypter" + __version__ = "0.1" __pattern__ = r'http://(?:www\.)?hotfile.com/list/\w+/\w+' diff --git a/module/plugins/crypter/ILoadTo.py b/module/plugins/crypter/ILoadTo.py index e003e07f4..d7818570a 100644 --- a/module/plugins/crypter/ILoadTo.py +++ b/module/plugins/crypter/ILoadTo.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class ILoadTo(DeadCrypter): __name__ = "ILoadTo" - __version__ = "0.11" __type__ = "crypter" + __version__ = "0.11" __pattern__ = r'http://(?:www\.)?iload\.to/go/\d+-[\w\.-]+/' diff --git a/module/plugins/crypter/ImgurComAlbum.py b/module/plugins/crypter/ImgurComAlbum.py index 394673586..eb1f4441a 100644 --- a/module/plugins/crypter/ImgurComAlbum.py +++ b/module/plugins/crypter/ImgurComAlbum.py @@ -6,8 +6,8 @@ from module.utils import uniqify class ImgurComAlbum(SimpleCrypter): __name__ = "ImgurComAlbum" - __version__ = "0.4" __type__ = "crypter" + __version__ = "0.4" __pattern__ = r'https?://(?:www\.|m\.)?imgur\.com/(a|gallery|)/?\w{5,7}' diff --git a/module/plugins/crypter/LetitbitNetFolder.py b/module/plugins/crypter/LetitbitNetFolder.py index adb2918a6..0297d2007 100644 --- a/module/plugins/crypter/LetitbitNetFolder.py +++ b/module/plugins/crypter/LetitbitNetFolder.py @@ -6,8 +6,8 @@ from module.plugins.Crypter import Crypter class LetitbitNetFolder(Crypter): __name__ = "LetitbitNetFolder" - __version__ = "0.1" __type__ = "crypter" + __version__ = "0.1" __pattern__ = r'http://(?:www\.)?letitbit.net/folder/\w+' diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index 6e024c766..060a434d2 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -1,10 +1,7 @@ # -*- coding: utf-8 -*- - # -# v2.01 - hagg # * cnl2 and web links are skipped if JS is not available (instead of failing the package) # * only best available link source is used (priority: cnl2>rsdf>ccf>dlc>web -# import base64 import binascii @@ -17,8 +14,8 @@ from module.unescape import unescape class LinkSaveIn(Crypter): __name__ = "LinkSaveIn" - __version__ = "2.01" __type__ = "crypter" + __version__ = "2.01" __pattern__ = r'http://(?:www\.)?linksave.in/(?P\w+)$' diff --git a/module/plugins/crypter/LinkdecrypterCom.py b/module/plugins/crypter/LinkdecrypterCom.py index 2671c19c6..21f05b962 100644 --- a/module/plugins/crypter/LinkdecrypterCom.py +++ b/module/plugins/crypter/LinkdecrypterCom.py @@ -1,28 +1,13 @@ # -*- 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 . -""" - import re from module.plugins.Crypter import Crypter class LinkdecrypterCom(Crypter): __name__ = "LinkdecrypterCom" - __version__ = "0.27" __type__ = "crypter" + __version__ = "0.27" __pattern__ = None diff --git a/module/plugins/crypter/LixIn.py b/module/plugins/crypter/LixIn.py index a39173903..cdf87eeb2 100644 --- a/module/plugins/crypter/LixIn.py +++ b/module/plugins/crypter/LixIn.py @@ -7,8 +7,8 @@ from module.plugins.Crypter import Crypter class LixIn(Crypter): __name__ = "LixIn" - __version__ = "0.22" __type__ = "crypter" + __version__ = "0.22" __pattern__ = r'http://(www.)?lix.in/(?P.*)' diff --git a/module/plugins/crypter/LofCc.py b/module/plugins/crypter/LofCc.py index 91106dc51..8a5cd86ee 100644 --- a/module/plugins/crypter/LofCc.py +++ b/module/plugins/crypter/LofCc.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class LofCc(DeadCrypter): __name__ = "LofCc" - __version__ = "0.21" __type__ = "crypter" + __version__ = "0.21" __pattern__ = r'http://(?:www\.)?lof.cc/(.*)' diff --git a/module/plugins/crypter/MBLinkInfo.py b/module/plugins/crypter/MBLinkInfo.py index 0162c111d..4fc066e57 100644 --- a/module/plugins/crypter/MBLinkInfo.py +++ b/module/plugins/crypter/MBLinkInfo.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class MBLinkInfo(DeadCrypter): __name__ = "MBLinkInfo" - __version__ = "0.03" __type__ = "crypter" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?mblink\.info/?\?id=(\d+)' diff --git a/module/plugins/crypter/MediafireComFolder.py b/module/plugins/crypter/MediafireComFolder.py index 5dd4e555b..bb7c90722 100644 --- a/module/plugins/crypter/MediafireComFolder.py +++ b/module/plugins/crypter/MediafireComFolder.py @@ -8,8 +8,8 @@ from module.common.json_layer import json_loads class MediafireComFolder(Crypter): __name__ = "MediafireComFolder" - __version__ = "0.14" __type__ = "crypter" + __version__ = "0.14" __pattern__ = r'http://(?:www\.)?mediafire\.com/(folder/|\?sharekey=|\?\w{13}($|[/#]))' @@ -26,7 +26,7 @@ class MediafireComFolder(Crypter): self.logDebug('Location (%d): %s' % (result, url)) if result == 0: - # load and parse html + # load and parse html html = self.load(pyfile.url) m = re.search(self.FILE_URL_PATTERN, html) if m: diff --git a/module/plugins/crypter/Movie2kTo.py b/module/plugins/crypter/Movie2kTo.py index dcebf5e03..ba201621f 100644 --- a/module/plugins/crypter/Movie2kTo.py +++ b/module/plugins/crypter/Movie2kTo.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class Movie2kTo(DeadCrypter): __name__ = "Movie2kTo" - __version__ = "0.51" __type__ = "crypter" + __version__ = "0.51" __pattern__ = r'http://(?:www\.)?movie2k\.to/(.*)\.html' diff --git a/module/plugins/crypter/MultiUpOrg.py b/module/plugins/crypter/MultiUpOrg.py index ab23def8d..ffeaa6f04 100644 --- a/module/plugins/crypter/MultiUpOrg.py +++ b/module/plugins/crypter/MultiUpOrg.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 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 . -############################################################################### - import re from urlparse import urljoin @@ -23,8 +8,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class MultiUpOrg(SimpleCrypter): __name__ = "MultiUpOrg" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?multiup\.org/(en|fr)/(?Pproject|download|miror)/\w+(/\w+)?' diff --git a/module/plugins/crypter/MultiloadCz.py b/module/plugins/crypter/MultiloadCz.py index 4b39872a7..7d43ec729 100644 --- a/module/plugins/crypter/MultiloadCz.py +++ b/module/plugins/crypter/MultiloadCz.py @@ -6,8 +6,8 @@ from module.plugins.Crypter import Crypter class MultiloadCz(Crypter): __name__ = "MultiloadCz" - __version__ = "0.4" __type__ = "crypter" + __version__ = "0.4" __pattern__ = r'http://(?:[^/]*\.)?multiload.cz/(stahnout|slozka)/.*' __config__ = [("usedHoster", "str", "Prefered hoster list (bar-separated) ", ""), diff --git a/module/plugins/crypter/MultiuploadCom.py b/module/plugins/crypter/MultiuploadCom.py index f5c0e292b..96cd734e4 100644 --- a/module/plugins/crypter/MultiuploadCom.py +++ b/module/plugins/crypter/MultiuploadCom.py @@ -9,8 +9,8 @@ from module.common.json_layer import json_loads class MultiuploadCom(Crypter): __name__ = "MultiuploadCom" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?multiupload.com/(\w+)' __config__ = [("preferedHoster", "str", "Prefered hoster list (bar-separated) ", "multiupload"), diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index 9a9d76f51..1b7b8b3d4 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -12,8 +12,8 @@ from module.plugins.internal.CaptchaService import ReCaptcha class NCryptIn(Crypter): __name__ = "NCryptIn" - __version__ = "1.32" __type__ = "crypter" + __version__ = "1.32" __pattern__ = r'http://(?:www\.)?ncrypt.in/(?Pfolder|link|frame)-([^/\?]+)' @@ -54,7 +54,7 @@ class NCryptIn(Crypter): if not self.isOnline(): self.offline() - # Check for folder protection + # Check for folder protection if self.isProtected(): self.html = self.unlockProtection() self.cleanedHtml = self.removeHtmlCrap(self.html) @@ -141,7 +141,7 @@ class NCryptIn(Crypter): self.logDebug("Captcha resolved [%s]" % captcha) postData['captcha'] = captcha - # Resolve recaptcha + # Resolve recaptcha if "recaptcha" in form: self.logDebug("ReCaptcha protected") captcha_key = re.search(r'\?k=(.*?)"', form).group(1) diff --git a/module/plugins/crypter/NetfolderIn.py b/module/plugins/crypter/NetfolderIn.py index 4c7660ab5..1c337391c 100644 --- a/module/plugins/crypter/NetfolderIn.py +++ b/module/plugins/crypter/NetfolderIn.py @@ -7,8 +7,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class NetfolderIn(SimpleCrypter): __name__ = "NetfolderIn" - __version__ = "0.6" __type__ = "crypter" + __version__ = "0.6" __pattern__ = r'http://(?:www\.)?netfolder.in/((?P\w+)/\w+|folder.php\?folder_id=(?P\w+))' @@ -23,7 +23,7 @@ class NetfolderIn(SimpleCrypter): # Request package self.html = self.load(pyfile.url) - # Check for password protection + # Check for password protection if self.isPasswordProtected(): self.html = self.submitPassword() if not self.html: @@ -55,7 +55,7 @@ class NetfolderIn(SimpleCrypter): url = "http://netfolder.in/folder.php?folder_id=" + id password = self.getPassword() - # Submit package password + # Submit package password post = {'password': password, 'save': 'Absenden'} self.logDebug("Submitting password [%s] for protected links with id [%s]" % (password, id)) html = self.load(url, {}, post) diff --git a/module/plugins/crypter/NosvideoCom.py b/module/plugins/crypter/NosvideoCom.py index 2656b9374..a3bb11b16 100644 --- a/module/plugins/crypter/NosvideoCom.py +++ b/module/plugins/crypter/NosvideoCom.py @@ -5,8 +5,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class NosvideoCom(SimpleCrypter): __name__ = "NosvideoCom" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?nosvideo\.com/\?v=\w+' diff --git a/module/plugins/crypter/OneKhDe.py b/module/plugins/crypter/OneKhDe.py index 91c591ec1..ba93278d5 100644 --- a/module/plugins/crypter/OneKhDe.py +++ b/module/plugins/crypter/OneKhDe.py @@ -8,8 +8,8 @@ from module.plugins.Crypter import Crypter class OneKhDe(Crypter): __name__ = "OneKhDe" - __version__ = "0.1" __type__ = "crypter" + __version__ = "0.1" __pattern__ = r'http://(?:www\.)?1kh.de/f/' diff --git a/module/plugins/crypter/OronComFolder.py b/module/plugins/crypter/OronComFolder.py index 988c5c959..f0b2f943c 100755 --- a/module/plugins/crypter/OronComFolder.py +++ b/module/plugins/crypter/OronComFolder.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class OronComFolder(DeadCrypter): __name__ = "OronComFolder" - __version__ = "0.11" __type__ = "crypter" + __version__ = "0.11" __pattern__ = r'http://(?:www\.)?oron.com/folder/\w+' diff --git a/module/plugins/crypter/PastebinCom.py b/module/plugins/crypter/PastebinCom.py index 172a4183f..55aa2ee4a 100644 --- a/module/plugins/crypter/PastebinCom.py +++ b/module/plugins/crypter/PastebinCom.py @@ -1,26 +1,12 @@ # -*- 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 . # -############################################################################ from module.plugins.internal.SimpleCrypter import SimpleCrypter class PastebinCom(SimpleCrypter): __name__ = "PastebinCom" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?pastebin\.com/\w+' diff --git a/module/plugins/crypter/QuickshareCzFolder.py b/module/plugins/crypter/QuickshareCzFolder.py index 1e569a20a..9840b84df 100644 --- a/module/plugins/crypter/QuickshareCzFolder.py +++ b/module/plugins/crypter/QuickshareCzFolder.py @@ -6,8 +6,8 @@ from module.plugins.Crypter import Crypter class QuickshareCzFolder(Crypter): __name__ = "QuickshareCzFolder" - __version__ = "0.1" __type__ = "crypter" + __version__ = "0.1" __pattern__ = r'http://(?:www\.)?quickshare.cz/slozka-\d+.*' diff --git a/module/plugins/crypter/RSLayerCom.py b/module/plugins/crypter/RSLayerCom.py index 637caf2ce..7dda0beab 100644 --- a/module/plugins/crypter/RSLayerCom.py +++ b/module/plugins/crypter/RSLayerCom.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class RSLayerCom(DeadCrypter): __name__ = "RSLayerCom" - __version__ = "0.21" __type__ = "crypter" + __version__ = "0.21" __pattern__ = r'http://(?:www\.)?rs-layer.com/directory-' diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index 160900144..1b120fc77 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -11,8 +11,8 @@ from module.plugins.Crypter import Crypter class RelinkUs(Crypter): __name__ = "RelinkUs" - __version__ = "3.0" __type__ = "crypter" + __version__ = "3.0" __pattern__ = r'http://(?:www\.)?relink.us/(f/|((view|go).php\?id=))(?P.+)' @@ -63,7 +63,7 @@ class RelinkUs(Crypter): if not self.isOnline(): self.offline() - # Check for protection + # Check for protection if self.isPasswordProtected(): self.unlockPasswordProtection() self.handleErrors() @@ -133,7 +133,7 @@ class RelinkUs(Crypter): def getPackageInfo(self): name = folder = None - # Try to get info from web + # Try to get info from web m = re.search(self.FILE_TITLE_REGEX, self.html) if m is not None: title = m.group(1).strip() @@ -147,7 +147,7 @@ class RelinkUs(Crypter): folder = self.package.folder self.logDebug("Package info not found, defaulting to pyfile name [%s] and folder [%s]" % (name, folder)) - # Return package info + # Return package info return name, folder def handleErrors(self): diff --git a/module/plugins/crypter/SafelinkingNet.py b/module/plugins/crypter/SafelinkingNet.py index 2687ed2f2..e0c165705 100644 --- a/module/plugins/crypter/SafelinkingNet.py +++ b/module/plugins/crypter/SafelinkingNet.py @@ -1,18 +1,20 @@ # -*- coding: utf-8 -*- import re + from pycurl import FOLLOWLOCATION +from module.lib.BeautifulSoup import BeautifulSoup + from module.common.json_layer import json_loads from module.plugins.Crypter import Crypter from module.plugins.internal.CaptchaService import SolveMedia -from module.lib.BeautifulSoup import BeautifulSoup class SafelinkingNet(Crypter): __name__ = "SafelinkingNet" - __version__ = "0.1" __type__ = "crypter" + __version__ = "0.1" __pattern__ = r'https?://(?:www\.)?safelinking.net/([pd])/\w+' diff --git a/module/plugins/crypter/SecuredIn.py b/module/plugins/crypter/SecuredIn.py index 1a6650195..0b558c688 100644 --- a/module/plugins/crypter/SecuredIn.py +++ b/module/plugins/crypter/SecuredIn.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class SecuredIn(DeadCrypter): __name__ = "SecuredIn" - __version__ = "0.21" __type__ = "crypter" + __version__ = "0.21" __pattern__ = r'http://(?:www\.)?secured\.in/download-[\d]+-[\w]{8}\.html' diff --git a/module/plugins/crypter/SerienjunkiesOrg.py b/module/plugins/crypter/SerienjunkiesOrg.py index ea76d30d0..fe4ee4e36 100644 --- a/module/plugins/crypter/SerienjunkiesOrg.py +++ b/module/plugins/crypter/SerienjunkiesOrg.py @@ -6,14 +6,15 @@ import re from time import sleep from module.lib.BeautifulSoup import BeautifulSoup + from module.plugins.Crypter import Crypter from module.unescape import unescape class SerienjunkiesOrg(Crypter): __name__ = "SerienjunkiesOrg" - __version__ = "0.39" __type__ = "crypter" + __version__ = "0.39" __pattern__ = r'http://(?:www\.)?(serienjunkies.org|dokujunkies.org)/.*?' __config__ = [("changeNameSJ", "Packagename;Show;Season;Format;Episode", "Take SJ.org name", "Show"), diff --git a/module/plugins/crypter/ShareLinksBiz.py b/module/plugins/crypter/ShareLinksBiz.py index b56f90e15..87bb16a50 100644 --- a/module/plugins/crypter/ShareLinksBiz.py +++ b/module/plugins/crypter/ShareLinksBiz.py @@ -10,8 +10,8 @@ from module.plugins.Crypter import Crypter class ShareLinksBiz(Crypter): __name__ = "ShareLinksBiz" - __version__ = "1.13" __type__ = "crypter" + __version__ = "1.13" __pattern__ = r'http://(?:www\.)?(share-links|s2l)\.biz/(?P_?\w+)' diff --git a/module/plugins/crypter/ShareRapidComFolder.py b/module/plugins/crypter/ShareRapidComFolder.py index e44402a52..fd12ff96f 100644 --- a/module/plugins/crypter/ShareRapidComFolder.py +++ b/module/plugins/crypter/ShareRapidComFolder.py @@ -5,8 +5,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class ShareRapidComFolder(SimpleCrypter): __name__ = "ShareRapidComFolder" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?((share(-?rapid\.(biz|com|cz|info|eu|net|org|pl|sk)|-(central|credit|free|net)\.cz|-ms\.net)|(s-?rapid|rapids)\.(cz|sk))|(e-stahuj|mediatack|premium-rapidshare|rapidshare-premium|qiuck)\.cz|kadzet\.com|stahuj-zdarma\.eu|strelci\.net|universal-share\.com)/(slozka/.+)' diff --git a/module/plugins/crypter/SpeedLoadOrgFolder.py b/module/plugins/crypter/SpeedLoadOrgFolder.py index 305397d3c..092d3efe4 100644 --- a/module/plugins/crypter/SpeedLoadOrgFolder.py +++ b/module/plugins/crypter/SpeedLoadOrgFolder.py @@ -1,26 +1,12 @@ # -*- 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 . # -############################################################################ from module.plugins.internal.DeadCrypter import DeadCrypter class SpeedLoadOrgFolder(DeadCrypter): __name__ = "SpeedLoadOrgFolder" - __version__ = "0.3" __type__ = "crypter" + __version__ = "0.3" __pattern__ = r'http://(?:www\.)?speedload\.org/(\d+~f$|folder/\d+/)' diff --git a/module/plugins/crypter/StealthTo.py b/module/plugins/crypter/StealthTo.py index 9cae7ba20..402724e89 100644 --- a/module/plugins/crypter/StealthTo.py +++ b/module/plugins/crypter/StealthTo.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class StealthTo(DeadCrypter): __name__ = "StealthTo" - __version__ = "0.2" __type__ = "crypter" + __version__ = "0.2" __pattern__ = r'http://(?:www\.)?stealth\.to/folder/.+' diff --git a/module/plugins/crypter/TnyCz.py b/module/plugins/crypter/TnyCz.py index 3ff9aa5dd..3ae2c5ed2 100644 --- a/module/plugins/crypter/TnyCz.py +++ b/module/plugins/crypter/TnyCz.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 . -""" - from module.plugins.internal.SimpleCrypter import SimpleCrypter import re @@ -22,8 +7,8 @@ import re class TnyCz(SimpleCrypter): __name__ = "TnyCz" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = r'http://(?:www\.)?tny\.cz/\w+' diff --git a/module/plugins/crypter/TrailerzoneInfo.py b/module/plugins/crypter/TrailerzoneInfo.py index 2c7bb2c9f..42e45a819 100644 --- a/module/plugins/crypter/TrailerzoneInfo.py +++ b/module/plugins/crypter/TrailerzoneInfo.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class TrailerzoneInfo(DeadCrypter): __name__ = "TrailerzoneInfo" - __version__ = "0.03" __type__ = "crypter" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?trailerzone.info/.*?' diff --git a/module/plugins/crypter/TurbobitNetFolder.py b/module/plugins/crypter/TurbobitNetFolder.py index 26923e8d4..0810e0ed1 100644 --- a/module/plugins/crypter/TurbobitNetFolder.py +++ b/module/plugins/crypter/TurbobitNetFolder.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 . -############################################################################### import re @@ -22,8 +8,8 @@ from module.common.json_layer import json_loads class TurbobitNetFolder(SimpleCrypter): __name__ = "TurbobitNetFolder" - __version__ = "0.03" __type__ = "crypter" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?turbobit\.net/download/folder/(?P\w+)' diff --git a/module/plugins/crypter/TusfilesNetFolder.py b/module/plugins/crypter/TusfilesNetFolder.py index 70b7bd4b9..f51c2b715 100644 --- a/module/plugins/crypter/TusfilesNetFolder.py +++ b/module/plugins/crypter/TusfilesNetFolder.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 . -############################################################################### import math import re @@ -23,8 +9,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class TusfilesNetFolder(SimpleCrypter): __name__ = "TusfilesNetFolder" - __version__ = "0.02" __type__ = "crypter" + __version__ = "0.02" __pattern__ = r'https?://(?:www\.)?tusfiles\.net/go/(?P\w+)/?' diff --git a/module/plugins/crypter/UlozToFolder.py b/module/plugins/crypter/UlozToFolder.py index dfa1bb8c4..06d30099c 100644 --- a/module/plugins/crypter/UlozToFolder.py +++ b/module/plugins/crypter/UlozToFolder.py @@ -6,8 +6,8 @@ from module.plugins.Crypter import Crypter class UlozToFolder(Crypter): __name__ = "UlozToFolder" - __version__ = "0.2" __type__ = "crypter" + __version__ = "0.2" __pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj.cz|zachowajto.pl)/(m|soubory)/.*' diff --git a/module/plugins/crypter/UploadedToFolder.py b/module/plugins/crypter/UploadedToFolder.py index 36dd9714a..068412062 100644 --- a/module/plugins/crypter/UploadedToFolder.py +++ b/module/plugins/crypter/UploadedToFolder.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 . # -############################################################################ import re @@ -21,8 +7,8 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class UploadedToFolder(SimpleCrypter): __name__ = "UploadedToFolder" - __version__ = "0.3" __type__ = "crypter" + __version__ = "0.3" __pattern__ = r'http://(?:www\.)?(uploaded|ul)\.(to|net)/(f|folder|list)/(?P\w+)' diff --git a/module/plugins/crypter/WiiReloadedOrg.py b/module/plugins/crypter/WiiReloadedOrg.py index 9cb0751d8..cb02fbd2d 100644 --- a/module/plugins/crypter/WiiReloadedOrg.py +++ b/module/plugins/crypter/WiiReloadedOrg.py @@ -5,8 +5,8 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class WiiReloadedOrg(DeadCrypter): __name__ = "WiiReloadedOrg" - __version__ = "0.11" __type__ = "crypter" + __version__ = "0.11" __pattern__ = r'http://(?:www\.)?wii-reloaded\.org/protect/get\.php\?i=.+' diff --git a/module/plugins/crypter/XupPl.py b/module/plugins/crypter/XupPl.py index e89f4ccb0..5e5f511a8 100644 --- a/module/plugins/crypter/XupPl.py +++ b/module/plugins/crypter/XupPl.py @@ -5,8 +5,8 @@ from module.plugins.Crypter import Crypter class XupPl(Crypter): __name__ = "XupPl" - __version__ = "0.1" __type__ = "crypter" + __version__ = "0.1" __pattern__ = r'https?://(?:[^/]*\.)?xup\.pl/.*' diff --git a/module/plugins/crypter/YoutubeBatch.py b/module/plugins/crypter/YoutubeBatch.py index 216fbb670..1caca16bd 100644 --- a/module/plugins/crypter/YoutubeBatch.py +++ b/module/plugins/crypter/YoutubeBatch.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 . -""" - import re from urlparse import urljoin @@ -28,8 +13,8 @@ API_URL = "AIzaSyCKnWLNlkX-L4oD1aEzqqhRw1zczeD6_k0" class YoutubeBatch(Crypter): __name__ = "YoutubeBatch" - __version__ = "1.00" __type__ = "crypter" + __version__ = "1.00" __pattern__ = r'https?://(?:www\.|m\.)?youtube\.com/(?Puser|playlist|view_play_list)(/|.*?[?&](?:list|p)=)(?P[\w-]+)' __config__ = [("likes", "bool", "Grab user (channel) liked videos", False), diff --git a/module/plugins/hooks/AlldebridCom.py b/module/plugins/hooks/AlldebridCom.py index 1ef9b252a..906875a69 100644 --- a/module/plugins/hooks/AlldebridCom.py +++ b/module/plugins/hooks/AlldebridCom.py @@ -1,15 +1,13 @@ # -*- coding: utf-8 -*- -# should be working - from module.network.RequestFactory import getURL from module.plugins.internal.MultiHoster import MultiHoster class AlldebridCom(MultiHoster): __name__ = "AlldebridCom" - __version__ = "0.13" __type__ = "hook" + __version__ = "0.13" __config__ = [("activated", "bool", "Activated", False), ("https", "bool", "Enable HTTPS", False), diff --git a/module/plugins/hooks/BypassCaptcha.py b/module/plugins/hooks/BypassCaptcha.py index 5ac117818..d62de24a7 100644 --- a/module/plugins/hooks/BypassCaptcha.py +++ b/module/plugins/hooks/BypassCaptcha.py @@ -1,30 +1,12 @@ # -*- 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 . -""" - -from thread import start_new_thread from pycurl import FORM_FILE, LOW_SPEED_TIME +from thread import start_new_thread -from module.network.RequestFactory import getURL, getRequest from module.network.HTTPRequest import BadHeader - +from module.network.RequestFactory import getURL, getRequest from module.plugins.Hook import Hook -PYLOAD_KEY = "4f771155b640970d5607f919a615bdefc67e7d32" - class BypassCaptchaException(Exception): @@ -43,8 +25,8 @@ class BypassCaptchaException(Exception): class BypassCaptcha(Hook): __name__ = "BypassCaptcha" - __version__ = "0.04" __type__ = "hook" + __version__ = "0.04" __config__ = [("activated", "bool", "Activated", False), ("force", "bool", "Force BC even if client is connected", False), @@ -54,6 +36,8 @@ class BypassCaptcha(Hook): __author_name__ = ("RaNaN", "Godofdream", "zoidberg") __author_mail__ = ("RaNaN@pyload.org", "soilfcition@gmail.com", "zoidberg@mujmail.cz") + PYLOAD_KEY = "4f771155b640970d5607f919a615bdefc67e7d32" + SUBMIT_URL = "http://bypasscaptcha.com/upload.php" RESPOND_URL = "http://bypasscaptcha.com/check_value.php" GETCREDITS_URL = "http://bypasscaptcha.com/ex_left.php" @@ -76,7 +60,7 @@ class BypassCaptcha(Hook): try: response = req.load(self.SUBMIT_URL, - post={"vendor_key": PYLOAD_KEY, + post={"vendor_key": self.PYLOAD_KEY, "key": self.getConfig("passkey"), "gen_task_id": "1", "file": (FORM_FILE, captcha)}, diff --git a/module/plugins/hooks/Captcha9kw.py b/module/plugins/hooks/Captcha9kw.py index b4e3ad34b..1b7406edd 100755 --- a/module/plugins/hooks/Captcha9kw.py +++ b/module/plugins/hooks/Captcha9kw.py @@ -1,35 +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 . -""" from __future__ import with_statement -from thread import start_new_thread -from base64 import b64encode import time -from module.network.RequestFactory import getURL -from module.network.HTTPRequest import BadHeader +from base64 import b64encode +from thread import start_new_thread +from module.network.HTTPRequest import BadHeader +from module.network.RequestFactory import getURL from module.plugins.Hook import Hook class Captcha9kw(Hook): __name__ = "Captcha9kw" - __version__ = "0.09" __type__ = "hook" + __version__ = "0.09" __config__ = [("activated", "bool", "Activated", False), ("force", "bool", "Force CT even if client is connected", True), diff --git a/module/plugins/hooks/CaptchaBrotherhood.py b/module/plugins/hooks/CaptchaBrotherhood.py index 54dfbe4d6..e240cbbc0 100644 --- a/module/plugins/hooks/CaptchaBrotherhood.py +++ b/module/plugins/hooks/CaptchaBrotherhood.py @@ -1,28 +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 . -""" from __future__ import with_statement -from thread import start_new_thread - -import pycurl import StringIO -from urllib import urlencode -from time import sleep +import pycurl + from PIL import Image +from thread import start_new_thread +from time import sleep +from urllib import urlencode from module.network.RequestFactory import getURL, getRequest from module.plugins.Hook import Hook @@ -45,8 +31,8 @@ class CaptchaBrotherhoodException(Exception): class CaptchaBrotherhood(Hook): __name__ = "CaptchaBrotherhood" - __version__ = "0.05" __type__ = "hook" + __version__ = "0.05" __config__ = [("activated", "bool", "Activated", False), ("username", "str", "Username", ""), diff --git a/module/plugins/hooks/Checksum.py b/module/plugins/hooks/Checksum.py index a51eb4b47..0fe2ae88c 100644 --- a/module/plugins/hooks/Checksum.py +++ b/module/plugins/hooks/Checksum.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 . -""" - from __future__ import with_statement + import hashlib +import re import zlib + from os import remove from os.path import getsize, isfile, splitext -import re -from module.utils import save_join, fs_encode from module.plugins.Hook import Hook +from module.utils import save_join, fs_encode def computeChecksum(local_file, algorithm): @@ -52,8 +39,8 @@ def computeChecksum(local_file, algorithm): class Checksum(Hook): __name__ = "Checksum" - __version__ = "0.12" __type__ = "hook" + __version__ = "0.12" __config__ = [("activated", "bool", "Activated", False), ("check_action", "fail;retry;nothing", "What to do if check fails?", "retry"), diff --git a/module/plugins/hooks/ClickAndLoad.py b/module/plugins/hooks/ClickAndLoad.py index 3c47d30ce..5c523caf7 100644 --- a/module/plugins/hooks/ClickAndLoad.py +++ b/module/plugins/hooks/ClickAndLoad.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 . -""" - import socket import thread @@ -23,8 +8,8 @@ from module.plugins.Hook import Hook class ClickAndLoad(Hook): __name__ = "ClickAndLoad" - __version__ = "0.22" __type__ = "hook" + __version__ = "0.22" __config__ = [("activated", "bool", "Activated", True), ("extern", "bool", "Allow external link adding", False)] diff --git a/module/plugins/hooks/DeathByCaptcha.py b/module/plugins/hooks/DeathByCaptcha.py index 64ed2280f..530395d32 100644 --- a/module/plugins/hooks/DeathByCaptcha.py +++ b/module/plugins/hooks/DeathByCaptcha.py @@ -1,31 +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 . -""" from __future__ import with_statement -from thread import start_new_thread +import re + +from base64 import b64encode from pycurl import FORM_FILE, HTTPHEADER +from thread import start_new_thread from time import sleep -from base64 import b64encode -import re -from module.network.RequestFactory import getRequest +from module.common.json_layer import json_loads from module.network.HTTPRequest import BadHeader +from module.network.RequestFactory import getRequest from module.plugins.Hook import Hook -from module.common.json_layer import json_loads class DeathByCaptchaException(Exception): @@ -59,8 +46,8 @@ class DeathByCaptchaException(Exception): class DeathByCaptcha(Hook): __name__ = "DeathByCaptcha" - __version__ = "0.03" __type__ = "hook" + __version__ = "0.03" __config__ = [("activated", "bool", "Activated", False), ("username", "str", "Username", ""), @@ -134,7 +121,7 @@ class DeathByCaptcha(Hook): raise DeathByCaptchaException('service-overload') def submit(self, captcha, captchaType="file", match=None): - #workaround multipart-post bug in HTTPRequest.py + #workaround multipart-post bug in HTTPRequest.py if re.match("^[A-Za-z0-9]*$", self.getConfig("passkey")): multipart = True data = (FORM_FILE, captcha) diff --git a/module/plugins/hooks/DebridItaliaCom.py b/module/plugins/hooks/DebridItaliaCom.py index 1a081da7a..88efb6b2a 100644 --- a/module/plugins/hooks/DebridItaliaCom.py +++ b/module/plugins/hooks/DebridItaliaCom.py @@ -1,26 +1,12 @@ # -*- 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 . # -############################################################################ from module.plugins.internal.MultiHoster import MultiHoster class DebridItaliaCom(MultiHoster): __name__ = "DebridItaliaCom" - __version__ = "0.07" __type__ = "hook" + __version__ = "0.07" __config__ = [("activated", "bool", "Activated", False), ("hosterListMode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), diff --git a/module/plugins/hooks/DeleteFinished.py b/module/plugins/hooks/DeleteFinished.py index 1c80facc9..bc926906f 100644 --- a/module/plugins/hooks/DeleteFinished.py +++ b/module/plugins/hooks/DeleteFinished.py @@ -1,28 +1,13 @@ # -*- 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 . -""" - from module.database import style from module.plugins.Hook import Hook class DeleteFinished(Hook): __name__ = "DeleteFinished" - __version__ = "1.09" __type__ = "hook" + __version__ = "1.09" __config__ = [('activated', 'bool', 'Activated', 'False'), ('interval', 'int', 'Delete every (hours)', '72'), diff --git a/module/plugins/hooks/DownloadScheduler.py b/module/plugins/hooks/DownloadScheduler.py index 070c0634e..a3d70b3ab 100644 --- a/module/plugins/hooks/DownloadScheduler.py +++ b/module/plugins/hooks/DownloadScheduler.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. - You should have received a copy of the GNU General Public License - along with this program; if not, see . - - Original idea by new.cze -""" - import re + from time import localtime from module.plugins.Hook import Hook @@ -23,8 +9,8 @@ from module.plugins.Hook import Hook class DownloadScheduler(Hook): __name__ = "DownloadScheduler" - __version__ = "0.21" __type__ = "hook" + __version__ = "0.21" __config__ = [("activated", "bool", "Activated", False), ("timetable", "str", "List time periods as hh:mm full or number(kB/s)", diff --git a/module/plugins/hooks/EasybytezCom.py b/module/plugins/hooks/EasybytezCom.py index 1cf5e40ae..da37297d9 100644 --- a/module/plugins/hooks/EasybytezCom.py +++ b/module/plugins/hooks/EasybytezCom.py @@ -7,8 +7,8 @@ from module.plugins.internal.MultiHoster import MultiHoster class EasybytezCom(MultiHoster): __name__ = "EasybytezCom" - __version__ = "0.03" __type__ = "hook" + __version__ = "0.03" __config__ = [("activated", "bool", "Activated", False), ("hosterListMode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), diff --git a/module/plugins/hooks/Ev0InFetcher.py b/module/plugins/hooks/Ev0InFetcher.py index 3a98abbf7..c54c38bc6 100644 --- a/module/plugins/hooks/Ev0InFetcher.py +++ b/module/plugins/hooks/Ev0InFetcher.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 . -""" from time import mktime, time from module.lib import feedparser + from module.plugins.Hook import Hook class Ev0InFetcher(Hook): __name__ = "Ev0InFetcher" - __version__ = "0.21" __type__ = "hook" + __version__ = "0.21" __config__ = [("activated", "bool", "Activated", False), ("interval", "int", "Check interval in minutes", 10), diff --git a/module/plugins/hooks/ExpertDecoders.py b/module/plugins/hooks/ExpertDecoders.py index 9e151f8f6..c7ab80da0 100644 --- a/module/plugins/hooks/ExpertDecoders.py +++ b/module/plugins/hooks/ExpertDecoders.py @@ -1,36 +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 . -""" from __future__ import with_statement -from thread import start_new_thread +from base64 import b64encode from pycurl import LOW_SPEED_TIME +from thread import start_new_thread from uuid import uuid4 -from base64 import b64encode -from module.network.RequestFactory import getURL, getRequest from module.network.HTTPRequest import BadHeader - +from module.network.RequestFactory import getURL, getRequest from module.plugins.Hook import Hook class ExpertDecoders(Hook): __name__ = "ExpertDecoders" - __version__ = "0.01" __type__ = "hook" + __version__ = "0.01" __config__ = [("activated", "bool", "Activated", False), ("force", "bool", "Force CT even if client is connected", False), diff --git a/module/plugins/hooks/ExternalScripts.py b/module/plugins/hooks/ExternalScripts.py index 7f76df1cd..8d03d27d4 100644 --- a/module/plugins/hooks/ExternalScripts.py +++ b/module/plugins/hooks/ExternalScripts.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 . -""" - import subprocess + from os import listdir, access, X_OK, makedirs from os.path import join, exists, basename, abspath @@ -25,8 +11,8 @@ from module.utils import save_join class ExternalScripts(Hook): __name__ = "ExternalScripts" - __version__ = "0.23" __type__ = "hook" + __version__ = "0.23" __config__ = [("activated", "bool", "Activated", True)] diff --git a/module/plugins/hooks/ExtractArchive.py b/module/plugins/hooks/ExtractArchive.py index c307deb8f..144829459 100644 --- a/module/plugins/hooks/ExtractArchive.py +++ b/module/plugins/hooks/ExtractArchive.py @@ -1,19 +1,18 @@ # -*- coding: utf-8 -*- -import sys import os +import sys + +from copy import copy from os import remove, chmod, makedirs -from os.path import exists, basename, isfile, isdir, join +from os.path import exists, basename, isfile, isdir from traceback import print_exc -from copy import copy # monkey patch bug in python 2.6 and lower -# see http://bugs.python.org/issue6122 -# http://bugs.python.org/issue1236 -# http://bugs.python.org/issue1731717 +# http://bugs.python.org/issue6122 , http://bugs.python.org/issue1236 , http://bugs.python.org/issue1731717 if sys.version_info < (2, 7) and os.name != "nt": - from subprocess import Popen import errno + from subprocess import Popen def _eintr_retry_call(func, *args): while True: @@ -44,13 +43,13 @@ if sys.version_info < (2, 7) and os.name != "nt": Popen.wait = wait if os.name != "nt": + from grp import getgrnam from os import chown from pwd import getpwnam - from grp import getgrnam -from module.utils import save_join, fs_encode from module.plugins.Hook import Hook, threaded, Expose from module.plugins.internal.AbstractExtractor import ArchiveError, CRCError, WrongPassword +from module.utils import save_join, fs_encode class ExtractArchive(Hook): @@ -58,8 +57,8 @@ class ExtractArchive(Hook): Provides: unrarFinished (folder, filename) """ __name__ = "ExtractArchive" - __version__ = "0.16" __type__ = "hook" + __version__ = "0.16" __config__ = [("activated", "bool", "Activated", True), ("fullpath", "bool", "Extract full path", True), @@ -158,7 +157,7 @@ class ExtractArchive(Hook): #relative to package folder if destination is relative, otherwise absolute path overwrites them if self.getConfig("subfolder"): - out = join(out, fs_encode(p.folder)) + out = save_join(out, fs_encode(p.folder)) if not exists(out): makedirs(out) diff --git a/module/plugins/hooks/FastixRu.py b/module/plugins/hooks/FastixRu.py index aa020ea37..879dba277 100644 --- a/module/plugins/hooks/FastixRu.py +++ b/module/plugins/hooks/FastixRu.py @@ -1,16 +1,14 @@ # -*- coding: utf-8 -*- -# should be working - +from module.common.json_layer import json_loads from module.network.RequestFactory import getURL from module.plugins.internal.MultiHoster import MultiHoster -from module.common.json_layer import json_loads class FastixRu(MultiHoster): __name__ = "FastixRu" - __version__ = "0.02" __type__ = "hook" + __version__ = "0.02" __config__ = [("activated", "bool", "Activated", False), ("hosterListMode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), diff --git a/module/plugins/hooks/FreeWayMe.py b/module/plugins/hooks/FreeWayMe.py index 3d2f7fcef..12d58ac8a 100644 --- a/module/plugins/hooks/FreeWayMe.py +++ b/module/plugins/hooks/FreeWayMe.py @@ -1,28 +1,13 @@ # -*- 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 . -""" - from module.network.RequestFactory import getURL from module.plugins.internal.MultiHoster import MultiHoster class FreeWayMe(MultiHoster): __name__ = "FreeWayMe" - __version__ = "0.11" __type__ = "hook" + __version__ = "0.11" __config__ = [("activated", "bool", "Activated", False), ("hosterListMode", "all;listed;unlisted", "Use for hosters (if supported):", "all"), diff --git a/module/plugins/hooks/HotFolder.py b/module/plugins/hooks/HotFolder.py index 08ef93812..4c81292e3 100644 --- a/module/plugins/hooks/HotFolder.py +++ b/module/plugins/hooks/HotFolder.py @@ -1,35 +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 . -""" - -from os import makedirs -from os import listdir -from os.path import exists -from os.path import join -from os.path import isfile -from shutil import move import time +from os import listdir, makedirs +from os.path import exists, isfile, join +from shutil import move + from module.plugins.Hook import Hook class HotFolder(Hook): __name__ = "HotFolder" - __version__ = "0.11" __type__ = "hook" + __version__ = "0.11" __config__ = [("activated", "bool", "Activated", False), ("folder", "str", "Folder to observe", "container"), diff --git a/module/plugins/hooks/IRCInterface.py b/module/plugins/hooks/IRCInterface.py index a29874469..7ebc0275f 100644 --- a/module/plugins/hooks/IRCInterface.py +++ b/module/plugins/hooks/IRCInterface.py @@ -1,39 +1,25 @@ # -*- 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 . -""" +import re +import socket +import time +from pycurl import FORM_FILE from select import select -import socket from threading import Thread -import time from time import sleep from traceback import print_exc -import re -from pycurl import FORM_FILE -from module.plugins.Hook import Hook +from module.Api import PackageDoesNotExists, FileDoesNotExists from module.network.RequestFactory import getURL +from module.plugins.Hook import Hook from module.utils import formatSize -from module.Api import PackageDoesNotExists, FileDoesNotExists class IRCInterface(Thread, Hook): __name__ = "IRCInterface" - __version__ = "0.11" __type__ = "hook" + __version__ = "0.11" __config__ = [("activated", "bool", "Activated", False), ("host", "str", "IRC-Server Address", "Enter your server here!"), diff --git a/module/plugins/hooks/ImageTyperz.py b/module/plugins/hooks/ImageTyperz.py index 4d7be96e3..d9d4e547e 100644 --- a/module/plugins/hooks/ImageTyperz.py +++ b/module/plugins/hooks/ImageTyperz.py @@ -1,24 +1,12 @@ # -*- 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 . -""" from __future__ import with_statement -from thread import start_new_thread -from pycurl import FORM_FILE, LOW_SPEED_TIME + import re + from base64 import b64encode +from pycurl import FORM_FILE, LOW_SPEED_TIME +from thread import start_new_thread from module.network.RequestFactory import getURL, getRequest from module.plugins.Hook import Hook @@ -41,8 +29,8 @@ class ImageTyperzException(Exception): class ImageTyperz(Hook): __name__ = "ImageTyperz" - __version__ = "0.04" __type__ = "hook" + __version__ = "0.04" __config__ = [("activated", "bool", "Activated", False), ("username", "str", "Username", ""), @@ -82,7 +70,7 @@ class ImageTyperz(Hook): req.c.setopt(LOW_SPEED_TIME, 80) try: - #workaround multipart-post bug in HTTPRequest.py + #workaround multipart-post bug in HTTPRequest.py if re.match("^[A-Za-z0-9]*$", self.getConfig("passkey")): multipart = True data = (FORM_FILE, captcha) diff --git a/module/plugins/hooks/LinkdecrypterCom.py b/module/plugins/hooks/LinkdecrypterCom.py index 4e08372fe..1aa8f7ca1 100644 --- a/module/plugins/hooks/LinkdecrypterCom.py +++ b/module/plugins/hooks/LinkdecrypterCom.py @@ -1,31 +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 . -""" - import re -from module.plugins.Hook import Hook from module.network.RequestFactory import getURL +from module.plugins.Hook import Hook from module.utils import remove_chars class LinkdecrypterCom(Hook): __name__ = "LinkdecrypterCom" - __version__ = "0.19" __type__ = "hook" + __version__ = "0.19" __config__ = [("activated", "bool", "Activated", False)] diff --git a/module/plugins/hooks/LinksnappyCom.py b/module/plugins/hooks/LinksnappyCom.py index a0e5b8d38..20da68632 100644 --- a/module/plugins/hooks/LinksnappyCom.py +++ b/module/plugins/hooks/LinksnappyCom.py @@ -1,14 +1,14 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.MultiHoster import MultiHoster -from module.network.RequestFactory import getURL from module.common.json_layer import json_loads +from module.network.RequestFactory import getURL +from module.plugins.internal.MultiHoster import MultiHoster class LinksnappyCom(MultiHoster): __name__ = "LinksnappyCom" - __version__ = "0.01" __type__ = "hook" + __version__ = "0.01" __config__ = [("activated", "bool", "Activated", False), ("hosterListMode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), diff --git a/module/plugins/hooks/MegaDebridEu.py b/module/plugins/hooks/MegaDebridEu.py index 22945cc0f..605b04f21 100644 --- a/module/plugins/hooks/MegaDebridEu.py +++ b/module/plugins/hooks/MegaDebridEu.py @@ -1,28 +1,14 @@ # -*- 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 . # -############################################################################ -from module.plugins.internal.MultiHoster import MultiHoster -from module.network.RequestFactory import getURL from module.common.json_layer import json_loads +from module.network.RequestFactory import getURL +from module.plugins.internal.MultiHoster import MultiHoster class MegaDebridEu(MultiHoster): __name__ = "MegaDebridEu" - __version__ = "0.02" __type__ = "hook" + __version__ = "0.02" __config__ = [("activated", "bool", "Activated", False), ("unloadFailing", "bool", "Revert to standard download if download fails", False)] diff --git a/module/plugins/hooks/MergeFiles.py b/module/plugins/hooks/MergeFiles.py index 5d6c208a7..a859092fb 100644 --- a/module/plugins/hooks/MergeFiles.py +++ b/module/plugins/hooks/MergeFiles.py @@ -1,35 +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 . -""" - import os import re import traceback -from os.path import join -from module.utils import save_join, fs_encode from module.plugins.Hook import Hook, threaded - -BUFFER_SIZE = 4096 +from module.utils import save_join, fs_encode class MergeFiles(Hook): __name__ = "MergeFiles" - __version__ = "0.12" __type__ = "hook" + __version__ = "0.12" __config__ = [("activated", "bool", "Activated", False)] @@ -37,6 +19,8 @@ class MergeFiles(Hook): __author_name__ = "and9000" __author_mail__ = "me@has-no-mail.com" + BUFFER_SIZE = 4096 + def setup(self): # nothing to do @@ -61,7 +45,7 @@ class MergeFiles(Hook): for name, file_list in files.iteritems(): self.logInfo("Starting merging of %s" % name) - final_file = open(join(download_folder, fs_encode(name)), "wb") + final_file = open(save_join(download_folder, name), "wb") for splitted_file in file_list: self.logDebug("Merging part %s" % splitted_file) @@ -72,10 +56,10 @@ class MergeFiles(Hook): size_written = 0 s_file_size = int(os.path.getsize(os.path.join(download_folder, splitted_file))) while True: - f_buffer = s_file.read(BUFFER_SIZE) + f_buffer = s_file.read(self.BUFFER_SIZE) if f_buffer: final_file.write(f_buffer) - size_written += BUFFER_SIZE + size_written += self.BUFFER_SIZE pyfile.setProgress((size_written * 100) / s_file_size) else: break diff --git a/module/plugins/hooks/MultiDebridCom.py b/module/plugins/hooks/MultiDebridCom.py index 3309fb9a8..c5d1464f8 100644 --- a/module/plugins/hooks/MultiDebridCom.py +++ b/module/plugins/hooks/MultiDebridCom.py @@ -1,28 +1,14 @@ # -*- 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 . # -############################################################################ -from module.plugins.internal.MultiHoster import MultiHoster -from module.network.RequestFactory import getURL from module.common.json_layer import json_loads +from module.network.RequestFactory import getURL +from module.plugins.internal.MultiHoster import MultiHoster class MultiDebridCom(MultiHoster): __name__ = "MultiDebridCom" - __version__ = "0.01" __type__ = "hook" + __version__ = "0.01" __config__ = [("activated", "bool", "Activated", False), ("hosterListMode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), diff --git a/module/plugins/hooks/MultiHome.py b/module/plugins/hooks/MultiHome.py index b9c663046..e2167b65e 100644 --- a/module/plugins/hooks/MultiHome.py +++ b/module/plugins/hooks/MultiHome.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 . -""" - from time import time from module.plugins.Hook import Hook @@ -22,8 +7,8 @@ from module.plugins.Hook import Hook class MultiHome(Hook): __name__ = "MultiHome" - __version__ = "0.11" __type__ = "hook" + __version__ = "0.11" __config__ = [("activated", "bool", "Activated", False), ("interfaces", "str", "Interfaces", "None")] diff --git a/module/plugins/hooks/MultishareCz.py b/module/plugins/hooks/MultishareCz.py index 8baa4bb07..9249106d6 100644 --- a/module/plugins/hooks/MultishareCz.py +++ b/module/plugins/hooks/MultishareCz.py @@ -8,8 +8,8 @@ from module.plugins.internal.MultiHoster import MultiHoster class MultishareCz(MultiHoster): __name__ = "MultishareCz" - __version__ = "0.04" __type__ = "hook" + __version__ = "0.04" __config__ = [("activated", "bool", "Activated", False), ("hosterListMode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), diff --git a/module/plugins/hooks/OverLoadMe.py b/module/plugins/hooks/OverLoadMe.py index dcc57aa75..5be0b8482 100644 --- a/module/plugins/hooks/OverLoadMe.py +++ b/module/plugins/hooks/OverLoadMe.py @@ -6,8 +6,8 @@ from module.plugins.internal.MultiHoster import MultiHoster class OverLoadMe(MultiHoster): __name__ = "OverLoadMe" - __version__ = "0.01" __type__ = "hook" + __version__ = "0.01" __config__ = [("activated", "bool", "Activated", False), ("https", "bool", "Enable HTTPS", True), diff --git a/module/plugins/hooks/Premium4Me.py b/module/plugins/hooks/Premium4Me.py index 242e72f3e..9c6701b06 100644 --- a/module/plugins/hooks/Premium4Me.py +++ b/module/plugins/hooks/Premium4Me.py @@ -6,8 +6,8 @@ from module.plugins.internal.MultiHoster import MultiHoster class Premium4Me(MultiHoster): __name__ = "Premium4Me" - __version__ = "0.03" __type__ = "hook" + __version__ = "0.03" __config__ = [("activated", "bool", "Activated", False), ("hosterListMode", "all;listed;unlisted", "Use for downloads from supported hosters:", "all"), diff --git a/module/plugins/hooks/PremiumizeMe.py b/module/plugins/hooks/PremiumizeMe.py index 1a35460de..e7291ece9 100644 --- a/module/plugins/hooks/PremiumizeMe.py +++ b/module/plugins/hooks/PremiumizeMe.py @@ -1,15 +1,14 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.MultiHoster import MultiHoster - from module.common.json_layer import json_loads from module.network.RequestFactory import getURL +from module.plugins.internal.MultiHoster import MultiHoster class PremiumizeMe(MultiHoster): __name__ = "PremiumizeMe" - __version__ = "0.12" __type__ = "hook" + __version__ = "0.12" __config__ = [("activated", "bool", "Activated", False), ("hosterListMode", "all;listed;unlisted", "Use for hosters (if supported):", "all"), @@ -40,7 +39,7 @@ class PremiumizeMe(MultiHoster): if data['status'] != 200: return [] - # Extract hosters from json file + # Extract hosters from json file return data['result']['hosterlist'] def coreReady(self): @@ -51,5 +50,5 @@ class PremiumizeMe(MultiHoster): self.logError(_("Please add a valid premiumize.me account first and restart pyLoad.")) return - # Run the overwriten core ready which actually enables the multihoster hook + # Run the overwriten core ready which actually enables the multihoster hook return MultiHoster.coreReady(self) diff --git a/module/plugins/hooks/RPNetBiz.py b/module/plugins/hooks/RPNetBiz.py index 36cf69b4b..9b9b7cda9 100644 --- a/module/plugins/hooks/RPNetBiz.py +++ b/module/plugins/hooks/RPNetBiz.py @@ -1,14 +1,14 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.MultiHoster import MultiHoster from module.common.json_layer import json_loads from module.network.RequestFactory import getURL +from module.plugins.internal.MultiHoster import MultiHoster class RPNetBiz(MultiHoster): __name__ = "RPNetBiz" - __version__ = "0.1" __type__ = "hook" + __version__ = "0.1" __config__ = [("activated", "bool", "Activated", False), ("hosterListMode", "all;listed;unlisted", "Use for hosters (if supported):", "all"), @@ -37,7 +37,7 @@ class RPNetBiz(MultiHoster): if 'error' in hoster_list: return [] - # Extract hosters from json file + # Extract hosters from json file return hoster_list['hosters'] def coreReady(self): @@ -48,5 +48,5 @@ class RPNetBiz(MultiHoster): self.logError(_("Please enter your %s account or deactivate this plugin") % "rpnet") return - # Run the overwriten core ready which actually enables the multihoster hook + # Run the overwriten core ready which actually enables the multihoster hook return MultiHoster.coreReady(self) diff --git a/module/plugins/hooks/RealdebridCom.py b/module/plugins/hooks/RealdebridCom.py index 4477fba4a..87902ac7f 100644 --- a/module/plugins/hooks/RealdebridCom.py +++ b/module/plugins/hooks/RealdebridCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.MultiHoster import MultiHoster class RealdebridCom(MultiHoster): __name__ = "RealdebridCom" - __version__ = "0.43" __type__ = "hook" + __version__ = "0.43" __config__ = [("activated", "bool", "Activated", False), ("https", "bool", "Enable HTTPS", False), diff --git a/module/plugins/hooks/RehostTo.py b/module/plugins/hooks/RehostTo.py index 96e06950e..d504bb83b 100644 --- a/module/plugins/hooks/RehostTo.py +++ b/module/plugins/hooks/RehostTo.py @@ -6,8 +6,8 @@ from module.plugins.internal.MultiHoster import MultiHoster class RehostTo(MultiHoster): __name__ = "RehostTo" - __version__ = "0.43" __type__ = "hook" + __version__ = "0.43" __config__ = [("activated", "bool", "Activated", False), ("hosterListMode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), diff --git a/module/plugins/hooks/RestartFailed.py b/module/plugins/hooks/RestartFailed.py index 2bd0e28db..3aef6f8cd 100644 --- a/module/plugins/hooks/RestartFailed.py +++ b/module/plugins/hooks/RestartFailed.py @@ -1,26 +1,12 @@ # -*- 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 . -############################################################################### from module.plugins.Hook import Hook class RestartFailed(Hook): __name__ = "RestartFailed" - __version__ = "1.55" __type__ = "hook" + __version__ = "1.55" __config__ = [("activated", "bool", "Activated", False), ("interval", "int", "Check interval in minutes", 90)] diff --git a/module/plugins/hooks/SimplyPremiumCom.py b/module/plugins/hooks/SimplyPremiumCom.py index 41268e231..a946d391e 100644 --- a/module/plugins/hooks/SimplyPremiumCom.py +++ b/module/plugins/hooks/SimplyPremiumCom.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 . # -############################################################################ from module.common.json_layer import json_loads from module.network.RequestFactory import getURL @@ -21,8 +7,8 @@ from module.plugins.internal.MultiHoster import MultiHoster class SimplyPremiumCom(MultiHoster): __name__ = "SimplyPremiumCom" - __version__ = "0.02" __type__ = "hook" + __version__ = "0.02" __config__ = [("activated", "bool", "Activated", "False"), ("hosterListMode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), diff --git a/module/plugins/hooks/SimplydebridCom.py b/module/plugins/hooks/SimplydebridCom.py index 345d37e4a..ab13f312e 100644 --- a/module/plugins/hooks/SimplydebridCom.py +++ b/module/plugins/hooks/SimplydebridCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.MultiHoster import MultiHoster class SimplydebridCom(MultiHoster): __name__ = "SimplydebridCom" - __version__ = "0.01" __type__ = "hook" + __version__ = "0.01" __config__ = [("activated", "bool", "Activated", False), ("hosterListMode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), diff --git a/module/plugins/hooks/UnSkipOnFail.py b/module/plugins/hooks/UnSkipOnFail.py index d40854e99..f25c5e2b4 100644 --- a/module/plugins/hooks/UnSkipOnFail.py +++ b/module/plugins/hooks/UnSkipOnFail.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 . -""" from os.path import basename -from module.utils import fs_encode -from module.plugins.Hook import Hook from module.PyFile import PyFile +from module.plugins.Hook import Hook +from module.utils import fs_encode class UnSkipOnFail(Hook): __name__ = "UnSkipOnFail" - __version__ = "0.01" __type__ = "hook" + __version__ = "0.01" __config__ = [("activated", "bool", "Activated", True)] diff --git a/module/plugins/hooks/UnrestrictLi.py b/module/plugins/hooks/UnrestrictLi.py index 3303c7355..ee5d79269 100644 --- a/module/plugins/hooks/UnrestrictLi.py +++ b/module/plugins/hooks/UnrestrictLi.py @@ -1,28 +1,14 @@ # -*- 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 . # -############################################################################ -from module.plugins.internal.MultiHoster import MultiHoster -from module.network.RequestFactory import getURL from module.common.json_layer import json_loads +from module.network.RequestFactory import getURL +from module.plugins.internal.MultiHoster import MultiHoster class UnrestrictLi(MultiHoster): __name__ = "UnrestrictLi" - __version__ = "0.02" __type__ = "hook" + __version__ = "0.02" __config__ = [("activated", "bool", "Activated", False), ("hosterListMode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), diff --git a/module/plugins/hooks/UpdateManager.py b/module/plugins/hooks/UpdateManager.py index 5f71ad6fa..9e01989d9 100644 --- a/module/plugins/hooks/UpdateManager.py +++ b/module/plugins/hooks/UpdateManager.py @@ -5,7 +5,7 @@ import sys from operator import itemgetter from os import remove, stat -from os.path import isfile +from os.path import isfile, join from time import time from module.network.RequestFactory import getURL @@ -257,7 +257,7 @@ class UpdateManager(Hook): py_file = name + ".py" pyc_file = name + ".pyc" - for root in ("userplugins", save_join(pypath, "module", "plugins")): + for root in ("userplugins", join(pypath, "module", "plugins")): py_filename = save_join(root, type, py_file) pyc_filename = save_join(root, type, pyc_file) diff --git a/module/plugins/hooks/WindowsPhoneToastNotify.py b/module/plugins/hooks/WindowsPhoneToastNotify.py index 25fa3abe5..01570b966 100644 --- a/module/plugins/hooks/WindowsPhoneToastNotify.py +++ b/module/plugins/hooks/WindowsPhoneToastNotify.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 . -""" -import time import httplib +import time + from module.plugins.Hook import Hook class WindowsPhoneToastNotify(Hook): __name__ = "WindowsPhoneToastNotify" - __version__ = "0.02" __type__ = "hook" + __version__ = "0.02" __config__ = [("activated", "bool", "Activated", False), ("force", "bool", "Force even if client is connected", False), diff --git a/module/plugins/hooks/XFileSharingPro.py b/module/plugins/hooks/XFileSharingPro.py index 37a464b33..eb0376921 100644 --- a/module/plugins/hooks/XFileSharingPro.py +++ b/module/plugins/hooks/XFileSharingPro.py @@ -7,8 +7,8 @@ from module.plugins.Hook import Hook class XFileSharingPro(Hook): __name__ = "XFileSharingPro" - __version__ = "0.11" __type__ = "hook" + __version__ = "0.11" __config__ = [("activated", "bool", "Activated", True), ("loadDefault", "bool", "Include default (built-in) hoster list", True), diff --git a/module/plugins/hooks/XMPPInterface.py b/module/plugins/hooks/XMPPInterface.py index a60d31b89..c4a94a8bc 100644 --- a/module/plugins/hooks/XMPPInterface.py +++ b/module/plugins/hooks/XMPPInterface.py @@ -1,33 +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 . -""" - from pyxmpp import streamtls from pyxmpp.all import JID, Message -from pyxmpp.jabber.client import JabberClient from pyxmpp.interface import implements from pyxmpp.interfaces import * +from pyxmpp.jabber.client import JabberClient from module.plugins.hooks.IRCInterface import IRCInterface class XMPPInterface(IRCInterface, JabberClient): __name__ = "XMPPInterface" - __version__ = "0.11" __type__ = "hook" + __version__ = "0.11" __config__ = [("activated", "bool", "Activated", False), ("jid", "str", "Jabber ID", "user@exmaple-jabber-server.org"), diff --git a/module/plugins/hooks/ZeveraCom.py b/module/plugins/hooks/ZeveraCom.py index 49fc68b30..0d5e23118 100644 --- a/module/plugins/hooks/ZeveraCom.py +++ b/module/plugins/hooks/ZeveraCom.py @@ -6,8 +6,8 @@ from module.plugins.internal.MultiHoster import MultiHoster class ZeveraCom(MultiHoster): __name__ = "ZeveraCom" - __version__ = "0.02" __type__ = "hook" + __version__ = "0.02" __config__ = [("activated", "bool", "Activated", False), ("hosterListMode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), 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 . -""" - 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[a-zA-Z0-9]+/[a-zA-Z0-9]+/[^/]+)' __version__ = "0.07" + + __pattern__ = r'https?://(?:www\.)?bayfiles\.(com|net)/file/(?P[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'(?:. -""" - 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'
  • Velikost: (?P[^<]+)
  • ' OFFLINE_PATTERN = r'BezvaData \| Soubor nenalezen' + 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[a-zA-Z0-9]+)(/(?P.*?)\.html)?|\?f=(?P[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'\s*(?P.*?).*?\s*\((?P.*?)\)' 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 . -""" - -# 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 . -############################################################################ - 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[\w^_]+)' __version__ = "0.2" + + __pattern__ = r'https?://(?:www\.)?dailymotion\.com/.*?video/(?P[\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 . # -############################################################################ - -# 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'
    ' + 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 . -""" - 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 . -""" - 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\w+)\.html' __version__ = "0.02" + + __pattern__ = r'http://(?:www\.)?datei\.to/datei/(?P\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\w{12})' __version__ = "1.01" + + __pattern__ = r'http://(?:www\.)?ddlstorage.com/(?P\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.+) \((?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 . # -############################################################################ 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 . # -############################################################################ 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 . -""" - 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'

    Download Link

    \s*]*>([^<]+)' ERROR_PATTERN = r'(?:class=["\']err["\'][^>]*>|
    )(.*?). -""" - 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 . # -############################################################################ - -# 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 . -""" - 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 . -""" - 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\w+)' __version__ = "0.6" + + __pattern__ = r'http://(?:www\.)?extabit\.com/(file|go|fid)/(?P\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[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 . -############################################################################### - -# 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 . -""" - 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\w+)' __version__ = "0.01" + + __pattern__ = r'http://(?:www\.)?filestore\.to/\?d=(?P\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: ]*>(?P.+)
    Size: (?P[\d,.]+) (?P\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\w+).*' __version__ = "0.03" + + __pattern__ = r'http://(?:www\.)?filebeer\.info/(?!\d*~f)(?P\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 . -""" - 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\w+).*' __version__ = "0.02" + + __pattern__ = r'http://(?:www\.)?(?:filecloud\.io|ifile\.it|mihd\.net)/(?P\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 . # -############################################################################ 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[a-zA-Z0-9]+)' __version__ = "0.50" + + __pattern__ = r'https?://(?:www\.)?filefactory\.com/file/(?P[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 . -""" - 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[^/]+).*' __version__ = "0.51" + + __pattern__ = r'http://(?:www\.)?filejungle\.com/f/(?P[^/]+).*' + __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 . -############################################################################### - -# 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 . - - - 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 . # -############################################################################ - -# 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'"File Not Found"|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 . -""" - 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[^/]+).*' __version__ = "0.52" + + __pattern__ = r'http://(?:www\.)?fileserve\.com/file/(?P[^/]+).*' + __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'
    Login' - # 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'(.*?)' 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'
    \n (\d+)' DOWNLOAD_JS_PATTERN = r"' + 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 . -############################################################################### 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\d*?)/(?P[^?]+)|#!download\|(?:\w+)\|(?P\d+)\|(?P[^|]+))' __version__ = "1.39" - __description__ = """Rapidshare.com hoster plugin""" + + __pattern__ = r'https?://(?:www\.)?rapidshare.com/(?:files/(?P\d*?)/(?P[^?]+)|#!download\|(?:\w+)\|(?P\d+)\|(?P[^|]+))' __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'Size : (?P.+?) ' LINK_PATTERN = r'(?P=link)' + 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''']+>Download''' + 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 . -""" - 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\w+)' __version__ = "0.40" + + __pattern__ = r'https?://(?:www\.)?(share-online\.biz|egoshare\.com)/(download.php\?id=|dl/)(?P\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'

    Information:

    \s*
    \s*(.*?)' + 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.*?)/' __version__ = "0.22" + + __pattern__ = r'http://(?:www\.)?(cloudnator|shragle).com/files/(?P.*?)/' + __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 . # -############################################################################ 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\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.*?)/(?P.*)' __version__ = "0.1" + + __pattern__ = r'https?://(?:www\.)?soundcloud\.com/(?P.*?)/(?P.*)' + __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\w+)' __version__ = "1.02" + + __pattern__ = r'http://(?:www\.)?speedload\.org/(?P\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 . -""" - 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 . -""" - 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 . -""" - -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\w+).*' __version__ = "0.11" + + __pattern__ = r'http://(?:www\.)?(turbobit.net|unextfiles.com)/(?!download/folder/)(?:download/free/)?(?P\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. -""" - 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 . -############################################################################### 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\w+)' __version__ = "0.03" + + __pattern__ = r'https?://(?:www\.)?tusfiles\.net/(?P\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 . -""" - 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\w+/[^/?]*)' __version__ = "0.98" + + __pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj.cz|zachowajto.pl)/(?:live/)?(?P\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 . -""" - 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 . -""" - 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 . # -############################################################################ 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[A-Za-z0-9]+)' __version__ = "0.52" + + __pattern__ = r'http://(?:www\.)?uploadstation\.com/file/(?P[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\w+)' __version__ = "0.73" + + __pattern__ = r'https?://(?:www\.)?(uploaded\.(to|net)|ul\.to)(/file/|/?\?id=|.*?&id=|/)(?P\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'Error: 404' 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 . -""" - -# 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 . -""" - 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[\w\d]+)' __version__ = "0.35" + + __pattern__ = r'http://(?:www\.)?uploading\.com/files/(?:get/)?(?P[\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[\d.]+) (?P\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 . -############################################################################### 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 . -############################################################################ 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)/(?Pv\w+)' __version__ = "0.2" + + __pattern__ = r'http://(?:www\.)?veoh\.com/(tv/)?(watch|videos)/(?Pv\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 . -############################################################################ 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\d+)' __version__ = "0.01" + + __pattern__ = r'https?://(?:www\.)?(player\.)?vimeo\.com/(video/)?(?P\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 . # -############################################################################ 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\w+)' __version__ = "0.13" + + __pattern__ = r'https?://(?:www\.)?webshare.cz/(?:#/)?file/(?P\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 . -""" - 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 . -############################################################################### - 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"

    ([^<]+). -""" - -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 . -""" - 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\w+)' __version__ = "0.12" + + __pattern__ = r'http://(?:www\.)?(?:u\.)?115.com/file/(?P\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'(?Phttp://www\d{0,2}\.zippyshare.com)/v(?:/|iew.jsp.*key=)(?P\d+)' __version__ = "0.49" + + __pattern__ = r'(?Phttp://www\d{0,2}\.zippyshare.com)/v(?:/|iew.jsp.*key=)(?P\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") diff --git a/module/plugins/internal/AbstractExtractor.py b/module/plugins/internal/AbstractExtractor.py index c7f54f847..d1d1a09cb 100644 --- a/module/plugins/internal/AbstractExtractor.py +++ b/module/plugins/internal/AbstractExtractor.py @@ -1,6 +1,5 @@ # -*- coding: utf-8 -*- - class ArchiveError(Exception): pass diff --git a/module/plugins/internal/CaptchaService.py b/module/plugins/internal/CaptchaService.py index d325d7928..b247ba654 100644 --- a/module/plugins/internal/CaptchaService.py +++ b/module/plugins/internal/CaptchaService.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- import re + from random import random diff --git a/module/plugins/internal/DeadCrypter.py b/module/plugins/internal/DeadCrypter.py index d19731cb5..296de739d 100644 --- a/module/plugins/internal/DeadCrypter.py +++ b/module/plugins/internal/DeadCrypter.py @@ -5,8 +5,8 @@ from module.plugins.Crypter import Crypter as _Crypter class DeadCrypter(_Crypter): __name__ = "DeadCrypter" - __version__ = "0.01" __type__ = "crypter" + __version__ = "0.01" __pattern__ = None diff --git a/module/plugins/internal/DeadHoster.py b/module/plugins/internal/DeadHoster.py index a7cf1f3ea..35a948824 100644 --- a/module/plugins/internal/DeadHoster.py +++ b/module/plugins/internal/DeadHoster.py @@ -13,8 +13,8 @@ def create_getInfo(plugin): class DeadHoster(_Hoster): __name__ = "DeadHoster" - __version__ = "0.11" __type__ = "hoster" + __version__ = "0.11" __pattern__ = None diff --git a/module/plugins/internal/MultiHoster.py b/module/plugins/internal/MultiHoster.py index 46d943bd7..f6d202ee9 100644 --- a/module/plugins/internal/MultiHoster.py +++ b/module/plugins/internal/MultiHoster.py @@ -2,8 +2,8 @@ import re -from module.utils import remove_chars from module.plugins.Hook import Hook +from module.utils import remove_chars class MultiHoster(Hook): diff --git a/module/plugins/internal/SimpleCrypter.py b/module/plugins/internal/SimpleCrypter.py index dc93bef4d..0b99feb42 100644 --- a/module/plugins/internal/SimpleCrypter.py +++ b/module/plugins/internal/SimpleCrypter.py @@ -3,14 +3,14 @@ import re from module.plugins.Crypter import Crypter -from module.utils import html_unescape from module.plugins.internal.SimpleHoster import PluginParseError, replace_patterns, set_cookies +from module.utils import html_unescape class SimpleCrypter(Crypter): __name__ = "SimpleCrypter" - __version__ = "0.10" __type__ = "crypter" + __version__ = "0.10" __pattern__ = None diff --git a/module/plugins/internal/SimpleHoster.py b/module/plugins/internal/SimpleHoster.py index 0dfecf0fb..23b8a5292 100644 --- a/module/plugins/internal/SimpleHoster.py +++ b/module/plugins/internal/SimpleHoster.py @@ -1,27 +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 . -""" -from urlparse import urlparse import re + from time import time +from urlparse import urlparse -from module.plugins.Hoster import Hoster -from module.utils import html_unescape, fixup, parseFileSize -from module.network.RequestFactory import getURL from module.network.CookieJar import CookieJar +from module.network.RequestFactory import getURL +from module.plugins.Hoster import Hoster +from module.utils import fixup, html_unescape, parseFileSize def replace_patterns(string, ruleslist): @@ -164,8 +151,8 @@ class PluginParseError(Exception): class SimpleHoster(Hoster): __name__ = "SimpleHoster" - __version__ = "0.34" __type__ = "hoster" + __version__ = "0.34" __pattern__ = None diff --git a/module/plugins/internal/UnRar.py b/module/plugins/internal/UnRar.py index 0251620ab..19c278735 100644 --- a/module/plugins/internal/UnRar.py +++ b/module/plugins/internal/UnRar.py @@ -1,29 +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 . -""" - import os import re -from os.path import join + from glob import glob -from subprocess import Popen, PIPE +from os.path import join from string import digits +from subprocess import Popen, PIPE -from module.utils import save_join, decode from module.plugins.internal.AbstractExtractor import AbtractExtractor, WrongPassword, ArchiveError, CRCError +from module.utils import save_join, decode class UnRar(AbtractExtractor): @@ -34,6 +20,8 @@ class UnRar(AbtractExtractor): __author_name__ = "RaNaN" __author_mail__ = "RaNaN@pyload.org" + CMD = "unrar" + # there are some more uncovered rar formats re_version = re.compile(r"(UNRAR 5[\.\d]+(.*?)freeware)") re_splitfile = re.compile(r"(.*)\.part(\d+)\.rar$", re.I) @@ -41,7 +29,6 @@ class UnRar(AbtractExtractor): re_filelist = re.compile(r"(.+)\s+(\d+)\s+(\d+)\s+") re_filelist5 = re.compile(r"(.+)\s+(\d+)\s+\d\d-\d\d-\d\d\s+\d\d:\d\d\s+(.+)") re_wrongpwd = re.compile("(Corrupt file or wrong password|password incorrect)", re.I) - CMD = "unrar" @staticmethod diff --git a/module/plugins/internal/UnZip.py b/module/plugins/internal/UnZip.py index bace76789..e339434f9 100644 --- a/module/plugins/internal/UnZip.py +++ b/module/plugins/internal/UnZip.py @@ -1,22 +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 . -""" - -import zipfile import sys +import zipfile from module.plugins.internal.AbstractExtractor import AbtractExtractor diff --git a/module/plugins/internal/XFSPAccount.py b/module/plugins/internal/XFSPAccount.py index a1cba9af3..5c0bfc893 100644 --- a/module/plugins/internal/XFSPAccount.py +++ b/module/plugins/internal/XFSPAccount.py @@ -1,22 +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 . -""" - import re + from time import mktime, strptime + from module.plugins.Account import Account from module.plugins.internal.SimpleHoster import parseHtmlForm from module.utils import parseFileSize @@ -24,8 +11,8 @@ from module.utils import parseFileSize class XFSPAccount(Account): __name__ = "XFSPAccount" - __version__ = "0.06" __type__ = "account" + __version__ = "0.06" __description__ = """XFileSharingPro base account plugin""" __author_name__ = "zoidberg" -- cgit v1.2.3