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