summaryrefslogtreecommitdiffstats
path: root/pyload
diff options
context:
space:
mode:
authorGravatar Walter Purcaro <vuolter@gmail.com> 2014-10-07 19:54:24 +0200
committerGravatar Walter Purcaro <vuolter@gmail.com> 2014-10-07 19:54:24 +0200
commitbe459e0b409dcd5e04edd75be374bd35d4018e9a (patch)
tree3f73e813d20608ff0d23eada8214a5124c85bff5 /pyload
parentMerge branch 'stable' into 0.4.10 (diff)
parentNew __authors__ key replaces __author_name__ and __author_mail__ + Whitespace... (diff)
downloadpyload-be459e0b409dcd5e04edd75be374bd35d4018e9a.tar.xz
Merge branch 'stable' into 0.4.10
Conflicts: module/plugins/internal/CaptchaService.py pyload/plugins/account/EasybytezCom.py pyload/plugins/account/TusfilesNet.py pyload/plugins/base/OCR.py pyload/plugins/crypter/MultiuploadCom.py pyload/plugins/crypter/UploadableChFolder.py pyload/plugins/hoster/DuploadOrg.py pyload/plugins/hoster/EpicShareNet.py pyload/plugins/hoster/LemUploadsCom.py pyload/plugins/hoster/LoadTo.py pyload/plugins/hoster/LomafileCom.py pyload/plugins/hoster/MegaFilesSe.py pyload/plugins/hoster/MegareleaseOrg.py pyload/plugins/hoster/PandaPlanet.py pyload/plugins/hoster/PotloadCom.py pyload/plugins/hoster/PremiumTo.py pyload/plugins/hoster/TurbobitNet.py pyload/plugins/internal/DeadCrypter.py pyload/plugins/internal/DeadHoster.py pyload/plugins/internal/SimpleCrypter.py pyload/plugins/internal/UpdateManager.py pyload/plugins/ocr/LinksaveIn.py
Diffstat (limited to 'pyload')
-rw-r--r--pyload/plugins/Plugin.py5
-rw-r--r--pyload/plugins/account/AlldebridCom.py3
-rw-r--r--pyload/plugins/account/BayfilesCom.py3
-rw-r--r--pyload/plugins/account/BitshareCom.py3
-rw-r--r--pyload/plugins/account/CramitIn.py6
-rw-r--r--pyload/plugins/account/CzshareCom.py5
-rw-r--r--pyload/plugins/account/DebridItaliaCom.py4
-rw-r--r--pyload/plugins/account/DepositfilesCom.py5
-rw-r--r--pyload/plugins/account/DevhostSt.py13
-rw-r--r--pyload/plugins/account/DevhostStFolder.py35
-rw-r--r--pyload/plugins/account/DropboxCom.py7
-rw-r--r--pyload/plugins/account/EasybytezCom.py31
-rw-r--r--pyload/plugins/account/EuroshareEu.py3
-rw-r--r--pyload/plugins/account/FastixRu.py3
-rw-r--r--pyload/plugins/account/FastshareCz.py5
-rw-r--r--pyload/plugins/account/File4safeCom.py6
-rw-r--r--pyload/plugins/account/FilecloudIo.py4
-rw-r--r--pyload/plugins/account/FilefactoryCom.py5
-rw-r--r--pyload/plugins/account/FilejungleCom.py4
-rw-r--r--pyload/plugins/account/FilerNet.py4
-rw-r--r--pyload/plugins/account/FilerioCom.py6
-rw-r--r--pyload/plugins/account/FilesMailRu.py3
-rw-r--r--pyload/plugins/account/FileserveCom.py3
-rw-r--r--pyload/plugins/account/FourSharedCom.py5
-rw-r--r--pyload/plugins/account/FreakshareCom.py3
-rw-r--r--pyload/plugins/account/FreeWayMe.py3
-rw-r--r--pyload/plugins/account/FshareVn.py5
-rw-r--r--pyload/plugins/account/Ftp.py3
-rw-r--r--pyload/plugins/account/HellshareCz.py4
-rw-r--r--pyload/plugins/account/Http.py3
-rw-r--r--pyload/plugins/account/KingfilesNet.py8
-rw-r--r--pyload/plugins/account/LetitbitNet.py3
-rw-r--r--pyload/plugins/account/LinksnappyCom.py3
-rw-r--r--pyload/plugins/account/MegaDebridEu.py4
-rw-r--r--pyload/plugins/account/MegasharesCom.py4
-rw-r--r--pyload/plugins/account/MovReelCom.py9
-rw-r--r--pyload/plugins/account/MultishareCz.py4
-rw-r--r--pyload/plugins/account/MyfastfileCom.py4
-rw-r--r--pyload/plugins/account/NetloadIn.py4
-rw-r--r--pyload/plugins/account/OboomCom.py3
-rw-r--r--pyload/plugins/account/OneFichierCom.py4
-rw-r--r--pyload/plugins/account/OverLoadMe.py3
-rw-r--r--pyload/plugins/account/PremiumTo.py6
-rw-r--r--pyload/plugins/account/PremiumizeMe.py3
-rw-r--r--pyload/plugins/account/QuickshareCz.py3
-rw-r--r--pyload/plugins/account/RPNetBiz.py3
-rw-r--r--pyload/plugins/account/RapidgatorNet.py4
-rw-r--r--pyload/plugins/account/RapidshareCom.py3
-rw-r--r--pyload/plugins/account/RarefileNet.py6
-rw-r--r--pyload/plugins/account/RealdebridCom.py3
-rw-r--r--pyload/plugins/account/RehostTo.py3
-rw-r--r--pyload/plugins/account/RyushareCom.py7
-rw-r--r--pyload/plugins/account/ShareRapidCom.py5
-rw-r--r--pyload/plugins/account/ShareonlineBiz.py4
-rw-r--r--pyload/plugins/account/SimplyPremiumCom.py3
-rw-r--r--pyload/plugins/account/SimplydebridCom.py3
-rw-r--r--pyload/plugins/account/StahnuTo.py3
-rw-r--r--pyload/plugins/account/TurbobitNet.py3
-rw-r--r--pyload/plugins/account/TusfilesNet.py28
-rw-r--r--pyload/plugins/account/UlozTo.py5
-rw-r--r--pyload/plugins/account/UnrestrictLi.py3
-rw-r--r--pyload/plugins/account/UploadedTo.py3
-rw-r--r--pyload/plugins/account/UploadheroCom.py3
-rw-r--r--pyload/plugins/account/UploadingCom.py3
-rw-r--r--pyload/plugins/account/UptoboxCom.py6
-rw-r--r--pyload/plugins/account/YibaishiwuCom.py4
-rw-r--r--pyload/plugins/account/ZeveraCom.py3
-rw-r--r--pyload/plugins/addon/Checksum.py6
-rw-r--r--pyload/plugins/addon/ClickAndLoad.py4
-rw-r--r--pyload/plugins/addon/DeleteFinished.py3
-rw-r--r--pyload/plugins/addon/DownloadScheduler.py4
-rw-r--r--pyload/plugins/addon/ExternalScripts.py7
-rw-r--r--pyload/plugins/addon/ExtractArchive.py6
-rw-r--r--pyload/plugins/addon/HotFolder.py3
-rw-r--r--pyload/plugins/addon/IRCInterface.py3
-rw-r--r--pyload/plugins/addon/MergeFiles.py4
-rw-r--r--pyload/plugins/addon/MultiHome.py3
-rw-r--r--pyload/plugins/addon/RestartFailed.py6
-rw-r--r--pyload/plugins/addon/UnSkipOnFail.py3
-rw-r--r--pyload/plugins/addon/WindowsPhoneToastNotify.py3
-rw-r--r--pyload/plugins/addon/XMPPInterface.py3
-rw-r--r--pyload/plugins/base/Account.py12
-rw-r--r--pyload/plugins/base/Container.py3
-rw-r--r--pyload/plugins/base/Crypter.py3
-rw-r--r--pyload/plugins/base/Hook.py5
-rw-r--r--pyload/plugins/base/Hoster.py3
-rw-r--r--pyload/plugins/base/OCR.py15
-rw-r--r--pyload/plugins/container/CCF.py3
-rw-r--r--pyload/plugins/container/LinkList.py4
-rw-r--r--pyload/plugins/container/RSDF.py4
-rw-r--r--pyload/plugins/crypter/BitshareComFolder.py8
-rw-r--r--pyload/plugins/crypter/C1neonCom.py3
-rw-r--r--pyload/plugins/crypter/ChipDe.py3
-rw-r--r--pyload/plugins/crypter/CrockoComFolder.py4
-rw-r--r--pyload/plugins/crypter/CryptItCom.py3
-rw-r--r--pyload/plugins/crypter/CzshareComFolder.py4
-rw-r--r--pyload/plugins/crypter/DDLMusicOrg.py3
-rw-r--r--pyload/plugins/crypter/DailymotionBatch.py3
-rw-r--r--pyload/plugins/crypter/DataHuFolder.py9
-rw-r--r--pyload/plugins/crypter/DdlstorageComFolder.py4
-rw-r--r--pyload/plugins/crypter/DepositfilesComFolder.py4
-rw-r--r--pyload/plugins/crypter/Dereferer.py3
-rw-r--r--pyload/plugins/crypter/DlProtectCom.py4
-rw-r--r--pyload/plugins/crypter/DontKnowMe.py4
-rw-r--r--pyload/plugins/crypter/DuckCryptInfo.py4
-rw-r--r--pyload/plugins/crypter/DuploadOrgFolder.py4
-rw-r--r--pyload/plugins/crypter/EasybytezComFolder.py9
-rw-r--r--pyload/plugins/crypter/EmbeduploadCom.py4
-rw-r--r--pyload/plugins/crypter/FilebeerInfoFolder.py3
-rw-r--r--pyload/plugins/crypter/FilecloudIoFolder.py8
-rw-r--r--pyload/plugins/crypter/FilefactoryComFolder.py10
-rw-r--r--pyload/plugins/crypter/FilerNetFolder.py9
-rw-r--r--pyload/plugins/crypter/FileserveComFolder.py4
-rw-r--r--pyload/plugins/crypter/FilestubeCom.py8
-rw-r--r--pyload/plugins/crypter/FiletramCom.py9
-rw-r--r--pyload/plugins/crypter/FiredriveComFolder.py8
-rw-r--r--pyload/plugins/crypter/FourChanOrg.py3
-rw-r--r--pyload/plugins/crypter/FreakhareComFolder.py10
-rw-r--r--pyload/plugins/crypter/FreetexthostCom.py3
-rw-r--r--pyload/plugins/crypter/FshareVnFolder.py4
-rw-r--r--pyload/plugins/crypter/GooGl.py4
-rw-r--r--pyload/plugins/crypter/HoerbuchIn.py5
-rw-r--r--pyload/plugins/crypter/HotfileFolderCom.py3
-rw-r--r--pyload/plugins/crypter/ILoadTo.py3
-rw-r--r--pyload/plugins/crypter/ImgurComAlbum.py8
-rw-r--r--pyload/plugins/crypter/LetitbitNetFolder.py5
-rw-r--r--pyload/plugins/crypter/LinkSaveIn.py3
-rw-r--r--pyload/plugins/crypter/LinkdecrypterCom.py5
-rw-r--r--pyload/plugins/crypter/LixIn.py4
-rw-r--r--pyload/plugins/crypter/LofCc.py3
-rw-r--r--pyload/plugins/crypter/MBLinkInfo.py4
-rw-r--r--pyload/plugins/crypter/MediafireComFolder.py4
-rw-r--r--pyload/plugins/crypter/Movie2kTo.py3
-rw-r--r--pyload/plugins/crypter/MultiUpOrg.py8
-rw-r--r--pyload/plugins/crypter/MultiloadCz.py4
-rw-r--r--pyload/plugins/crypter/MultiuploadCom.py3
-rw-r--r--pyload/plugins/crypter/NCryptIn.py5
-rw-r--r--pyload/plugins/crypter/NetfolderIn.py9
-rw-r--r--pyload/plugins/crypter/NosvideoCom.py8
-rw-r--r--pyload/plugins/crypter/OneKhDe.py3
-rw-r--r--pyload/plugins/crypter/OronComFolder.py3
-rw-r--r--pyload/plugins/crypter/PastebinCom.py8
-rw-r--r--pyload/plugins/crypter/QuickshareCzFolder.py4
-rw-r--r--pyload/plugins/crypter/RSLayerCom.py3
-rw-r--r--pyload/plugins/crypter/RelinkUs.py4
-rw-r--r--pyload/plugins/crypter/SafelinkingNet.py4
-rw-r--r--pyload/plugins/crypter/SecuredIn.py3
-rw-r--r--pyload/plugins/crypter/ShareLinksBiz.py3
-rw-r--r--pyload/plugins/crypter/ShareRapidComFolder.py4
-rw-r--r--pyload/plugins/crypter/SpeedLoadOrgFolder.py3
-rw-r--r--pyload/plugins/crypter/StealthTo.py3
-rw-r--r--pyload/plugins/crypter/TnyCz.py8
-rw-r--r--pyload/plugins/crypter/TrailerzoneInfo.py3
-rw-r--r--pyload/plugins/crypter/TurbobitNetFolder.py9
-rw-r--r--pyload/plugins/crypter/TusfilesNetFolder.py11
-rw-r--r--pyload/plugins/crypter/UlozToFolder.py4
-rw-r--r--pyload/plugins/crypter/UploadableChFolder.py8
-rw-r--r--pyload/plugins/crypter/UploadedToFolder.py8
-rw-r--r--pyload/plugins/crypter/WiiReloadedOrg.py3
-rw-r--r--pyload/plugins/crypter/XupPl.py3
-rw-r--r--pyload/plugins/crypter/YoutubeBatch.py3
-rw-r--r--pyload/plugins/hook/AlldebridCom.py3
-rw-r--r--pyload/plugins/hook/BypassCaptcha.py6
-rw-r--r--pyload/plugins/hook/Captcha9kw.py4
-rw-r--r--pyload/plugins/hook/CaptchaBrotherhood.py11
-rw-r--r--pyload/plugins/hook/DeathByCaptcha.py5
-rw-r--r--pyload/plugins/hook/DebridItaliaCom.py3
-rw-r--r--pyload/plugins/hook/EasybytezCom.py3
-rw-r--r--pyload/plugins/hook/ExpertDecoders.py7
-rw-r--r--pyload/plugins/hook/FastixRu.py3
-rw-r--r--pyload/plugins/hook/FreeWayMe.py3
-rw-r--r--pyload/plugins/hook/ImageTyperz.py5
-rw-r--r--pyload/plugins/hook/LinkdecrypterCom.py3
-rw-r--r--pyload/plugins/hook/LinksnappyCom.py3
-rw-r--r--pyload/plugins/hook/MegaDebridEu.py3
-rw-r--r--pyload/plugins/hook/MultishareCz.py4
-rw-r--r--pyload/plugins/hook/MyfastfileCom.py4
-rw-r--r--pyload/plugins/hook/OverLoadMe.py3
-rw-r--r--pyload/plugins/hook/PremiumTo.py6
-rw-r--r--pyload/plugins/hook/PremiumizeMe.py3
-rw-r--r--pyload/plugins/hook/RPNetBiz.py3
-rw-r--r--pyload/plugins/hook/RealdebridCom.py3
-rw-r--r--pyload/plugins/hook/RehostTo.py3
-rw-r--r--pyload/plugins/hook/SimplyPremiumCom.py3
-rw-r--r--pyload/plugins/hook/SimplydebridCom.py3
-rw-r--r--pyload/plugins/hook/UnrestrictLi.py3
-rw-r--r--pyload/plugins/hook/XFileSharingPro.py27
-rw-r--r--pyload/plugins/hook/ZeveraCom.py3
-rw-r--r--pyload/plugins/hoster/AlldebridCom.py7
-rw-r--r--pyload/plugins/hoster/BasePlugin.py3
-rw-r--r--pyload/plugins/hoster/BayfilesCom.py5
-rw-r--r--pyload/plugins/hoster/BezvadataCz.py4
-rw-r--r--pyload/plugins/hoster/BillionuploadsCom.py3
-rw-r--r--pyload/plugins/hoster/BitshareCom.py5
-rw-r--r--pyload/plugins/hoster/BoltsharingCom.py3
-rw-r--r--pyload/plugins/hoster/CatShareNet.py5
-rw-r--r--pyload/plugins/hoster/CloudzerNet.py5
-rw-r--r--pyload/plugins/hoster/CramitIn.py3
-rw-r--r--pyload/plugins/hoster/CrockoCom.py4
-rw-r--r--pyload/plugins/hoster/CyberlockerCh.py3
-rw-r--r--pyload/plugins/hoster/CzshareCom.py8
-rw-r--r--pyload/plugins/hoster/DailymotionCom.py3
-rw-r--r--pyload/plugins/hoster/DataHu.py5
-rw-r--r--pyload/plugins/hoster/DataportCz.py4
-rw-r--r--pyload/plugins/hoster/DateiTo.py4
-rw-r--r--pyload/plugins/hoster/DdlstorageCom.py4
-rw-r--r--pyload/plugins/hoster/DebridItaliaCom.py3
-rw-r--r--pyload/plugins/hoster/DepositfilesCom.py6
-rw-r--r--pyload/plugins/hoster/DlFreeFr.py5
-rw-r--r--pyload/plugins/hoster/DuploadOrg.py13
-rw-r--r--pyload/plugins/hoster/EasybytezCom.py4
-rw-r--r--pyload/plugins/hoster/EdiskCz.py4
-rw-r--r--pyload/plugins/hoster/EgoFilesCom.py3
-rw-r--r--pyload/plugins/hoster/EpicShareNet.py16
-rw-r--r--pyload/plugins/hoster/EuroshareEu.py4
-rw-r--r--pyload/plugins/hoster/ExtabitCom.py4
-rw-r--r--pyload/plugins/hoster/FastixRu.py3
-rw-r--r--pyload/plugins/hoster/FastshareCz.py11
-rw-r--r--pyload/plugins/hoster/File4safeCom.py3
-rw-r--r--pyload/plugins/hoster/FileApeCom.py3
-rw-r--r--pyload/plugins/hoster/FileParadoxIn.py3
-rw-r--r--pyload/plugins/hoster/FileStoreTo.py5
-rw-r--r--pyload/plugins/hoster/FilebeerInfo.py3
-rw-r--r--pyload/plugins/hoster/FilecloudIo.py5
-rw-r--r--pyload/plugins/hoster/FilefactoryCom.py4
-rw-r--r--pyload/plugins/hoster/FilejungleCom.py4
-rw-r--r--pyload/plugins/hoster/FileomCom.py3
-rw-r--r--pyload/plugins/hoster/FilepostCom.py4
-rw-r--r--pyload/plugins/hoster/FilerNet.py4
-rw-r--r--pyload/plugins/hoster/FilerioCom.py3
-rw-r--r--pyload/plugins/hoster/FilesMailRu.py3
-rw-r--r--pyload/plugins/hoster/FileserveCom.py7
-rw-r--r--pyload/plugins/hoster/FileshareInUa.py4
-rw-r--r--pyload/plugins/hoster/FilezyNet.py3
-rw-r--r--pyload/plugins/hoster/FiredriveCom.py4
-rw-r--r--pyload/plugins/hoster/FlyFilesNet.py3
-rw-r--r--pyload/plugins/hoster/FourSharedCom.py5
-rw-r--r--pyload/plugins/hoster/FreakshareCom.py6
-rw-r--r--pyload/plugins/hoster/FreeWayMe.py3
-rw-r--r--pyload/plugins/hoster/FreevideoCz.py3
-rw-r--r--pyload/plugins/hoster/FshareVn.py4
-rw-r--r--pyload/plugins/hoster/Ftp.py5
-rw-r--r--pyload/plugins/hoster/GamefrontCom.py4
-rw-r--r--pyload/plugins/hoster/GigapetaCom.py4
-rw-r--r--pyload/plugins/hoster/GooIm.py4
-rw-r--r--pyload/plugins/hoster/HellshareCz.py4
-rw-r--r--pyload/plugins/hoster/HellspyCz.py3
-rw-r--r--pyload/plugins/hoster/HotfileCom.py6
-rw-r--r--pyload/plugins/hoster/HugefilesNet.py4
-rw-r--r--pyload/plugins/hoster/HundredEightyUploadCom.py3
-rw-r--r--pyload/plugins/hoster/IFileWs.py3
-rw-r--r--pyload/plugins/hoster/IcyFilesCom.py3
-rw-r--r--pyload/plugins/hoster/IfileIt.py4
-rw-r--r--pyload/plugins/hoster/IfolderRu.py4
-rw-r--r--pyload/plugins/hoster/JumbofilesCom.py4
-rw-r--r--pyload/plugins/hoster/Keep2shareCC.py3
-rw-r--r--pyload/plugins/hoster/LemUploadsCom.py17
-rw-r--r--pyload/plugins/hoster/LetitbitNet.py5
-rw-r--r--pyload/plugins/hoster/LinksnappyCom.py4
-rw-r--r--pyload/plugins/hoster/LoadTo.py5
-rw-r--r--pyload/plugins/hoster/LomafileCom.py66
-rw-r--r--pyload/plugins/hoster/LuckyShareNet.py4
-rw-r--r--pyload/plugins/hoster/MediafireCom.py5
-rw-r--r--pyload/plugins/hoster/MegaDebridEu.py4
-rw-r--r--pyload/plugins/hoster/MegaFilesSe.py14
-rw-r--r--pyload/plugins/hoster/MegaNz.py4
-rw-r--r--pyload/plugins/hoster/MegacrypterCom.py4
-rw-r--r--pyload/plugins/hoster/MegareleaseOrg.py15
-rw-r--r--pyload/plugins/hoster/MegasharesCom.py32
-rw-r--r--pyload/plugins/hoster/MovReelCom.py3
-rw-r--r--pyload/plugins/hoster/MultishareCz.py4
-rw-r--r--pyload/plugins/hoster/MyfastfileCom.py4
-rw-r--r--pyload/plugins/hoster/MyvideoDe.py3
-rw-r--r--pyload/plugins/hoster/NarodRu.py4
-rw-r--r--pyload/plugins/hoster/NetloadIn.py5
-rw-r--r--pyload/plugins/hoster/NosuploadCom.py4
-rw-r--r--pyload/plugins/hoster/NovafileCom.py4
-rw-r--r--pyload/plugins/hoster/NowDownloadEu.py5
-rw-r--r--pyload/plugins/hoster/OboomCom.py11
-rw-r--r--pyload/plugins/hoster/OneFichierCom.py9
-rw-r--r--pyload/plugins/hoster/OverLoadMe.py3
-rw-r--r--pyload/plugins/hoster/PandaPlanet.py28
-rw-r--r--pyload/plugins/hoster/PornhostCom.py3
-rw-r--r--pyload/plugins/hoster/PornhubCom.py3
-rw-r--r--pyload/plugins/hoster/PotloadCom.py13
-rw-r--r--pyload/plugins/hoster/PremiumTo.py5
-rw-r--r--pyload/plugins/hoster/PremiumizeMe.py3
-rw-r--r--pyload/plugins/hoster/PromptfileCom.py4
-rw-r--r--pyload/plugins/hoster/QuickshareCz.py4
-rw-r--r--pyload/plugins/hoster/RPNetBiz.py3
-rw-r--r--pyload/plugins/hoster/RapidgatorNet.py7
-rw-r--r--pyload/plugins/hoster/RapidshareCom.py5
-rw-r--r--pyload/plugins/hoster/RarefileNet.py3
-rw-r--r--pyload/plugins/hoster/RealdebridCom.py3
-rw-r--r--pyload/plugins/hoster/RedtubeCom.py3
-rw-r--r--pyload/plugins/hoster/RehostTo.py3
-rw-r--r--pyload/plugins/hoster/RemixshareCom.py5
-rw-r--r--pyload/plugins/hoster/RgHostNet.py4
-rw-r--r--pyload/plugins/hoster/RyushareCom.py6
-rw-r--r--pyload/plugins/hoster/SecureUploadEu.py3
-rw-r--r--pyload/plugins/hoster/SendmywayCom.py3
-rw-r--r--pyload/plugins/hoster/SendspaceCom.py4
-rw-r--r--pyload/plugins/hoster/Share4webCom.py4
-rw-r--r--pyload/plugins/hoster/Share76Com.py3
-rw-r--r--pyload/plugins/hoster/ShareFilesCo.py3
-rw-r--r--pyload/plugins/hoster/ShareRapidCom.py7
-rw-r--r--pyload/plugins/hoster/SharebeesCom.py3
-rw-r--r--pyload/plugins/hoster/ShareonlineBiz.py7
-rw-r--r--pyload/plugins/hoster/ShareplaceCom.py3
-rw-r--r--pyload/plugins/hoster/ShragleCom.py4
-rw-r--r--pyload/plugins/hoster/SimplyPremiumCom.py3
-rw-r--r--pyload/plugins/hoster/SimplydebridCom.py3
-rw-r--r--pyload/plugins/hoster/SockshareCom.py6
-rw-r--r--pyload/plugins/hoster/SoundcloudCom.py3
-rw-r--r--pyload/plugins/hoster/SpeedLoadOrg.py3
-rw-r--r--pyload/plugins/hoster/SpeedfileCz.py3
-rw-r--r--pyload/plugins/hoster/SpeedyshareCom.py7
-rw-r--r--pyload/plugins/hoster/StreamCz.py4
-rw-r--r--pyload/plugins/hoster/StreamcloudEu.py3
-rw-r--r--pyload/plugins/hoster/TurbobitNet.py4
-rw-r--r--pyload/plugins/hoster/TurbouploadCom.py3
-rw-r--r--pyload/plugins/hoster/TusfilesNet.py4
-rw-r--r--pyload/plugins/hoster/TwoSharedCom.py4
-rw-r--r--pyload/plugins/hoster/UlozTo.py4
-rw-r--r--pyload/plugins/hoster/UloziskoSk.py4
-rw-r--r--pyload/plugins/hoster/UnibytesCom.py4
-rw-r--r--pyload/plugins/hoster/UnrestrictLi.py3
-rw-r--r--pyload/plugins/hoster/UploadStationCom.py4
-rw-r--r--pyload/plugins/hoster/UploadedTo.py9
-rw-r--r--pyload/plugins/hoster/UploadheroCom.py5
-rw-r--r--pyload/plugins/hoster/UploadingCom.py5
-rw-r--r--pyload/plugins/hoster/UpstoreNet.py4
-rw-r--r--pyload/plugins/hoster/UptoboxCom.py3
-rw-r--r--pyload/plugins/hoster/VeehdCom.py3
-rw-r--r--pyload/plugins/hoster/VeohCom.py4
-rw-r--r--pyload/plugins/hoster/VidPlayNet.py4
-rw-r--r--pyload/plugins/hoster/VimeoCom.py4
-rw-r--r--pyload/plugins/hoster/Vipleech4uCom.py3
-rw-r--r--pyload/plugins/hoster/WarserverCz.py3
-rw-r--r--pyload/plugins/hoster/WebshareCz.py3
-rw-r--r--pyload/plugins/hoster/WrzucTo.py4
-rw-r--r--pyload/plugins/hoster/WuploadCom.py4
-rw-r--r--pyload/plugins/hoster/X7To.py3
-rw-r--r--pyload/plugins/hoster/XHamsterCom.py5
-rw-r--r--pyload/plugins/hoster/XVideosCom.py3
-rw-r--r--pyload/plugins/hoster/Xdcc.py3
-rw-r--r--pyload/plugins/hoster/YibaishiwuCom.py4
-rw-r--r--pyload/plugins/hoster/YoupornCom.py3
-rw-r--r--pyload/plugins/hoster/YourfilesTo.py4
-rw-r--r--pyload/plugins/hoster/YoutubeCom.py5
-rw-r--r--pyload/plugins/hoster/ZDF.py3
-rw-r--r--pyload/plugins/hoster/ZeveraCom.py3
-rw-r--r--pyload/plugins/hoster/ZippyshareCom.py3
-rw-r--r--pyload/plugins/internal/AbstractExtractor.py3
-rw-r--r--pyload/plugins/internal/DeadCrypter.py3
-rw-r--r--pyload/plugins/internal/DeadHoster.py3
-rw-r--r--pyload/plugins/internal/MultiHoster.py4
-rw-r--r--pyload/plugins/internal/SimpleCrypter.py43
-rw-r--r--pyload/plugins/internal/SimpleHoster.py52
-rw-r--r--pyload/plugins/internal/UnRar.py3
-rw-r--r--pyload/plugins/internal/UnZip.py3
-rw-r--r--pyload/plugins/internal/UpdateManager.py3
-rw-r--r--pyload/plugins/internal/XFSPAccount.py73
-rw-r--r--pyload/plugins/internal/XFSPHoster.py7
-rw-r--r--pyload/plugins/ocr/GigasizeCom.py3
-rw-r--r--pyload/plugins/ocr/LinksaveIn.py9
-rw-r--r--pyload/plugins/ocr/NetloadIn.py3
-rw-r--r--pyload/plugins/ocr/ShareonlineBiz.py3
368 files changed, 964 insertions, 1065 deletions
diff --git a/pyload/plugins/Plugin.py b/pyload/plugins/Plugin.py
index 7ebaed541..98153bd5b 100644
--- a/pyload/plugins/Plugin.py
+++ b/pyload/plugins/Plugin.py
@@ -133,8 +133,9 @@ class Plugin(Base):
__config__ = [("name", "type", "desc", "default")]
__description__ = """Base plugin"""
- __author_name__ = ("RaNaN", "spoob", "mkaay")
- __author_mail__ = ("RaNaN@pyload.org", "spoob@pyload.org", "mkaay@mkaay.de")
+ __authors__ = [("RaNaN", "RaNaN@pyload.org"),
+ ("spoob", "spoob@pyload.org"),
+ ("mkaay", "mkaay@mkaay.de")]
def __init__(self, pyfile):
diff --git a/pyload/plugins/account/AlldebridCom.py b/pyload/plugins/account/AlldebridCom.py
index 71905d8ef..7183b8e6e 100644
--- a/pyload/plugins/account/AlldebridCom.py
+++ b/pyload/plugins/account/AlldebridCom.py
@@ -17,8 +17,7 @@ class AlldebridCom(Account):
__version__ = "0.22"
__description__ = """AllDebrid.com account plugin"""
- __author_name__ = "Andy Voigt"
- __author_mail__ = "spamsales@online.de"
+ __authors__ = [("Andy Voigt", "spamsales@online.de")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/BayfilesCom.py b/pyload/plugins/account/BayfilesCom.py
index 221d1615d..af4f791cf 100644
--- a/pyload/plugins/account/BayfilesCom.py
+++ b/pyload/plugins/account/BayfilesCom.py
@@ -12,8 +12,7 @@ class BayfilesCom(Account):
__version__ = "0.03"
__description__ = """Bayfiles.com account plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/BitshareCom.py b/pyload/plugins/account/BitshareCom.py
index ad44424b3..a91c25982 100644
--- a/pyload/plugins/account/BitshareCom.py
+++ b/pyload/plugins/account/BitshareCom.py
@@ -9,8 +9,7 @@ class BitshareCom(Account):
__version__ = "0.12"
__description__ = """Bitshare account plugin"""
- __author_name__ = "Paul King"
- __author_mail__ = None
+ __authors__ = [("Paul King", None)]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/CramitIn.py b/pyload/plugins/account/CramitIn.py
index ee61310ef..24acd2488 100644
--- a/pyload/plugins/account/CramitIn.py
+++ b/pyload/plugins/account/CramitIn.py
@@ -9,7 +9,7 @@ class CramitIn(XFSPAccount):
__version__ = "0.02"
__description__ = """Cramit.in account plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
- HOSTER_URL = "http://cramit.in/"
+
+ HOSTER_URL = "http://www.cramit.in/"
diff --git a/pyload/plugins/account/CzshareCom.py b/pyload/plugins/account/CzshareCom.py
index d22def156..dc8d513a5 100644
--- a/pyload/plugins/account/CzshareCom.py
+++ b/pyload/plugins/account/CzshareCom.py
@@ -12,8 +12,9 @@ class CzshareCom(Account):
__version__ = "0.14"
__description__ = """Czshare.com account plugin, now Sdilej.cz"""
- __author_name__ = ("zoidberg", "stickell")
- __author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it")
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("stickell", "l.stickell@yahoo.it")]
+
CREDIT_LEFT_PATTERN = r'<tr class="active">\s*<td>([0-9 ,]+) (KiB|MiB|GiB)</td>\s*<td>([^<]*)</td>\s*</tr>'
diff --git a/pyload/plugins/account/DebridItaliaCom.py b/pyload/plugins/account/DebridItaliaCom.py
index 79a98599e..850a9e60e 100644
--- a/pyload/plugins/account/DebridItaliaCom.py
+++ b/pyload/plugins/account/DebridItaliaCom.py
@@ -12,8 +12,8 @@ class DebridItaliaCom(Account):
__version__ = "0.1"
__description__ = """Debriditalia.com account plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
+
WALID_UNTIL_PATTERN = r"Premium valid till: (?P<D>[^|]+) \|"
diff --git a/pyload/plugins/account/DepositfilesCom.py b/pyload/plugins/account/DepositfilesCom.py
index 9fc0772c4..8d75c6344 100644
--- a/pyload/plugins/account/DepositfilesCom.py
+++ b/pyload/plugins/account/DepositfilesCom.py
@@ -13,8 +13,9 @@ class DepositfilesCom(Account):
__version__ = "0.3"
__description__ = """Depositfiles.com account plugin"""
- __author_name__ = ("mkaay", "stickell", "Walter Purcaro")
- __author_mail__ = ("mkaay@mkaay.de", "l.stickell@yahoo.it", "vuolter@gmail.com")
+ __authors__ = [("mkaay", "mkaay@mkaay.de"),
+ ("stickell", "l.stickell@yahoo.it"),
+ ("Walter Purcaro", "vuolter@gmail.com")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/DevhostSt.py b/pyload/plugins/account/DevhostSt.py
index 03d7d9964..4d615cc68 100644
--- a/pyload/plugins/account/DevhostSt.py
+++ b/pyload/plugins/account/DevhostSt.py
@@ -9,15 +9,14 @@ from pyload.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class DevhostSt(SimpleHoster):
- __name__ = "Devhost"
+ __name__ = "DevhostSt"
__type__ = "hoster"
- __version__ = "0.01"
+ __version__ = "0.02"
- __pattern__ = r'http://(?:www\.)?d-h\.st/\w+'
+ __pattern__ = r'http://(?:www\.)?d-h\.st/(?!users/)\w{3}'
__description__ = """d-h.st hoster plugin"""
- __author_name__ = "zapp-brannigan"
- __author_mail__ = "fuerst.reinje@web.de"
+ __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de")]
FILE_NAME_PATTERN = r'>Filename:</span> <div title="(?P<N>.+?)"'
@@ -41,8 +40,8 @@ class DevhostSt(SimpleHoster):
self.logDebug("Download URL = " + dl_url)
self.download(dl_url, disposition=True)
- check = self.checkDownload({'is_html': re.compile("html")})
- if check == "is_html":
+ check = self.checkDownload({'html': re.compile("html")})
+ if check == "html":
self.parseError("Downloaded file is an html file")
diff --git a/pyload/plugins/account/DevhostStFolder.py b/pyload/plugins/account/DevhostStFolder.py
index 1c9bd3889..59d293182 100644
--- a/pyload/plugins/account/DevhostStFolder.py
+++ b/pyload/plugins/account/DevhostStFolder.py
@@ -13,16 +13,39 @@ from pyload.plugins.internal.SimpleCrypter import SimpleCrypter
class DevhostStFolder(SimpleCrypter):
__name__ = "DevhostStFolder"
__type__ = "crypter"
- __version__ = "0.01"
+ __version__ = "0.02"
- __pattern__ = r'http://(?:www\.)?d-h\.st/users/\w+/\?fld_id=\d+'
+ __pattern__ = r'http://(?:www\.)?d-h\.st/users/(?P<USER>\w+)(/\?fld_id=(?P<ID>\d+))?'
- __description__ = """d-h.st decrypter plugin"""
- __author_name_ = "zapp-brannigan"
- __author_mail_ = "fuerst.reinje@web.de"
+ __description__ = """d-h.st folder decrypter plugin"""
+ __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de"),
+ ("Walter Purcaro", "vuolter@gmail.com")]
- LINK_PATTERN = r';"><a href="/(\w+)'
+ LINK_PATTERN = r'(?:/> |;">)<a href="(.+?)"(?!>Back to \w+<)'
+ OFFLINE_PATTERN = r'"/cHP">test\.png<'
+
+
+ def getPackageNameAndFolder(self):
+ try:
+ id = re.match(self.__pattern__, self.pyfile.url).group('ID')
+ if id == "0":
+ raise
+
+ p = r'href="(.+?)">Back to \w+<'
+ m = re.search(p, self.html)
+ html = self.load(urljoin("http://d-h.st", m.group(1)),
+ cookies=False)
+
+ p = '\?fld_id=%s.*?">(.+?)<' % id
+ m = re.search(p, html)
+ name = folder = m.group(1)
+
+ except Exception, e:
+ self.logDebug(str(e))
+ name = folder = re.match(self.__pattern__, self.pyfile.url).group('USER')
+
+ return name, folder
def getLinks(self):
diff --git a/pyload/plugins/account/DropboxCom.py b/pyload/plugins/account/DropboxCom.py
index 15e95d46d..639e2be9c 100644
--- a/pyload/plugins/account/DropboxCom.py
+++ b/pyload/plugins/account/DropboxCom.py
@@ -13,8 +13,7 @@ class DropboxCom(SimpleHoster):
__pattern__ = r'https?://(?:www\.)?dropbox\.com/.+'
__description__ = """Dropbox.com hoster plugin"""
- __author_name__ = "zapp-brannigan"
- __author_mail__ = "fuerst.reinje@web.de"
+ __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de")]
FILE_NAME_PATTERN = r'<title>Dropbox - (?P<N>.+?)<'
@@ -34,8 +33,8 @@ class DropboxCom(SimpleHoster):
def handleFree(self):
self.download(self.pyfile.url, get={'dl': "1"})
- check = self.checkDownload({'is_html': re.compile("html")})
- if check == "is_html":
+ check = self.checkDownload({'html': re.compile("html")})
+ if check == "html":
self.parseError("Downloaded file is an html file")
diff --git a/pyload/plugins/account/EasybytezCom.py b/pyload/plugins/account/EasybytezCom.py
index 7634594e4..0fcc187dc 100644
--- a/pyload/plugins/account/EasybytezCom.py
+++ b/pyload/plugins/account/EasybytezCom.py
@@ -1,28 +1,28 @@
# -*- coding: utf-8 -*-
import re
+
from time import mktime, strptime, gmtime
-from pyload.plugins.base.Account import Account
-from pyload.plugins.internal.SimpleHoster import parseHtmlForm
+from module.plugins.internal.XFSPAccount import XFSPAccount
from pyload.utils import parseFileSize
-class EasybytezCom(Account):
+class EasybytezCom(XFSPAccount):
__name__ = "EasybytezCom"
__type__ = "account"
- __version__ = "0.06"
+ __version__ = "0.07"
__description__ = """EasyBytez.com account plugin"""
- __author_name__ = ("zoidberg", "guidobelix")
- __author_mail__ = ("zoidberg@mujmail.cz", "guidobelix@hotmail.it")
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("guidobelix", "guidobelix@hotmail.it")]
+
- VALID_UNTIL_PATTERN = r'Premium account expire:</TD><TD><b>([^<]+)</b>'
- TRAFFIC_LEFT_PATTERN = r'<TR><TD>Traffic available today:</TD><TD><b>(?P<S>[^<]+)</b>'
+ HOSTER_URL = "http://www.easybytez.com/"
def loadAccountInfo(self, user, req):
- html = req.load("http://www.easybytez.com/?op=my_account", decode=True)
+ html = req.load(self.HOSTER_URL, get={'op': "my_account"}, decode=True)
validuntil = None
trafficleft = None
@@ -54,16 +54,3 @@ class EasybytezCom(Account):
trafficleft = parseFileSize(trafficleft) / 1024
return {"validuntil": validuntil, "trafficleft": trafficleft, "premium": premium}
-
-
- def login(self, user, data, req):
- html = req.load('http://www.easybytez.com/login.html', decode=True)
- action, inputs = parseHtmlForm('name="FL"', html)
- inputs.update({"login": user,
- "password": data['password'],
- "redirect": "http://www.easybytez.com/"})
-
- html = req.load(action, post=inputs, decode=True)
-
- if 'Incorrect Login or Password' in html or '>Error<' in html:
- self.wrongPassword()
diff --git a/pyload/plugins/account/EuroshareEu.py b/pyload/plugins/account/EuroshareEu.py
index 7481bceac..c1103afba 100644
--- a/pyload/plugins/account/EuroshareEu.py
+++ b/pyload/plugins/account/EuroshareEu.py
@@ -12,8 +12,7 @@ class EuroshareEu(Account):
__version__ = "0.01"
__description__ = """Euroshare.eu account plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/FastixRu.py b/pyload/plugins/account/FastixRu.py
index 953ba0c1e..2c7353920 100644
--- a/pyload/plugins/account/FastixRu.py
+++ b/pyload/plugins/account/FastixRu.py
@@ -10,8 +10,7 @@ class FastixRu(Account):
__version__ = "0.02"
__description__ = """Fastix account plugin"""
- __author_name__ = "Massimo Rosamilia"
- __author_mail__ = "max@spiritix.eu"
+ __authors__ = [("Massimo Rosamilia", "max@spiritix.eu")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/FastshareCz.py b/pyload/plugins/account/FastshareCz.py
index 0feca4198..d4ef08c2b 100644
--- a/pyload/plugins/account/FastshareCz.py
+++ b/pyload/plugins/account/FastshareCz.py
@@ -11,8 +11,9 @@ class FastshareCz(Account):
__version__ = "0.03"
__description__ = """Fastshare.cz account plugin"""
- __author_name__ = ("zoidberg", "stickell")
- __author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it")
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("stickell", "l.stickell@yahoo.it")]
+
CREDIT_PATTERN = r'(?:Kredit|Credit)\s*</td>\s*<td[^>]*>([\d. \w]+)&nbsp;'
diff --git a/pyload/plugins/account/File4safeCom.py b/pyload/plugins/account/File4safeCom.py
index 4429b917b..ffc2fc26d 100644
--- a/pyload/plugins/account/File4safeCom.py
+++ b/pyload/plugins/account/File4safeCom.py
@@ -9,10 +9,10 @@ class File4safeCom(XFSPAccount):
__version__ = "0.02"
__description__ = """File4safe.com account plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
- HOSTER_URL = "http://file4safe.com/"
+
+ HOSTER_URL = "http://www.file4safe.com/"
LOGIN_FAIL_PATTERN = r'input_login'
PREMIUM_PATTERN = r'Extend Premium'
diff --git a/pyload/plugins/account/FilecloudIo.py b/pyload/plugins/account/FilecloudIo.py
index 504c10be2..49c74b93d 100644
--- a/pyload/plugins/account/FilecloudIo.py
+++ b/pyload/plugins/account/FilecloudIo.py
@@ -10,8 +10,8 @@ class FilecloudIo(Account):
__version__ = "0.02"
__description__ = """FilecloudIo account plugin"""
- __author_name__ = ("zoidberg", "stickell")
- __author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it")
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("stickell", "l.stickell@yahoo.it")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/FilefactoryCom.py b/pyload/plugins/account/FilefactoryCom.py
index 047e7bb36..cf42f2666 100644
--- a/pyload/plugins/account/FilefactoryCom.py
+++ b/pyload/plugins/account/FilefactoryCom.py
@@ -14,8 +14,9 @@ class FilefactoryCom(Account):
__version__ = "0.14"
__description__ = """Filefactory.com account plugin"""
- __author_name__ = ("zoidberg", "stickell")
- __author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it")
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("stickell", "l.stickell@yahoo.it")]
+
VALID_UNTIL_PATTERN = r'Premium valid until: <strong>(?P<d>\d{1,2})\w{1,2} (?P<m>\w{3}), (?P<y>\d{4})</strong>'
diff --git a/pyload/plugins/account/FilejungleCom.py b/pyload/plugins/account/FilejungleCom.py
index 596e928ed..d63b0c273 100644
--- a/pyload/plugins/account/FilejungleCom.py
+++ b/pyload/plugins/account/FilejungleCom.py
@@ -12,8 +12,8 @@ class FilejungleCom(Account):
__version__ = "0.11"
__description__ = """Filejungle.com account plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
login_timeout = 60
diff --git a/pyload/plugins/account/FilerNet.py b/pyload/plugins/account/FilerNet.py
index 67bab6ba8..1f08d2c1a 100644
--- a/pyload/plugins/account/FilerNet.py
+++ b/pyload/plugins/account/FilerNet.py
@@ -13,8 +13,8 @@ class FilerNet(Account):
__version__ = "0.01"
__description__ = """Filer.net account plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
+
TOKEN_PATTERN = r'_csrf_token" value="([^"]+)" />'
WALID_UNTIL_PATTERN = r"Der Premium-Zugang ist gÃŒltig bis (.+)\.\s*</td>"
diff --git a/pyload/plugins/account/FilerioCom.py b/pyload/plugins/account/FilerioCom.py
index c86fa7e1f..badc14a56 100644
--- a/pyload/plugins/account/FilerioCom.py
+++ b/pyload/plugins/account/FilerioCom.py
@@ -9,7 +9,7 @@ class FilerioCom(XFSPAccount):
__version__ = "0.02"
__description__ = """FileRio.in account plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
- HOSTER_URL = "http://filerio.in/"
+
+ HOSTER_URL = "http://www.filerio.in/"
diff --git a/pyload/plugins/account/FilesMailRu.py b/pyload/plugins/account/FilesMailRu.py
index b0375f6d2..f258ead2f 100644
--- a/pyload/plugins/account/FilesMailRu.py
+++ b/pyload/plugins/account/FilesMailRu.py
@@ -9,8 +9,7 @@ class FilesMailRu(Account):
__version__ = "0.1"
__description__ = """Filesmail.ru account plugin"""
- __author_name__ = "RaNaN"
- __author_mail__ = "RaNaN@pyload.org"
+ __authors__ = [("RaNaN", "RaNaN@pyload.org")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/FileserveCom.py b/pyload/plugins/account/FileserveCom.py
index ea678f87b..dd5132734 100644
--- a/pyload/plugins/account/FileserveCom.py
+++ b/pyload/plugins/account/FileserveCom.py
@@ -12,8 +12,7 @@ class FileserveCom(Account):
__version__ = "0.2"
__description__ = """Fileserve.com account plugin"""
- __author_name__ = "mkaay"
- __author_mail__ = "mkaay@mkaay.de"
+ __authors__ = [("mkaay", "mkaay@mkaay.de")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/FourSharedCom.py b/pyload/plugins/account/FourSharedCom.py
index c973f4d65..6cc69a88d 100644
--- a/pyload/plugins/account/FourSharedCom.py
+++ b/pyload/plugins/account/FourSharedCom.py
@@ -10,8 +10,9 @@ class FourSharedCom(Account):
__version__ = "0.03"
__description__ = """FourShared.com account plugin"""
- __author_name__ = ("zoidberg", "stickell")
- __author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it")
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("stickell", "l.stickell@yahoo.it")]
+
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/FreakshareCom.py b/pyload/plugins/account/FreakshareCom.py
index 9bc68e6b4..85d813e58 100644
--- a/pyload/plugins/account/FreakshareCom.py
+++ b/pyload/plugins/account/FreakshareCom.py
@@ -12,8 +12,7 @@ class FreakshareCom(Account):
__version__ = "0.1"
__description__ = """Freakshare.com account plugin"""
- __author_name__ = "RaNaN"
- __author_mail__ = "RaNaN@pyload.org"
+ __authors__ = [("RaNaN", "RaNaN@pyload.org")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/FreeWayMe.py b/pyload/plugins/account/FreeWayMe.py
index c40d4486d..28e5c7b80 100644
--- a/pyload/plugins/account/FreeWayMe.py
+++ b/pyload/plugins/account/FreeWayMe.py
@@ -10,8 +10,7 @@ class FreeWayMe(Account):
__version__ = "0.11"
__description__ = """FreeWayMe account plugin"""
- __author_name__ = "Nicolas Giese"
- __author_mail__ = "james@free-way.me"
+ __authors__ = [("Nicolas Giese", "james@free-way.me")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/FshareVn.py b/pyload/plugins/account/FshareVn.py
index 6a357f4bc..84130c11b 100644
--- a/pyload/plugins/account/FshareVn.py
+++ b/pyload/plugins/account/FshareVn.py
@@ -13,8 +13,9 @@ class FshareVn(Account):
__version__ = "0.07"
__description__ = """Fshare.vn account plugin"""
- __author_name__ = ("zoidberg", "stickell")
- __author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it")
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("stickell", "l.stickell@yahoo.it")]
+
VALID_UNTIL_PATTERN = ur'<dt>Thời hạn dùng:</dt>\s*<dd>([^<]+)</dd>'
LIFETIME_PATTERN = ur'<dt>Lần đăng nhập trước:</dt>\s*<dd>[^<]+</dd>'
diff --git a/pyload/plugins/account/Ftp.py b/pyload/plugins/account/Ftp.py
index e331e4389..3917b59e8 100644
--- a/pyload/plugins/account/Ftp.py
+++ b/pyload/plugins/account/Ftp.py
@@ -9,8 +9,7 @@ class Ftp(Account):
__version__ = "0.01"
__description__ = """Ftp dummy account plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
login_timeout = info_threshold = -1 #: Unlimited
diff --git a/pyload/plugins/account/HellshareCz.py b/pyload/plugins/account/HellshareCz.py
index 6b5d0a87b..1d033e9f3 100644
--- a/pyload/plugins/account/HellshareCz.py
+++ b/pyload/plugins/account/HellshareCz.py
@@ -12,8 +12,8 @@ class HellshareCz(Account):
__version__ = "0.14"
__description__ = """Hellshare.cz account plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
CREDIT_LEFT_PATTERN = r'<div class="credit-link">\s*<table>\s*<tr>\s*<th>(\d+|\d\d\.\d\d\.)</th>'
diff --git a/pyload/plugins/account/Http.py b/pyload/plugins/account/Http.py
index 647af44fe..798d154e0 100644
--- a/pyload/plugins/account/Http.py
+++ b/pyload/plugins/account/Http.py
@@ -9,8 +9,7 @@ class Http(Account):
__version__ = "0.01"
__description__ = """Http dummy account plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
login_timeout = info_threshold = -1 #: Unlimited
diff --git a/pyload/plugins/account/KingfilesNet.py b/pyload/plugins/account/KingfilesNet.py
index 44c01f770..1ec0f8d8a 100644
--- a/pyload/plugins/account/KingfilesNet.py
+++ b/pyload/plugins/account/KingfilesNet.py
@@ -14,8 +14,8 @@ class KingfilesNet(SimpleHoster):
__pattern__ = r'http://(?:www\.)?kingfiles\.net/(?P<ID>\w{12})'
__description__ = """Kingfiles.net hoster plugin"""
- __author_name__ = ("zapp-brannigan", "Walter Purcaro")
- __author_mail__ = ("fuerst.reinje@web.de", "vuolter@gmail.com")
+ __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de"),
+ ("Walter Purcaro", "vuolter@gmail.com")]
FILE_NAME_PATTERN = r'name="fname" value="(?P<N>.+?)">'
@@ -78,8 +78,8 @@ class KingfilesNet(SimpleHoster):
dl_url = m.group(1)
self.download(dl_url, cookies=True, disposition=True)
- check = self.checkDownload({'is_html': re.compile("<html>")})
- if check == "is_html":
+ check = self.checkDownload({'html': re.compile("<html>")})
+ if check == "html":
self.parseError("Downloaded file is an html file")
diff --git a/pyload/plugins/account/LetitbitNet.py b/pyload/plugins/account/LetitbitNet.py
index 7c43fff94..a914693fd 100644
--- a/pyload/plugins/account/LetitbitNet.py
+++ b/pyload/plugins/account/LetitbitNet.py
@@ -10,8 +10,7 @@ class LetitbitNet(Account):
__version__ = "0.01"
__description__ = """Letitbit.net account plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/LinksnappyCom.py b/pyload/plugins/account/LinksnappyCom.py
index 9dc1a8b36..3d0ef7bca 100644
--- a/pyload/plugins/account/LinksnappyCom.py
+++ b/pyload/plugins/account/LinksnappyCom.py
@@ -12,8 +12,7 @@ class LinksnappyCom(Account):
__version__ = "0.02"
__description__ = """Linksnappy.com account plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/MegaDebridEu.py b/pyload/plugins/account/MegaDebridEu.py
index 5c58505f3..a408690c6 100644
--- a/pyload/plugins/account/MegaDebridEu.py
+++ b/pyload/plugins/account/MegaDebridEu.py
@@ -10,8 +10,8 @@ class MegaDebridEu(Account):
__version__ = "0.2"
__description__ = """mega-debrid.eu account plugin"""
- __author_name__ = "D.Ducatel"
- __author_mail__ = "dducatel@je-geek.fr"
+ __authors__ = [("D.Ducatel", "dducatel@je-geek.fr")]
+
# Define the base URL of MegaDebrid api
API_URL = "https://www.mega-debrid.eu/api.php"
diff --git a/pyload/plugins/account/MegasharesCom.py b/pyload/plugins/account/MegasharesCom.py
index da0dd7ae7..f9bd6553d 100644
--- a/pyload/plugins/account/MegasharesCom.py
+++ b/pyload/plugins/account/MegasharesCom.py
@@ -12,8 +12,8 @@ class MegasharesCom(Account):
__version__ = "0.02"
__description__ = """Megashares.com account plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
VALID_UNTIL_PATTERN = r'<p class="premium_info_box">Period Ends: (\w{3} \d{1,2}, \d{4})</p>'
diff --git a/pyload/plugins/account/MovReelCom.py b/pyload/plugins/account/MovReelCom.py
index 71766427f..ba71bec2a 100644
--- a/pyload/plugins/account/MovReelCom.py
+++ b/pyload/plugins/account/MovReelCom.py
@@ -9,13 +9,10 @@ class MovReelCom(XFSPAccount):
__version__ = "0.02"
__description__ = """Movreel.com account plugin"""
- __author_name__ = "t4skforce"
- __author_mail__ = "t4skforce1337[AT]gmail[DOT]com"
+ __authors__ = [("t4skforce", "t4skforce1337[AT]gmail[DOT]com")]
+
login_timeout = 60
info_threshold = 30
- HOSTER_URL = "http://movreel.com/"
-
- TRAFFIC_LEFT_PATTERN = r'Traffic.*?<b>([^<]+)</b>'
- LOGIN_FAIL_PATTERN = r'<b[^>]*>Incorrect Login or Password</b><br>'
+ HOSTER_URL = "http://www.movreel.com/"
diff --git a/pyload/plugins/account/MultishareCz.py b/pyload/plugins/account/MultishareCz.py
index fb6677a51..e882d0eab 100644
--- a/pyload/plugins/account/MultishareCz.py
+++ b/pyload/plugins/account/MultishareCz.py
@@ -13,8 +13,8 @@ class MultishareCz(Account):
__version__ = "0.02"
__description__ = """Multishare.cz account plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
TRAFFIC_LEFT_PATTERN = r'<span class="profil-zvyrazneni">Kredit:</span>\s*<strong>(?P<S>[0-9,]+)&nbsp;(?P<U>\w+)</strong>'
ACCOUNT_INFO_PATTERN = r'<input type="hidden" id="(u_ID|u_hash)" name="[^"]*" value="([^"]+)">'
diff --git a/pyload/plugins/account/MyfastfileCom.py b/pyload/plugins/account/MyfastfileCom.py
index 6c90793d0..559b1bd3b 100644
--- a/pyload/plugins/account/MyfastfileCom.py
+++ b/pyload/plugins/account/MyfastfileCom.py
@@ -12,8 +12,8 @@ class MyfastfileCom(Account):
__version__ = "0.02"
__description__ = """Myfastfile.com account plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
+
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/NetloadIn.py b/pyload/plugins/account/NetloadIn.py
index 01b09c5d8..fc3c0ac60 100644
--- a/pyload/plugins/account/NetloadIn.py
+++ b/pyload/plugins/account/NetloadIn.py
@@ -12,8 +12,8 @@ class NetloadIn(Account):
__version__ = "0.22"
__description__ = """Netload.in account plugin"""
- __author_name__ = ("RaNaN", "CryNickSystems")
- __author_mail__ = ("RaNaN@pyload.org", "webmaster@pcProfil.de")
+ __authors__ = [("RaNaN", "RaNaN@pyload.org"),
+ ("CryNickSystems", "webmaster@pcProfil.de")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/OboomCom.py b/pyload/plugins/account/OboomCom.py
index b304e210c..205edad32 100644
--- a/pyload/plugins/account/OboomCom.py
+++ b/pyload/plugins/account/OboomCom.py
@@ -14,8 +14,7 @@ class OboomCom(Account):
__version__ = "0.2"
__description__ = """Oboom.com account plugin"""
- __author_name__ = "stanley"
- __author_mail__ = "stanley.foerster@gmail.com"
+ __authors__ = [("stanley", "stanley.foerster@gmail.com")]
def loadAccountData(self, user, req):
diff --git a/pyload/plugins/account/OneFichierCom.py b/pyload/plugins/account/OneFichierCom.py
index efb563a60..5d106a72a 100644
--- a/pyload/plugins/account/OneFichierCom.py
+++ b/pyload/plugins/account/OneFichierCom.py
@@ -13,8 +13,8 @@ class OneFichierCom(Account):
__version__ = "0.1"
__description__ = """1fichier.com account plugin"""
- __author_name__ = "Elrick69"
- __author_mail__ = "elrick69[AT]rocketmail[DOT]com"
+ __authors__ = [("Elrick69", "elrick69[AT]rocketmail[DOT]com")]
+
VALID_UNTIL_PATTERN = r'You are a premium user until (?P<d>\d{2})/(?P<m>\d{2})/(?P<y>\d{4})'
diff --git a/pyload/plugins/account/OverLoadMe.py b/pyload/plugins/account/OverLoadMe.py
index 4fe59706c..514573dfb 100644
--- a/pyload/plugins/account/OverLoadMe.py
+++ b/pyload/plugins/account/OverLoadMe.py
@@ -10,8 +10,7 @@ class OverLoadMe(Account):
__version__ = "0.01"
__description__ = """Over-Load.me account plugin"""
- __author_name__ = "marley"
- __author_mail__ = "marley@over-load.me"
+ __authors__ = [("marley", "marley@over-load.me")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/PremiumTo.py b/pyload/plugins/account/PremiumTo.py
index 75c950263..ccb5c4c87 100644
--- a/pyload/plugins/account/PremiumTo.py
+++ b/pyload/plugins/account/PremiumTo.py
@@ -9,8 +9,10 @@ class PremiumTo(Account):
__version__ = "0.04"
__description__ = """Premium.to account plugin"""
- __author_name__ = ("RaNaN", "zoidberg", "stickell")
- __author_mail__ = ("RaNaN@pyload.org", "zoidberg@mujmail.cz", "l.stickell@yahoo.it")
+ __authors__ = [("RaNaN", "RaNaN@pyload.org"),
+ ("zoidberg", "zoidberg@mujmail.cz"),
+ ("stickell", "l.stickell@yahoo.it")]
+
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/PremiumizeMe.py b/pyload/plugins/account/PremiumizeMe.py
index 1beb950ae..ebc488226 100644
--- a/pyload/plugins/account/PremiumizeMe.py
+++ b/pyload/plugins/account/PremiumizeMe.py
@@ -11,8 +11,7 @@ class PremiumizeMe(Account):
__version__ = "0.11"
__description__ = """Premiumize.me account plugin"""
- __author_name__ = "Florian Franzen"
- __author_mail__ = "FlorianFranzen@gmail.com"
+ __authors__ = [("Florian Franzen", "FlorianFranzen@gmail.com")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/QuickshareCz.py b/pyload/plugins/account/QuickshareCz.py
index 0d677eecb..32d7f2d8e 100644
--- a/pyload/plugins/account/QuickshareCz.py
+++ b/pyload/plugins/account/QuickshareCz.py
@@ -11,8 +11,7 @@ class QuickshareCz(Account):
__version__ = "0.01"
__description__ = """Quickshare.cz account plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/RPNetBiz.py b/pyload/plugins/account/RPNetBiz.py
index c10122053..6cd6b6d76 100644
--- a/pyload/plugins/account/RPNetBiz.py
+++ b/pyload/plugins/account/RPNetBiz.py
@@ -10,8 +10,7 @@ class RPNetBiz(Account):
__version__ = "0.1"
__description__ = """RPNet.biz account plugin"""
- __author_name__ = "Dman"
- __author_mail__ = "dmanugm@gmail.com"
+ __authors__ = [("Dman", "dmanugm@gmail.com")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/RapidgatorNet.py b/pyload/plugins/account/RapidgatorNet.py
index 2c2fd493e..8e26a9df4 100644
--- a/pyload/plugins/account/RapidgatorNet.py
+++ b/pyload/plugins/account/RapidgatorNet.py
@@ -10,8 +10,8 @@ class RapidgatorNet(Account):
__version__ = "0.04"
__description__ = """Rapidgator.net account plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
API_URL = 'http://rapidgator.net/api/user'
diff --git a/pyload/plugins/account/RapidshareCom.py b/pyload/plugins/account/RapidshareCom.py
index 9f1670cb8..cd4e313a1 100644
--- a/pyload/plugins/account/RapidshareCom.py
+++ b/pyload/plugins/account/RapidshareCom.py
@@ -9,8 +9,7 @@ class RapidshareCom(Account):
__version__ = "0.22"
__description__ = """Rapidshare.com account plugin"""
- __author_name__ = "mkaay"
- __author_mail__ = "mkaay@mkaay.de"
+ __authors__ = [("mkaay", "mkaay@mkaay.de")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/RarefileNet.py b/pyload/plugins/account/RarefileNet.py
index e715d0fe0..ba2c7b95a 100644
--- a/pyload/plugins/account/RarefileNet.py
+++ b/pyload/plugins/account/RarefileNet.py
@@ -9,7 +9,7 @@ class RarefileNet(XFSPAccount):
__version__ = "0.03"
__description__ = """RareFile.net account plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
- HOSTER_URL = "http://rarefile.net/"
+
+ HOSTER_URL = "http://www.rarefile.net/"
diff --git a/pyload/plugins/account/RealdebridCom.py b/pyload/plugins/account/RealdebridCom.py
index 737f22acf..70b99c906 100644
--- a/pyload/plugins/account/RealdebridCom.py
+++ b/pyload/plugins/account/RealdebridCom.py
@@ -11,8 +11,7 @@ class RealdebridCom(Account):
__version__ = "0.43"
__description__ = """Real-Debrid.com account plugin"""
- __author_name__ = "Devirex Hazzard"
- __author_mail__ = "naibaf_11@yahoo.de"
+ __authors__ = [("Devirex Hazzard", "naibaf_11@yahoo.de")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/RehostTo.py b/pyload/plugins/account/RehostTo.py
index 0414ad581..0ade81540 100644
--- a/pyload/plugins/account/RehostTo.py
+++ b/pyload/plugins/account/RehostTo.py
@@ -9,8 +9,7 @@ class RehostTo(Account):
__version__ = "0.1"
__description__ = """Rehost.to account plugin"""
- __author_name__ = "RaNaN"
- __author_mail__ = "RaNaN@pyload.org"
+ __authors__ = [("RaNaN", "RaNaN@pyload.org")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/RyushareCom.py b/pyload/plugins/account/RyushareCom.py
index 032132537..9c83dabec 100644
--- a/pyload/plugins/account/RyushareCom.py
+++ b/pyload/plugins/account/RyushareCom.py
@@ -9,10 +9,11 @@ class RyushareCom(XFSPAccount):
__version__ = "0.04"
__description__ = """Ryushare.com account plugin"""
- __author_name__ = ("zoidberg", "trance4us")
- __author_mail__ = ("zoidberg@mujmail.cz", "")
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("trance4us", None)]
- HOSTER_URL = "http://ryushare.com/"
+
+ HOSTER_URL = "http://www.ryushare.com/"
def login(self, user, data, req):
diff --git a/pyload/plugins/account/ShareRapidCom.py b/pyload/plugins/account/ShareRapidCom.py
index 2cd955bbe..4c20770f4 100644
--- a/pyload/plugins/account/ShareRapidCom.py
+++ b/pyload/plugins/account/ShareRapidCom.py
@@ -12,8 +12,9 @@ class ShareRapidCom(Account):
__version__ = "0.34"
__description__ = """MegaRapid.cz account plugin"""
- __author_name__ = ("MikyWoW", "zoidberg")
- __author_mail__ = ("mikywow@seznam.cz", "zoidberg@mujmail.cz")
+ __authors__ = [("MikyWoW", "mikywow@seznam.cz"),
+ ("zoidberg", "zoidberg@mujmail.cz")]
+
login_timeout = 60
diff --git a/pyload/plugins/account/ShareonlineBiz.py b/pyload/plugins/account/ShareonlineBiz.py
index ff0cb1c58..681f1b5a8 100644
--- a/pyload/plugins/account/ShareonlineBiz.py
+++ b/pyload/plugins/account/ShareonlineBiz.py
@@ -9,8 +9,8 @@ class ShareonlineBiz(Account):
__version__ = "0.24"
__description__ = """Share-online.biz account plugin"""
- __author_name__ = ("mkaay", "zoidberg")
- __author_mail__ = ("mkaay@mkaay.de", "zoidberg@mujmail.cz")
+ __authors__ = [("mkaay", "mkaay@mkaay.de"),
+ ("zoidberg", "zoidberg@mujmail.cz")]
def getUserAPI(self, user, req):
diff --git a/pyload/plugins/account/SimplyPremiumCom.py b/pyload/plugins/account/SimplyPremiumCom.py
index e9126a5cb..a601aa533 100644
--- a/pyload/plugins/account/SimplyPremiumCom.py
+++ b/pyload/plugins/account/SimplyPremiumCom.py
@@ -10,8 +10,7 @@ class SimplyPremiumCom(Account):
__version__ = "0.01"
__description__ = """Simply-Premium.com account plugin"""
- __author_name__ = "EvolutionClip"
- __author_mail__ = "evolutionclip@live.de"
+ __authors__ = [("EvolutionClip", "evolutionclip@live.de")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/SimplydebridCom.py b/pyload/plugins/account/SimplydebridCom.py
index 4af8eaa31..bf49b652b 100644
--- a/pyload/plugins/account/SimplydebridCom.py
+++ b/pyload/plugins/account/SimplydebridCom.py
@@ -11,8 +11,7 @@ class SimplydebridCom(Account):
__version__ = "0.1"
__description__ = """Simply-Debrid.com account plugin"""
- __author_name__ = "Kagenoshin"
- __author_mail__ = "kagenoshin@gmx.ch"
+ __authors__ = [("Kagenoshin", "kagenoshin@gmx.ch")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/StahnuTo.py b/pyload/plugins/account/StahnuTo.py
index ba4a3fcdd..fa08b234d 100644
--- a/pyload/plugins/account/StahnuTo.py
+++ b/pyload/plugins/account/StahnuTo.py
@@ -12,8 +12,7 @@ class StahnuTo(Account):
__version__ = "0.02"
__description__ = """StahnuTo account plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/TurbobitNet.py b/pyload/plugins/account/TurbobitNet.py
index ba172d67e..48ed17d73 100644
--- a/pyload/plugins/account/TurbobitNet.py
+++ b/pyload/plugins/account/TurbobitNet.py
@@ -12,8 +12,7 @@ class TurbobitNet(Account):
__version__ = "0.01"
__description__ = """TurbobitNet account plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/TusfilesNet.py b/pyload/plugins/account/TusfilesNet.py
index b00770a59..6a80105be 100644
--- a/pyload/plugins/account/TusfilesNet.py
+++ b/pyload/plugins/account/TusfilesNet.py
@@ -4,26 +4,27 @@ import re
from time import mktime, strptime, gmtime
-from pyload.plugins.base.Account import Account
-from pyload.plugins.internal.SimpleHoster import parseHtmlForm
+from module.plugins.internal.XFSPAccount import XFSPAccount
from pyload.utils import parseFileSize
-class TusfilesNet(Account):
+class TusfilesNet(XFSPAccount):
__name__ = "TusfilesNet"
__type__ = "account"
- __version__ = "0.01"
+ __version__ = "0.02"
__description__ = """Tusfile.net account plugin"""
- __author_name__ = "guidobelix"
- __author_mail__ = "guidobelix@hotmail.it"
+ __authors__ = [("guidobelix", "guidobelix@hotmail.it")]
+
+
+ HOSTER_URL = "http://www.tusfiles.net/"
VALID_UNTIL_PATTERN = r'<span class="label label-default">([^<]+)</span>'
TRAFFIC_LEFT_PATTERN = r'<td><img src="//www.tusfiles.net/i/icon/meter.png" alt=""/></td>\n<td>&nbsp;(?P<S>[^<]+)</td>'
def loadAccountInfo(self, user, req):
- html = req.load("http://www.tusfiles.net/?op=my_account", decode=True)
+ html = req.load(self.HOSTER_URL, get={'op': "my_account"}, decode=True)
validuntil = None
trafficleft = None
@@ -54,16 +55,3 @@ class TusfilesNet(Account):
trafficleft = parseFileSize(trafficleft) * 1024
return {'validuntil': validuntil, 'trafficleft': trafficleft, 'premium': premium}
-
-
- def login(self, user, data, req):
- html = req.load("http://www.tusfiles.net/login.html", decode=True)
- action, inputs = parseHtmlForm('name="FL"', html)
- inputs.update({'login': user,
- 'password': data['password'],
- 'redirect': "http://www.tusfiles.net/"})
-
- html = req.load("http://www.tusfiles.net/", post=inputs, decode=True)
-
- if 'Incorrect Login or Password' in html or '>Error<' in html:
- self.wrongPassword()
diff --git a/pyload/plugins/account/UlozTo.py b/pyload/plugins/account/UlozTo.py
index 214607998..913ddc56f 100644
--- a/pyload/plugins/account/UlozTo.py
+++ b/pyload/plugins/account/UlozTo.py
@@ -11,8 +11,9 @@ class UlozTo(Account):
__version__ = "0.06"
__description__ = """Uloz.to account plugin"""
- __author_name__ = ("zoidberg", "pulpe")
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("pulpe", None)]
+
TRAFFIC_LEFT_PATTERN = r'<li class="menu-kredit"><a href="/kredit" title="[^"]*?GB = ([0-9.]+) MB"'
diff --git a/pyload/plugins/account/UnrestrictLi.py b/pyload/plugins/account/UnrestrictLi.py
index a93e88e2d..179d2bd8a 100644
--- a/pyload/plugins/account/UnrestrictLi.py
+++ b/pyload/plugins/account/UnrestrictLi.py
@@ -10,8 +10,7 @@ class UnrestrictLi(Account):
__version__ = "0.03"
__description__ = """Unrestrict.li account plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/UploadedTo.py b/pyload/plugins/account/UploadedTo.py
index 2ef0117f7..145205530 100644
--- a/pyload/plugins/account/UploadedTo.py
+++ b/pyload/plugins/account/UploadedTo.py
@@ -12,8 +12,7 @@ class UploadedTo(Account):
__version__ = "0.26"
__description__ = """Uploaded.to account plugin"""
- __author_name__ = "mkaay"
- __author_mail__ = "mkaay@mkaay.de"
+ __authors__ = [("mkaay", "mkaay@mkaay.de")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/UploadheroCom.py b/pyload/plugins/account/UploadheroCom.py
index 4cea86e35..ec3cdf906 100644
--- a/pyload/plugins/account/UploadheroCom.py
+++ b/pyload/plugins/account/UploadheroCom.py
@@ -13,8 +13,7 @@ class UploadheroCom(Account):
__version__ = "0.2"
__description__ = """Uploadhero.co account plugin"""
- __author_name__ = "mcmyst"
- __author_mail__ = "mcmyst@hotmail.fr"
+ __authors__ = [("mcmyst", "mcmyst@hotmail.fr")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/UploadingCom.py b/pyload/plugins/account/UploadingCom.py
index 0f7d33ec8..a25281ca4 100644
--- a/pyload/plugins/account/UploadingCom.py
+++ b/pyload/plugins/account/UploadingCom.py
@@ -12,8 +12,7 @@ class UploadingCom(Account):
__version__ = "0.1"
__description__ = """Uploading.com account plugin"""
- __author_name__ = "mkaay"
- __author_mail__ = "mkaay@mkaay.de"
+ __authors__ = [("mkaay", "mkaay@mkaay.de")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/account/UptoboxCom.py b/pyload/plugins/account/UptoboxCom.py
index 94c32e753..917663d63 100644
--- a/pyload/plugins/account/UptoboxCom.py
+++ b/pyload/plugins/account/UptoboxCom.py
@@ -9,9 +9,9 @@ class UptoboxCom(XFSPAccount):
__version__ = "0.03"
__description__ = """DDLStorage.com account plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
- HOSTER_URL = "http://uptobox.com/"
+
+ HOSTER_URL = "http://www.uptobox.com/"
VALID_UNTIL_PATTERN = r'>Premium.[Aa]ccount expire: ([^<]+)</strong>'
diff --git a/pyload/plugins/account/YibaishiwuCom.py b/pyload/plugins/account/YibaishiwuCom.py
index 6cb595d06..e9fe0facf 100644
--- a/pyload/plugins/account/YibaishiwuCom.py
+++ b/pyload/plugins/account/YibaishiwuCom.py
@@ -11,8 +11,8 @@ class YibaishiwuCom(Account):
__version__ = "0.01"
__description__ = """115.com account plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
ACCOUNT_INFO_PATTERN = r'var USER_PERMISSION = {(.*?)}'
diff --git a/pyload/plugins/account/ZeveraCom.py b/pyload/plugins/account/ZeveraCom.py
index 6d70a2e6b..17bfb114c 100644
--- a/pyload/plugins/account/ZeveraCom.py
+++ b/pyload/plugins/account/ZeveraCom.py
@@ -11,8 +11,7 @@ class ZeveraCom(Account):
__version__ = "0.21"
__description__ = """Zevera.com account plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
def loadAccountInfo(self, user, req):
diff --git a/pyload/plugins/addon/Checksum.py b/pyload/plugins/addon/Checksum.py
index 1ce5415ed..551ce7bd9 100644
--- a/pyload/plugins/addon/Checksum.py
+++ b/pyload/plugins/addon/Checksum.py
@@ -50,8 +50,10 @@ class Checksum(Addon):
("wait_time", "int", "Time to wait before each retry (seconds)", 1)]
__description__ = """Verify downloaded file size and checksum"""
- __author_name__ = ("zoidberg", "Walter Purcaro", "stickell")
- __author_mail__ = ("zoidberg@mujmail.cz", "vuolter@gmail.com", "l.stickell@yahoo.it")
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("Walter Purcaro", "vuolter@gmail.com"),
+ ("stickell", "l.stickell@yahoo.it")]
+
methods = {'sfv': 'crc32', 'crc': 'crc32', 'hash': 'md5'}
regexps = {'sfv': r'^(?P<name>[^;].+)\s+(?P<hash>[0-9A-Fa-f]{8})$',
diff --git a/pyload/plugins/addon/ClickAndLoad.py b/pyload/plugins/addon/ClickAndLoad.py
index ae541ca09..7a90b8f04 100644
--- a/pyload/plugins/addon/ClickAndLoad.py
+++ b/pyload/plugins/addon/ClickAndLoad.py
@@ -15,8 +15,8 @@ class ClickAndLoad(Addon):
("extern", "bool", "Allow external link adding", False)]
__description__ = """Gives abillity to use jd's click and load. depends on webinterface"""
- __author_name__ = ("RaNaN", "mkaay")
- __author_mail__ = ("RaNaN@pyload.de", "mkaay@mkaay.de")
+ __authors__ = [("RaNaN", "RaNaN@pyload.de"),
+ ("mkaay", "mkaay@mkaay.de")]
def coreReady(self):
diff --git a/pyload/plugins/addon/DeleteFinished.py b/pyload/plugins/addon/DeleteFinished.py
index eb6992fec..25e49dec5 100644
--- a/pyload/plugins/addon/DeleteFinished.py
+++ b/pyload/plugins/addon/DeleteFinished.py
@@ -14,8 +14,7 @@ class DeleteFinished(Addon):
('deloffline', 'bool', 'Delete packages with offline links', 'False')]
__description__ = """Automatically delete all finished packages from queue"""
- __author_name__ = "Walter Purcaro"
- __author_mail__ = "vuolter@gmail.com"
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com")]
## overwritten methods ##
diff --git a/pyload/plugins/addon/DownloadScheduler.py b/pyload/plugins/addon/DownloadScheduler.py
index 20c5ed1e1..48bbeb3af 100644
--- a/pyload/plugins/addon/DownloadScheduler.py
+++ b/pyload/plugins/addon/DownloadScheduler.py
@@ -18,8 +18,8 @@ class DownloadScheduler(Addon):
("abort", "bool", "Abort active downloads when start period with speed 0", False)]
__description__ = """Download Scheduler"""
- __author_name__ = ("zoidberg", "stickell")
- __author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it")
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("stickell", "l.stickell@yahoo.it")]
def setup(self):
diff --git a/pyload/plugins/addon/ExternalScripts.py b/pyload/plugins/addon/ExternalScripts.py
index 023c656dc..52d14c9d3 100644
--- a/pyload/plugins/addon/ExternalScripts.py
+++ b/pyload/plugins/addon/ExternalScripts.py
@@ -18,8 +18,11 @@ class ExternalScripts(Addon):
__config__ = [("activated", "bool", "Activated", True)]
__description__ = """Run external scripts"""
- __author_name__ = ("mkaay", "RaNaN", "spoob", "Walter Purcaro")
- __author_mail__ = ("mkaay@mkaay.de", "ranan@pyload.org", "spoob@pyload.org", "vuolter@gmail.com")
+ __authors__ = [("mkaay", "mkaay@mkaay.de"),
+ ("RaNaN", "ranan@pyload.org"),
+ ("spoob", "spoob@pyload.org"),
+ ("Walter Purcaro", "vuolter@gmail.com")]
+
event_list = ["archive_extracted", "package_extracted", "all_archives_extracted", "all_archives_processed",
"allDownloadsFinished", "allDownloadsProcessed"]
diff --git a/pyload/plugins/addon/ExtractArchive.py b/pyload/plugins/addon/ExtractArchive.py
index 20693c83d..cdf2eecee 100644
--- a/pyload/plugins/addon/ExtractArchive.py
+++ b/pyload/plugins/addon/ExtractArchive.py
@@ -70,8 +70,10 @@ class ExtractArchive(Addon):
("renice", "int", "CPU Priority", 0)]
__description__ = """Extract different kind of archives"""
- __author_name__ = ("RaNaN", "AndroKev", "Walter Purcaro")
- __author_mail__ = ("ranan@pyload.org", "@pyloadforum", "vuolter@gmail.com")
+ __authors__ = [("RaNaN", "ranan@pyload.org"),
+ ("AndroKev", None),
+ ("Walter Purcaro", "vuolter@gmail.com")]
+
event_list = ["allDownloadsProcessed"]
diff --git a/pyload/plugins/addon/HotFolder.py b/pyload/plugins/addon/HotFolder.py
index 0c5008f93..cceb71ca7 100644
--- a/pyload/plugins/addon/HotFolder.py
+++ b/pyload/plugins/addon/HotFolder.py
@@ -21,8 +21,7 @@ class HotFolder(Addon):
("file", "str", "Link file", "links.txt")]
__description__ = """Observe folder and file for changes and add container and links"""
- __author_name__ = "RaNaN"
- __author_mail__ = "RaNaN@pyload.de"
+ __authors__ = [("RaNaN", "RaNaN@pyload.de")]
def setup(self):
diff --git a/pyload/plugins/addon/IRCInterface.py b/pyload/plugins/addon/IRCInterface.py
index 85175f4da..9f77bfc7e 100644
--- a/pyload/plugins/addon/IRCInterface.py
+++ b/pyload/plugins/addon/IRCInterface.py
@@ -33,8 +33,7 @@ class IRCInterface(Thread, Addon):
("captcha", "bool", "Send captcha requests", True)]
__description__ = """Connect to irc and let owner perform different tasks"""
- __author_name__ = "Jeix"
- __author_mail__ = "Jeix@hasnomail.com"
+ __authors__ = [("Jeix", "Jeix@hasnomail.com")]
def __init__(self, core, manager):
diff --git a/pyload/plugins/addon/MergeFiles.py b/pyload/plugins/addon/MergeFiles.py
index 16c88bcdd..1edbf119a 100644
--- a/pyload/plugins/addon/MergeFiles.py
+++ b/pyload/plugins/addon/MergeFiles.py
@@ -16,8 +16,8 @@ class MergeFiles(Addon):
__config__ = [("activated", "bool", "Activated", False)]
__description__ = """Merges parts splitted with hjsplit"""
- __author_name__ = "and9000"
- __author_mail__ = "me@has-no-mail.com"
+ __authors__ = [("and9000", "me@has-no-mail.com")]
+
BUFFER_SIZE = 4096
diff --git a/pyload/plugins/addon/MultiHome.py b/pyload/plugins/addon/MultiHome.py
index 2aa60ecc3..f7bca4843 100644
--- a/pyload/plugins/addon/MultiHome.py
+++ b/pyload/plugins/addon/MultiHome.py
@@ -14,8 +14,7 @@ class MultiHome(Addon):
("interfaces", "str", "Interfaces", "None")]
__description__ = """Ip address changer"""
- __author_name__ = "mkaay"
- __author_mail__ = "mkaay@mkaay.de"
+ __authors__ = [("mkaay", "mkaay@mkaay.de")]
def setup(self):
diff --git a/pyload/plugins/addon/RestartFailed.py b/pyload/plugins/addon/RestartFailed.py
index db3a61523..7d736db46 100644
--- a/pyload/plugins/addon/RestartFailed.py
+++ b/pyload/plugins/addon/RestartFailed.py
@@ -12,13 +12,13 @@ class RestartFailed(Addon):
("interval", "int", "Check interval in minutes", 90)]
__description__ = """Periodically restart all failed downloads in queue"""
- __author_name__ = "Walter Purcaro"
- __author_mail__ = "vuolter@gmail.com"
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com")]
- MIN_INTERVAL = 15 * 60 #: 15m minimum check interval (value is in seconds)
event_list = ["pluginConfigChanged"]
+ MIN_INTERVAL = 15 * 60 #: 15m minimum check interval (value is in seconds)
+
def pluginConfigChanged(self, plugin, name, value):
if name == "interval":
diff --git a/pyload/plugins/addon/UnSkipOnFail.py b/pyload/plugins/addon/UnSkipOnFail.py
index 27662cad3..7ab069e93 100644
--- a/pyload/plugins/addon/UnSkipOnFail.py
+++ b/pyload/plugins/addon/UnSkipOnFail.py
@@ -15,8 +15,7 @@ class UnSkipOnFail(Addon):
__config__ = [("activated", "bool", "Activated", True)]
__description__ = """When a download fails, restart skipped duplicates"""
- __author_name__ = "hagg"
- __author_mail__ = None
+ __authors__ = [("hagg", None)]
def downloadFailed(self, pyfile):
diff --git a/pyload/plugins/addon/WindowsPhoneToastNotify.py b/pyload/plugins/addon/WindowsPhoneToastNotify.py
index a35e28e3b..e6605dfb2 100644
--- a/pyload/plugins/addon/WindowsPhoneToastNotify.py
+++ b/pyload/plugins/addon/WindowsPhoneToastNotify.py
@@ -18,8 +18,7 @@ class WindowsPhoneToastNotify(Addon):
("pushTimeout", "int", "Timeout between notifications in seconds", 0)]
__description__ = """Send push notifications to Windows Phone"""
- __author_name__ = "Andy Voigt"
- __author_mail__ = "phone-support@hotmail.de"
+ __authors__ = [("Andy Voigt", "phone-support@hotmail.de")]
def setup(self):
diff --git a/pyload/plugins/addon/XMPPInterface.py b/pyload/plugins/addon/XMPPInterface.py
index f442cc0d0..de04f05fb 100644
--- a/pyload/plugins/addon/XMPPInterface.py
+++ b/pyload/plugins/addon/XMPPInterface.py
@@ -24,8 +24,7 @@ class XMPPInterface(IRCInterface, JabberClient):
("captcha", "bool", "Send captcha requests", True)]
__description__ = """Connect to jabber and let owner perform different tasks"""
- __author_name__ = "RaNaN"
- __author_mail__ = "RaNaN@pyload.org"
+ __authors__ = [("RaNaN", "RaNaN@pyload.org")]
implements(IMessageHandlersProvider)
diff --git a/pyload/plugins/base/Account.py b/pyload/plugins/base/Account.py
index acf531694..687803d2e 100644
--- a/pyload/plugins/base/Account.py
+++ b/pyload/plugins/base/Account.py
@@ -24,8 +24,8 @@ class Account(Base):
__version__ = "0.3"
__description__ = """Base account plugin"""
- __author_name__ = "mkaay"
- __author_mail__ = "mkaay@mkaay.de"
+ __authors__ = [("mkaay", "mkaay@mkaay.de")]
+
#: after that time (in minutes) pyload will relogin the account
login_timeout = 10 * 60
@@ -67,13 +67,13 @@ class Account(Base):
self.login(user, data, req)
except WrongPassword:
self.logWarning(
- _("Could not login with account %(user)s | %(msg)s") % {"user": user
- , "msg": _("Wrong Password")})
+ _("Could not login with account %(user)s | %(msg)s") % {"user": user,
+ "msg": _("Wrong Password")})
success = data['valid'] = False
except Exception, e:
self.logWarning(
- _("Could not login with account %(user)s | %(msg)s") % {"user": user
- , "msg": e})
+ _("Could not login with account %(user)s | %(msg)s") % {"user": user,
+ "msg": e})
success = data['valid'] = False
if self.core.debug:
print_exc()
diff --git a/pyload/plugins/base/Container.py b/pyload/plugins/base/Container.py
index 2059ae9b2..40cc25195 100644
--- a/pyload/plugins/base/Container.py
+++ b/pyload/plugins/base/Container.py
@@ -17,8 +17,7 @@ class Container(Crypter):
__pattern__ = None
__description__ = """Base container decrypter plugin"""
- __author_name__ = "mkaay"
- __author_mail__ = "mkaay@mkaay.de"
+ __authors__ = [("mkaay", "mkaay@mkaay.de")]
def preprocessing(self, thread):
diff --git a/pyload/plugins/base/Crypter.py b/pyload/plugins/base/Crypter.py
index 7bb48d607..8d269c75d 100644
--- a/pyload/plugins/base/Crypter.py
+++ b/pyload/plugins/base/Crypter.py
@@ -11,8 +11,7 @@ class Crypter(Plugin):
__pattern__ = None
__description__ = """Base decrypter plugin"""
- __author_name__ = "mkaay"
- __author_mail__ = "mkaay@mkaay.de"
+ __authors__ = [("mkaay", "mkaay@mkaay.de")]
def __init__(self, pyfile):
diff --git a/pyload/plugins/base/Hook.py b/pyload/plugins/base/Hook.py
index a866278ba..718802ad8 100644
--- a/pyload/plugins/base/Hook.py
+++ b/pyload/plugins/base/Hook.py
@@ -31,8 +31,9 @@ class Hook(Base):
__config__ = [("name", "type", "desc", "default")]
__description__ = """Interface for hook"""
- __author_name__ = ("mkaay", "RaNaN")
- __author_mail__ = ("mkaay@mkaay.de", "RaNaN@pyload.org")
+ __authors__ = [("mkaay", "mkaay@mkaay.de"),
+ ("RaNaN", "RaNaN@pyload.org")]
+
#: automatically register event listeners for functions, attribute will be deleted dont use it yourself
event_map = None
diff --git a/pyload/plugins/base/Hoster.py b/pyload/plugins/base/Hoster.py
index 23369deec..8f0bdb727 100644
--- a/pyload/plugins/base/Hoster.py
+++ b/pyload/plugins/base/Hoster.py
@@ -16,5 +16,4 @@ class Hoster(Plugin):
__pattern__ = None
__description__ = """Base hoster plugin"""
- __author_name__ = "mkaay"
- __author_mail__ = "mkaay@mkaay.de"
+ __authors__ = [("mkaay", "mkaay@mkaay.de")]
diff --git a/pyload/plugins/base/OCR.py b/pyload/plugins/base/OCR.py
index 0991184f3..5ce85aef6 100644
--- a/pyload/plugins/base/OCR.py
+++ b/pyload/plugins/base/OCR.py
@@ -1,16 +1,16 @@
# -*- coding: utf-8 -*-
from __future__ import with_statement
-import os
+
+try:
+ from PIL import Image, GifImagePlugin, JpegImagePlugin, PngImagePlugin, TiffImagePlugin
+except ImportError:
+ import Image, GifImagePlugin, JpegImagePlugin, PngImagePlugin, TiffImagePlugin
+
import logging
import subprocess
from os.path import abspath, join
-from PIL import Image
-from PIL import TiffImagePlugin
-from PIL import PngImagePlugin
-from PIL import GifImagePlugin
-from PIL import JpegImagePlugin
class OCR(object):
@@ -19,8 +19,7 @@ class OCR(object):
__version__ = "0.1"
__description__ = """OCR base plugin"""
- __author_name__ = "pyLoad Team"
- __author_mail__ = "admin@pyload.org"
+ __authors__ = [("pyLoad Team", "admin@pyload.org")]
def __init__(self):
diff --git a/pyload/plugins/container/CCF.py b/pyload/plugins/container/CCF.py
index db6588068..fe43bda7c 100644
--- a/pyload/plugins/container/CCF.py
+++ b/pyload/plugins/container/CCF.py
@@ -19,8 +19,7 @@ class CCF(Container):
__pattern__ = r'.+\.ccf'
__description__ = """CCF container decrypter plugin"""
- __author_name__ = "Willnix"
- __author_mail__ = "Willnix@pyload.org"
+ __authors__ = [("Willnix", "Willnix@pyload.org")]
def decrypt(self, pyfile):
diff --git a/pyload/plugins/container/LinkList.py b/pyload/plugins/container/LinkList.py
index 0acdd2983..a4de13f2d 100644
--- a/pyload/plugins/container/LinkList.py
+++ b/pyload/plugins/container/LinkList.py
@@ -15,8 +15,8 @@ class LinkList(Container):
("encoding", "string", "File encoding (default utf-8)", "")]
__description__ = """Read link lists in txt format"""
- __author_name__ = ("spoob", "jeix")
- __author_mail__ = ("spoob@pyload.org", "jeix@hasnomail.com")
+ __authors__ = [("spoob", "spoob@pyload.org"),
+ ("jeix", "jeix@hasnomail.com")]
def decrypt(self, pyfile):
diff --git a/pyload/plugins/container/RSDF.py b/pyload/plugins/container/RSDF.py
index 3175516cf..1fe2974a2 100644
--- a/pyload/plugins/container/RSDF.py
+++ b/pyload/plugins/container/RSDF.py
@@ -14,8 +14,8 @@ class RSDF(Container):
__pattern__ = r'.+\.rsdf'
__description__ = """RSDF container decrypter plugin"""
- __author_name__ = ("RaNaN", "spoob")
- __author_mail__ = ("RaNaN@pyload.org", "spoob@pyload.org")
+ __authors__ = [("RaNaN", "RaNaN@pyload.org"),
+ ("spoob", "spoob@pyload.org")]
def decrypt(self, pyfile):
diff --git a/pyload/plugins/crypter/BitshareComFolder.py b/pyload/plugins/crypter/BitshareComFolder.py
index cfb6fc1a0..6cdb43339 100644
--- a/pyload/plugins/crypter/BitshareComFolder.py
+++ b/pyload/plugins/crypter/BitshareComFolder.py
@@ -6,13 +6,13 @@ from pyload.plugins.internal.SimpleCrypter import SimpleCrypter
class BitshareComFolder(SimpleCrypter):
__name__ = "BitshareComFolder"
__type__ = "crypter"
- __version__ = "0.01"
+ __version__ = "0.02"
__pattern__ = r'http://(?:www\.)?bitshare\.com/\?d=\w+'
__description__ = """Bitshare.com folder decrypter plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
+
LINK_PATTERN = r'<a href="(http://bitshare.com/files/.+)">.+</a></td>'
- TITLE_PATTERN = r'View public folder "(?P<title>.+)"</h1>'
+ TITLE_PATTERN = r'View public folder "(.+)"</h1>'
diff --git a/pyload/plugins/crypter/C1neonCom.py b/pyload/plugins/crypter/C1neonCom.py
index 2d1e91ef6..bb5b48cc2 100644
--- a/pyload/plugins/crypter/C1neonCom.py
+++ b/pyload/plugins/crypter/C1neonCom.py
@@ -11,5 +11,4 @@ class C1neonCom(DeadCrypter):
__pattern__ = r'http://(?:www\.)?c1neon.com/.*?'
__description__ = """C1neon.com decrypter plugin"""
- __author_name__ = "godofdream"
- __author_mail__ = "soilfiction@gmail.com"
+ __authors__ = [("godofdream", "soilfiction@gmail.com")]
diff --git a/pyload/plugins/crypter/ChipDe.py b/pyload/plugins/crypter/ChipDe.py
index fe91b69ce..7740e8e09 100644
--- a/pyload/plugins/crypter/ChipDe.py
+++ b/pyload/plugins/crypter/ChipDe.py
@@ -12,8 +12,7 @@ class ChipDe(Crypter):
__pattern__ = r'http://(?:www\.)?chip.de/video/.*\.html'
__description__ = """Chip.de decrypter plugin"""
- __author_name__ = "4Christopher"
- __author_mail__ = "4Christopher@gmx.de"
+ __authors__ = [("4Christopher", "4Christopher@gmx.de")]
def decrypt(self, pyfile):
diff --git a/pyload/plugins/crypter/CrockoComFolder.py b/pyload/plugins/crypter/CrockoComFolder.py
index 200b3333e..9fc8d2d30 100644
--- a/pyload/plugins/crypter/CrockoComFolder.py
+++ b/pyload/plugins/crypter/CrockoComFolder.py
@@ -11,7 +11,7 @@ class CrockoComFolder(SimpleCrypter):
__pattern__ = r'http://(?:www\.)?crocko.com/f/.*'
__description__ = """Crocko.com folder decrypter plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
LINK_PATTERN = r'<td class="last"><a href="([^"]+)">download</a>'
diff --git a/pyload/plugins/crypter/CryptItCom.py b/pyload/plugins/crypter/CryptItCom.py
index 3de00847e..99f8b1730 100644
--- a/pyload/plugins/crypter/CryptItCom.py
+++ b/pyload/plugins/crypter/CryptItCom.py
@@ -11,5 +11,4 @@ class CryptItCom(DeadCrypter):
__pattern__ = r'http://(?:www\.)?crypt-it\.com/(s|e|d|c)/[\w]+'
__description__ = """Crypt-it.com decrypter plugin"""
- __author_name__ = "jeix"
- __author_mail__ = "jeix@hasnomail.de"
+ __authors__ = [("jeix", "jeix@hasnomail.de")]
diff --git a/pyload/plugins/crypter/CzshareComFolder.py b/pyload/plugins/crypter/CzshareComFolder.py
index 2191a04b3..ac47aa17e 100644
--- a/pyload/plugins/crypter/CzshareComFolder.py
+++ b/pyload/plugins/crypter/CzshareComFolder.py
@@ -12,8 +12,8 @@ class CzshareComFolder(Crypter):
__pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/folders/.*'
__description__ = """Czshare.com folder decrypter plugin, now Sdilej.cz"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FOLDER_PATTERN = r'<tr class="subdirectory">\s*<td>\s*<table>(.*?)</table>'
LINK_PATTERN = r'<td class="col2"><a href="([^"]+)">info</a></td>'
diff --git a/pyload/plugins/crypter/DDLMusicOrg.py b/pyload/plugins/crypter/DDLMusicOrg.py
index 8c944c306..c4dbe0186 100644
--- a/pyload/plugins/crypter/DDLMusicOrg.py
+++ b/pyload/plugins/crypter/DDLMusicOrg.py
@@ -15,8 +15,7 @@ class DDLMusicOrg(Crypter):
__pattern__ = r'http://(?:www\.)?ddl-music\.org/captcha/ddlm_cr\d\.php\?\d+\?\d+'
__description__ = """Ddl-music.org decrypter plugin"""
- __author_name__ = "mkaay"
- __author_mail__ = "mkaay@mkaay.de"
+ __authors__ = [("mkaay", "mkaay@mkaay.de")]
def setup(self):
diff --git a/pyload/plugins/crypter/DailymotionBatch.py b/pyload/plugins/crypter/DailymotionBatch.py
index 73a0ceed5..41bec2203 100644
--- a/pyload/plugins/crypter/DailymotionBatch.py
+++ b/pyload/plugins/crypter/DailymotionBatch.py
@@ -17,8 +17,7 @@ class DailymotionBatch(Crypter):
__pattern__ = r'https?://(?:www\.)?dailymotion\.com/((playlists/)?(?P<TYPE>playlist|user)/)?(?P<ID>[\w^_]+)(?(TYPE)|#)'
__description__ = """Dailymotion.com channel & playlist decrypter"""
- __author_name__ = "Walter Purcaro"
- __author_mail__ = "vuolter@gmail.com"
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com")]
def api_response(self, ref, req=None):
diff --git a/pyload/plugins/crypter/DataHuFolder.py b/pyload/plugins/crypter/DataHuFolder.py
index aafcf0def..29f38c3b7 100644
--- a/pyload/plugins/crypter/DataHuFolder.py
+++ b/pyload/plugins/crypter/DataHuFolder.py
@@ -8,16 +8,17 @@ from pyload.plugins.internal.SimpleCrypter import SimpleCrypter
class DataHuFolder(SimpleCrypter):
__name__ = "DataHuFolder"
__type__ = "crypter"
- __version__ = "0.03"
+ __version__ = "0.04"
__pattern__ = r'http://(?:www\.)?data.hu/dir/\w+'
__description__ = """Data.hu folder decrypter plugin"""
- __author_name__ = ("crash", "stickell")
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("crash", None),
+ ("stickell", "l.stickell@yahoo.it")]
+
LINK_PATTERN = r"<a href='(http://data\.hu/get/.+)' target='_blank'>\1</a>"
- TITLE_PATTERN = ur'<title>(?P<title>.+) Let\xf6lt\xe9se</title>'
+ TITLE_PATTERN = ur'<title>(.+) Let\xf6lt\xe9se</title>'
def decrypt(self, pyfile):
diff --git a/pyload/plugins/crypter/DdlstorageComFolder.py b/pyload/plugins/crypter/DdlstorageComFolder.py
index 7469610f1..c7e2538ff 100644
--- a/pyload/plugins/crypter/DdlstorageComFolder.py
+++ b/pyload/plugins/crypter/DdlstorageComFolder.py
@@ -11,8 +11,8 @@ class DdlstorageComFolder(DeadCrypter):
__pattern__ = r'https?://(?:www\.)?ddlstorage\.com/folder/\w+'
__description__ = """DDLStorage.com folder decrypter plugin"""
- __author_name__ = ("godofdream", "stickell")
- __author_mail__ = ("soilfiction@gmail.com", "l.stickell@yahoo.it")
+ __authors__ = [("godofdream", "soilfiction@gmail.com"),
+ ("stickell", "l.stickell@yahoo.it")]
getInfo = create_getInfo(SpeedLoadOrg)
diff --git a/pyload/plugins/crypter/DepositfilesComFolder.py b/pyload/plugins/crypter/DepositfilesComFolder.py
index e308305ae..db87f1c45 100644
--- a/pyload/plugins/crypter/DepositfilesComFolder.py
+++ b/pyload/plugins/crypter/DepositfilesComFolder.py
@@ -11,7 +11,7 @@ class DepositfilesComFolder(SimpleCrypter):
__pattern__ = r'http://(?:www\.)?depositfiles.com/folders/\w+'
__description__ = """Depositfiles.com folder decrypter plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
LINK_PATTERN = r'<div class="progressName"[^>]*>\s*<a href="([^"]+)" title="[^"]*" target="_blank">'
diff --git a/pyload/plugins/crypter/Dereferer.py b/pyload/plugins/crypter/Dereferer.py
index 90288fb59..78ad300bb 100644
--- a/pyload/plugins/crypter/Dereferer.py
+++ b/pyload/plugins/crypter/Dereferer.py
@@ -15,8 +15,7 @@ class Dereferer(Crypter):
__pattern__ = r'https?://([^/]+)/.*?(?P<url>(ht|f)tps?(://|%3A%2F%2F).*)'
__description__ = """Crypter for dereferers"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
def decrypt(self, pyfile):
diff --git a/pyload/plugins/crypter/DlProtectCom.py b/pyload/plugins/crypter/DlProtectCom.py
index 2c9e282be..a53a46992 100644
--- a/pyload/plugins/crypter/DlProtectCom.py
+++ b/pyload/plugins/crypter/DlProtectCom.py
@@ -16,8 +16,8 @@ class DlProtectCom(SimpleCrypter):
__pattern__ = r'http://(?:www\.)?dl-protect\.com/((en|fr)/)?(?P<ID>\w+)'
__description__ = """Dl-protect.com decrypter plugin"""
- __author_name__ = "Walter Purcaro"
- __author_mail__ = "vuolter@gmail.com"
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com")]
+
OFFLINE_PATTERN = r'>Unfortunately, the link you are looking for is not found'
diff --git a/pyload/plugins/crypter/DontKnowMe.py b/pyload/plugins/crypter/DontKnowMe.py
index 5d048994e..4abc03bcd 100644
--- a/pyload/plugins/crypter/DontKnowMe.py
+++ b/pyload/plugins/crypter/DontKnowMe.py
@@ -15,8 +15,8 @@ class DontKnowMe(Crypter):
__pattern__ = r'http://(?:www\.)?dontknow.me/at/\?.+$'
__description__ = """DontKnow.me decrypter plugin"""
- __author_name__ = "selaux"
- __author_mail__ = None
+ __authors__ = [("selaux", None)]
+
LINK_PATTERN = r'http://dontknow.me/at/\?(.+)$'
diff --git a/pyload/plugins/crypter/DuckCryptInfo.py b/pyload/plugins/crypter/DuckCryptInfo.py
index 7f25b9ae6..fc917929a 100644
--- a/pyload/plugins/crypter/DuckCryptInfo.py
+++ b/pyload/plugins/crypter/DuckCryptInfo.py
@@ -15,8 +15,8 @@ class DuckCryptInfo(Crypter):
__pattern__ = r'http://(?:www\.)?duckcrypt.info/(folder|wait|link)/(\w+)/?(\w*)'
__description__ = """DuckCrypt.info decrypter plugin"""
- __author_name__ = "godofdream"
- __author_mail__ = "soilfiction@gmail.com"
+ __authors__ = [("godofdream", "soilfiction@gmail.com")]
+
TIMER_PATTERN = r'<span id="timer">(.*)</span>'
diff --git a/pyload/plugins/crypter/DuploadOrgFolder.py b/pyload/plugins/crypter/DuploadOrgFolder.py
index ca76cff75..23f439f68 100644
--- a/pyload/plugins/crypter/DuploadOrgFolder.py
+++ b/pyload/plugins/crypter/DuploadOrgFolder.py
@@ -11,7 +11,7 @@ class DuploadOrgFolder(SimpleCrypter):
__pattern__ = r'http://(?:www\.)?dupload\.org/folder/\d+/'
__description__ = """Dupload.org folder decrypter plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
+
LINK_PATTERN = r'<td style="[^"]+"><a href="(http://[^"]+)" target="_blank">[^<]+</a></td>'
diff --git a/pyload/plugins/crypter/EasybytezComFolder.py b/pyload/plugins/crypter/EasybytezComFolder.py
index c9575db96..26ac5a72b 100644
--- a/pyload/plugins/crypter/EasybytezComFolder.py
+++ b/pyload/plugins/crypter/EasybytezComFolder.py
@@ -6,18 +6,17 @@ from pyload.plugins.internal.SimpleCrypter import SimpleCrypter
class EasybytezComFolder(SimpleCrypter):
__name__ = "EasybytezComFolder"
__type__ = "crypter"
- __version__ = "0.07"
+ __version__ = "0.08"
__pattern__ = r'http://(?:www\.)?easybytez\.com/users/(?P<ID>\d+/\d+)'
- __description__ = """Easybytez.com decrypter plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __description__ = """Easybytez.com folder decrypter plugin"""
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
URL_REPLACEMENTS = [(__pattern__, r"http://www.easybytez.com/users/\g<ID>?per_page=10000")]
LINK_PATTERN = r'<td><a href="(http://www\.easybytez\.com/\w+)" target="_blank">.+(?:</a>)?</td>'
- TITLE_PATTERN = r'<Title>Files of \d+: (?P<title>.+) folder</Title>'
+ TITLE_PATTERN = r'<Title>Files of \d+: (.+) folder</Title>'
LOGIN_ACCOUNT = True
diff --git a/pyload/plugins/crypter/EmbeduploadCom.py b/pyload/plugins/crypter/EmbeduploadCom.py
index 0200d4468..5d9369d9d 100644
--- a/pyload/plugins/crypter/EmbeduploadCom.py
+++ b/pyload/plugins/crypter/EmbeduploadCom.py
@@ -15,8 +15,8 @@ class EmbeduploadCom(Crypter):
("ignoredHoster", "str", "Ignored hoster list (bar-separated) ", "")]
__description__ = """EmbedUpload.com decrypter plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
LINK_PATTERN = r'<div id="([^"]+)"[^>]*>\s*<a href="([^"]+)" target="_blank" (?:class="DownloadNow"|style="color:red")>'
diff --git a/pyload/plugins/crypter/FilebeerInfoFolder.py b/pyload/plugins/crypter/FilebeerInfoFolder.py
index ee577a865..0dbd8dc2e 100644
--- a/pyload/plugins/crypter/FilebeerInfoFolder.py
+++ b/pyload/plugins/crypter/FilebeerInfoFolder.py
@@ -11,5 +11,4 @@ class FilebeerInfoFolder(DeadCrypter):
__pattern__ = r'http://(?:www\.)?filebeer\.info/(\d+~f).*'
__description__ = """Filebeer.info folder decrypter plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
diff --git a/pyload/plugins/crypter/FilecloudIoFolder.py b/pyload/plugins/crypter/FilecloudIoFolder.py
index 577dd43a3..feb2ccbc6 100644
--- a/pyload/plugins/crypter/FilecloudIoFolder.py
+++ b/pyload/plugins/crypter/FilecloudIoFolder.py
@@ -6,13 +6,13 @@ from pyload.plugins.internal.SimpleCrypter import SimpleCrypter
class FilecloudIoFolder(SimpleCrypter):
__name__ = "FilecloudIoFolder"
__type__ = "crypter"
- __version__ = "0.01"
+ __version__ = "0.02"
__pattern__ = r'https?://(?:www\.)?(filecloud\.io|ifile\.it)/_\w+'
__description__ = """Filecloud.io folder decrypter plugin"""
- __author_name__ = "Walter Purcaro"
- __author_mail__ = "vuolter@gmail.com"
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com")]
+
LINK_PATTERN = r'href="(http://filecloud.io/\w+)" title'
- TITLE_PATTERN = r'>(?P<title>.+?) - filecloud.io<'
+ TITLE_PATTERN = r'>(.+?) - filecloud.io<'
diff --git a/pyload/plugins/crypter/FilefactoryComFolder.py b/pyload/plugins/crypter/FilefactoryComFolder.py
index c624b4fc5..51b2c4533 100644
--- a/pyload/plugins/crypter/FilefactoryComFolder.py
+++ b/pyload/plugins/crypter/FilefactoryComFolder.py
@@ -6,17 +6,17 @@ from pyload.plugins.internal.SimpleCrypter import SimpleCrypter
class FilefactoryComFolder(SimpleCrypter):
__name__ = "FilefactoryComFolder"
__type__ = "crypter"
- __version__ = "0.2"
+ __version__ = "0.3"
__pattern__ = r'https?://(?:www\.)?filefactory\.com/(?:f|folder)/\w+'
__description__ = """Filefactory.com folder decrypter plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
+
LINK_PATTERN = r'<td><a href="([^"]+)">'
- TITLE_PATTERN = r'<h1>Files in <span>(?P<title>.+)</span></h1>'
- PAGES_PATTERN = r'data-paginator-totalPages="(?P<pages>\d+)"'
+ TITLE_PATTERN = r'<h1>Files in <span>(.+)</span></h1>'
+ PAGES_PATTERN = r'data-paginator-totalPages="(\d+)"'
COOKIES = [('.filefactory.com', 'locale', 'en_US.utf8')]
diff --git a/pyload/plugins/crypter/FilerNetFolder.py b/pyload/plugins/crypter/FilerNetFolder.py
index 4acb7e165..d1c93a5c2 100644
--- a/pyload/plugins/crypter/FilerNetFolder.py
+++ b/pyload/plugins/crypter/FilerNetFolder.py
@@ -6,16 +6,17 @@ from pyload.plugins.internal.SimpleCrypter import SimpleCrypter
class FilerNetFolder(SimpleCrypter):
__name__ = "FilerNetFolder"
__type__ = "crypter"
- __version__ = "0.3"
+ __version__ = "0.4"
__pattern__ = r'https?://filer\.net/folder/\w{16}'
__description__ = """Filer.net decrypter plugin"""
- __author_name_ = ("nath_schwarz", "stickell")
- __author_mail_ = ("nathan.notwhite@gmail.com", "l.stickell@yahoo.it")
+ __authors__ = [("nath_schwarz", "nathan.notwhite@gmail.com"),
+ ("stickell", "l.stickell@yahoo.it")]
+
LINK_PATTERN = r'href="(/get/\w{16})">(?!<)'
- TITLE_PATTERN = r'<h3>(?P<title>.+) - <small'
+ TITLE_PATTERN = r'<h3>(.+?) - <small'
def getLinks(self):
diff --git a/pyload/plugins/crypter/FileserveComFolder.py b/pyload/plugins/crypter/FileserveComFolder.py
index 0a6232603..23aa3a14a 100644
--- a/pyload/plugins/crypter/FileserveComFolder.py
+++ b/pyload/plugins/crypter/FileserveComFolder.py
@@ -13,8 +13,8 @@ class FileserveComFolder(Crypter):
__pattern__ = r'http://(?:www\.)?fileserve.com/list/\w+'
__description__ = """FileServe.com folder decrypter plugin"""
- __author_name__ = "fionnc"
- __author_mail__ = "fionnc@gmail.com"
+ __authors__ = [("fionnc", "fionnc@gmail.com")]
+
FOLDER_PATTERN = r'<table class="file_list">(.*?)</table>'
LINK_PATTERN = r'<a href="([^"]+)" class="sheet_icon wbold">'
diff --git a/pyload/plugins/crypter/FilestubeCom.py b/pyload/plugins/crypter/FilestubeCom.py
index fc80762d1..56714f677 100644
--- a/pyload/plugins/crypter/FilestubeCom.py
+++ b/pyload/plugins/crypter/FilestubeCom.py
@@ -6,13 +6,13 @@ from pyload.plugins.internal.SimpleCrypter import SimpleCrypter
class FilestubeCom(SimpleCrypter):
__name__ = "FilestubeCom"
__type__ = "crypter"
- __version__ = "0.03"
+ __version__ = "0.04"
__pattern__ = r'http://(?:www\.)?filestube\.(?:com|to)/\w+'
__description__ = """Filestube.com decrypter plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
+
LINK_PATTERN = r'<a class=\"file-link-main(?: noref)?\" [^>]* href=\"(http://[^\"]+)'
- TITLE_PATTERN = r'<h1\s*> (?P<title>.+) download\s*</h1>'
+ TITLE_PATTERN = r'<h1\s*> (.+) download\s*</h1>'
diff --git a/pyload/plugins/crypter/FiletramCom.py b/pyload/plugins/crypter/FiletramCom.py
index 6620adc12..53c43b6d2 100644
--- a/pyload/plugins/crypter/FiletramCom.py
+++ b/pyload/plugins/crypter/FiletramCom.py
@@ -6,13 +6,14 @@ from pyload.plugins.internal.SimpleCrypter import SimpleCrypter
class FiletramCom(SimpleCrypter):
__name__ = "FiletramCom"
__type__ = "crypter"
- __version__ = "0.01"
+ __version__ = "0.02"
__pattern__ = r'http://(?:www\.)?filetram.com/[^/]+/.+'
__description__ = """Filetram.com decrypter plugin"""
- __author_name__ = ("igel", "stickell")
- __author_mail__ = ("igelkun@myopera.com", "l.stickell@yahoo.it")
+ __authors__ = [("igel", "igelkun@myopera.com"),
+ ("stickell", "l.stickell@yahoo.it")]
+
LINK_PATTERN = r'\s+(http://.+)'
- TITLE_PATTERN = r'<title>(?P<title>[^<]+) - Free Download[^<]*</title>'
+ TITLE_PATTERN = r'<title>(.+?) - Free Download'
diff --git a/pyload/plugins/crypter/FiredriveComFolder.py b/pyload/plugins/crypter/FiredriveComFolder.py
index 072a548a2..4fb572ec3 100644
--- a/pyload/plugins/crypter/FiredriveComFolder.py
+++ b/pyload/plugins/crypter/FiredriveComFolder.py
@@ -8,16 +8,16 @@ from pyload.plugins.internal.SimpleCrypter import SimpleCrypter
class FiredriveComFolder(SimpleCrypter):
__name__ = "FiredriveComFolder"
__type__ = "crypter"
- __version__ = "0.01"
+ __version__ = "0.02"
__pattern__ = r'https?://(?:www\.)?(firedrive|putlocker)\.com/share/.+'
__description__ = """Firedrive.com folder decrypter plugin"""
- __author_name__ = "Walter Purcaro"
- __author_mail__ = "vuolter@gmail.com"
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com")]
+
LINK_PATTERN = r'<div class="pf_item pf_(file|folder).+?public=\'(.+?)\''
- TITLE_PATTERN = r'>Shared Folder "(?P<title>.+)" | Firedrive<'
+ TITLE_PATTERN = r'>Shared Folder "(.+)" | Firedrive<'
OFFLINE_PATTERN = r'class="sad_face_image"|>No such page here.<'
TEMP_OFFLINE_PATTERN = r'>(File Temporarily Unavailable|Server Error. Try again later)'
diff --git a/pyload/plugins/crypter/FourChanOrg.py b/pyload/plugins/crypter/FourChanOrg.py
index 4762f5d1d..a6b50387f 100644
--- a/pyload/plugins/crypter/FourChanOrg.py
+++ b/pyload/plugins/crypter/FourChanOrg.py
@@ -15,8 +15,7 @@ class FourChanOrg(Crypter):
__pattern__ = r'http://(?:www\.)?boards\.4chan.org/\w+/res/(\d+)'
__description__ = """4chan.org folder decrypter plugin"""
- __author_name__ = None
- __author_mail__ = None
+ __authors__ = []
def decrypt(self, pyfile):
diff --git a/pyload/plugins/crypter/FreakhareComFolder.py b/pyload/plugins/crypter/FreakhareComFolder.py
index fca1b26a1..6cd4e7a7b 100644
--- a/pyload/plugins/crypter/FreakhareComFolder.py
+++ b/pyload/plugins/crypter/FreakhareComFolder.py
@@ -8,17 +8,17 @@ from pyload.plugins.internal.SimpleCrypter import SimpleCrypter
class FreakhareComFolder(SimpleCrypter):
__name__ = "FreakhareComFolder"
__type__ = "crypter"
- __version__ = "0.01"
+ __version__ = "0.02"
__pattern__ = r'http://(?:www\.)?freakshare\.com/folder/.+'
__description__ = """Freakhare.com folder decrypter plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
+
LINK_PATTERN = r'<a href="(http://freakshare.com/files/[^"]+)" target="_blank">'
- TITLE_PATTERN = r'Folder:</b> (?P<title>.+)'
- PAGES_PATTERN = r'Pages: +(?P<pages>\d+)'
+ TITLE_PATTERN = r'Folder:</b> (.+)'
+ PAGES_PATTERN = r'Pages: +(\d+)'
def loadPage(self, page_n):
diff --git a/pyload/plugins/crypter/FreetexthostCom.py b/pyload/plugins/crypter/FreetexthostCom.py
index e56d638f0..d8dcc5fd8 100644
--- a/pyload/plugins/crypter/FreetexthostCom.py
+++ b/pyload/plugins/crypter/FreetexthostCom.py
@@ -13,8 +13,7 @@ class FreetexthostCom(SimpleCrypter):
__pattern__ = r'http://(?:www\.)?freetexthost\.com/\w+'
__description__ = """Freetexthost.com decrypter plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
def getLinks(self):
diff --git a/pyload/plugins/crypter/FshareVnFolder.py b/pyload/plugins/crypter/FshareVnFolder.py
index 1706d97e0..a94071f30 100644
--- a/pyload/plugins/crypter/FshareVnFolder.py
+++ b/pyload/plugins/crypter/FshareVnFolder.py
@@ -11,7 +11,7 @@ class FshareVnFolder(SimpleCrypter):
__pattern__ = r'http://(?:www\.)?fshare.vn/folder/.*'
__description__ = """Fshare.vn folder decrypter plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
LINK_PATTERN = r'<li class="w_80pc"><a href="([^"]+)" target="_blank">'
diff --git a/pyload/plugins/crypter/GooGl.py b/pyload/plugins/crypter/GooGl.py
index 0e89c5bad..8c3c2c9d8 100644
--- a/pyload/plugins/crypter/GooGl.py
+++ b/pyload/plugins/crypter/GooGl.py
@@ -12,8 +12,8 @@ class GooGl(Crypter):
__pattern__ = r'https?://(?:www\.)?goo\.gl/\w+'
__description__ = """Goo.gl decrypter plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
+
API_URL = "https://www.googleapis.com/urlshortener/v1/url"
diff --git a/pyload/plugins/crypter/HoerbuchIn.py b/pyload/plugins/crypter/HoerbuchIn.py
index 572472f5a..4c2852567 100644
--- a/pyload/plugins/crypter/HoerbuchIn.py
+++ b/pyload/plugins/crypter/HoerbuchIn.py
@@ -15,8 +15,9 @@ class HoerbuchIn(Crypter):
__pattern__ = r'http://(?:www\.)?hoerbuch\.in/(wp/horbucher/\d+/.+/|tp/out.php\?.+|protection/folder_\d+\.html)'
__description__ = """Hoerbuch.in decrypter plugin"""
- __author_name__ = ("spoob", "mkaay")
- __author_mail__ = ("spoob@pyload.org", "mkaay@mkaay.de")
+ __authors__ = [("spoob", "spoob@pyload.org"),
+ ("mkaay", "mkaay@mkaay.de")]
+
article = re.compile("http://(?:www\.)?hoerbuch\.in/wp/horbucher/\d+/.+/")
protection = re.compile("http://(?:www\.)?hoerbuch\.in/protection/folder_\d+.html")
diff --git a/pyload/plugins/crypter/HotfileFolderCom.py b/pyload/plugins/crypter/HotfileFolderCom.py
index 4f144cc52..8c9b5a0da 100644
--- a/pyload/plugins/crypter/HotfileFolderCom.py
+++ b/pyload/plugins/crypter/HotfileFolderCom.py
@@ -11,5 +11,4 @@ class HotfileFolderCom(DeadCrypter):
__pattern__ = r'https?://(?:www\.)?hotfile\.com/list/\w+/\w+'
__description__ = """Hotfile.com folder decrypter plugin"""
- __author_name__ = "RaNaN"
- __author_mail__ = "RaNaN@pyload.org"
+ __authors__ = [("RaNaN", "RaNaN@pyload.org")]
diff --git a/pyload/plugins/crypter/ILoadTo.py b/pyload/plugins/crypter/ILoadTo.py
index 16f813926..6f4f98fe4 100644
--- a/pyload/plugins/crypter/ILoadTo.py
+++ b/pyload/plugins/crypter/ILoadTo.py
@@ -11,5 +11,4 @@ class ILoadTo(DeadCrypter):
__pattern__ = r'http://(?:www\.)?iload\.to/go/\d+-[\w\.-]+/'
__description__ = """Iload.to decrypter plugin"""
- __author_name__ = "hzpz"
- __author_mail__ = None
+ __authors__ = [("hzpz", None)]
diff --git a/pyload/plugins/crypter/ImgurComAlbum.py b/pyload/plugins/crypter/ImgurComAlbum.py
index 5e8be3a5d..417a36837 100644
--- a/pyload/plugins/crypter/ImgurComAlbum.py
+++ b/pyload/plugins/crypter/ImgurComAlbum.py
@@ -7,15 +7,15 @@ from pyload.utils import uniqify
class ImgurComAlbum(SimpleCrypter):
__name__ = "ImgurComAlbum"
__type__ = "crypter"
- __version__ = "0.4"
+ __version__ = "0.5"
__pattern__ = r'https?://(?:www\.|m\.)?imgur\.com/(a|gallery|)/?\w{5,7}'
__description__ = """Imgur.com decrypter plugin"""
- __author_name_ = "nath_schwarz"
- __author_mail_ = "nathan.notwhite@gmail.com"
+ __authors__ = [("nath_schwarz", "nathan.notwhite@gmail.com")]
- TITLE_PATTERN = r'(?P<title>.+) - Imgur'
+
+ TITLE_PATTERN = r'(.+?) - Imgur'
LINK_PATTERN = r'i\.imgur\.com/\w{7}s?\.(?:jpeg|jpg|png|gif|apng)'
diff --git a/pyload/plugins/crypter/LetitbitNetFolder.py b/pyload/plugins/crypter/LetitbitNetFolder.py
index b5a48a949..b40e3ed8c 100644
--- a/pyload/plugins/crypter/LetitbitNetFolder.py
+++ b/pyload/plugins/crypter/LetitbitNetFolder.py
@@ -12,8 +12,9 @@ class LetitbitNetFolder(Crypter):
__pattern__ = r'http://(?:www\.)?letitbit.net/folder/\w+'
__description__ = """Letitbit.net folder decrypter plugin"""
- __author_name__ = ("DHMH", "z00nx")
- __author_mail__ = ("webmaster@pcProfil.de", "z00nx0@gmail.com")
+ __authors__ = [("DHMH", "webmaster@pcProfil.de"),
+ ("z00nx", "z00nx0@gmail.com")]
+
FOLDER_PATTERN = r'<table>(.*)</table>'
LINK_PATTERN = r'<a href="([^"]+)" target="_blank">'
diff --git a/pyload/plugins/crypter/LinkSaveIn.py b/pyload/plugins/crypter/LinkSaveIn.py
index f5c28e28e..ad9468ae6 100644
--- a/pyload/plugins/crypter/LinkSaveIn.py
+++ b/pyload/plugins/crypter/LinkSaveIn.py
@@ -21,8 +21,7 @@ class LinkSaveIn(SimpleCrypter):
__pattern__ = r'http://(?:www\.)?linksave.in/(?P<id>\w+)$'
__description__ = """LinkSave.in decrypter plugin"""
- __author_name__ = "fragonib"
- __author_mail__ = "fragonib[AT]yahoo[DOT]es"
+ __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es")]
COOKIES = [(".linksave.in", "Linksave_Language", "english")]
diff --git a/pyload/plugins/crypter/LinkdecrypterCom.py b/pyload/plugins/crypter/LinkdecrypterCom.py
index d2c24b753..1573bd8c9 100644
--- a/pyload/plugins/crypter/LinkdecrypterCom.py
+++ b/pyload/plugins/crypter/LinkdecrypterCom.py
@@ -12,8 +12,9 @@ class LinkdecrypterCom(Crypter):
__pattern__ = None
__description__ = """Linkdecrypter.com"""
- __author_name__ = ("zoidberg", "flowlee")
- __author_mail__ = ("zoidberg@mujmail.cz", "")
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("flowlee", None)]
+
TEXTAREA_PATTERN = r'<textarea name="links" wrap="off" readonly="1" class="caja_des">(.+)</textarea>'
PASSWORD_PATTERN = r'<input type="text" name="password"'
diff --git a/pyload/plugins/crypter/LixIn.py b/pyload/plugins/crypter/LixIn.py
index 831f35c22..2f1331833 100644
--- a/pyload/plugins/crypter/LixIn.py
+++ b/pyload/plugins/crypter/LixIn.py
@@ -13,8 +13,8 @@ class LixIn(Crypter):
__pattern__ = r'http://(?:www\.)?lix\.in/(?P<ID>.+)'
__description__ = """Lix.in decrypter plugin"""
- __author_name__ = "spoob"
- __author_mail__ = "spoob@pyload.org"
+ __authors__ = [("spoob", "spoob@pyload.org")]
+
CAPTCHA_PATTERN = r'<img src="(?P<image>captcha_img.php\?.*?)"'
SUBMIT_PATTERN = r"value='continue.*?'"
diff --git a/pyload/plugins/crypter/LofCc.py b/pyload/plugins/crypter/LofCc.py
index 6c91a55ec..24950cab4 100644
--- a/pyload/plugins/crypter/LofCc.py
+++ b/pyload/plugins/crypter/LofCc.py
@@ -11,5 +11,4 @@ class LofCc(DeadCrypter):
__pattern__ = r'http://(?:www\.)?lof.cc/(.*)'
__description__ = """Lof.cc decrypter plugin"""
- __author_name__ = "mkaay"
- __author_mail__ = "mkaay@mkaay.de"
+ __authors__ = [("mkaay", "mkaay@mkaay.de")]
diff --git a/pyload/plugins/crypter/MBLinkInfo.py b/pyload/plugins/crypter/MBLinkInfo.py
index 8516ff6e4..9e63bc05d 100644
--- a/pyload/plugins/crypter/MBLinkInfo.py
+++ b/pyload/plugins/crypter/MBLinkInfo.py
@@ -11,5 +11,5 @@ class MBLinkInfo(DeadCrypter):
__pattern__ = r'http://(?:www\.)?mblink\.info/?\?id=(\d+)'
__description__ = """MBLink.info decrypter plugin"""
- __author_name__ = ("Gummibaer", "stickell")
- __author_mail__ = ("Gummibaer@wiki-bierkiste.de", "l.stickell@yahoo.it")
+ __authors__ = [("Gummibaer", "Gummibaer@wiki-bierkiste.de"),
+ ("stickell", "l.stickell@yahoo.it")]
diff --git a/pyload/plugins/crypter/MediafireComFolder.py b/pyload/plugins/crypter/MediafireComFolder.py
index d8785a7cf..f5f6389ef 100644
--- a/pyload/plugins/crypter/MediafireComFolder.py
+++ b/pyload/plugins/crypter/MediafireComFolder.py
@@ -14,8 +14,8 @@ class MediafireComFolder(Crypter):
__pattern__ = r'http://(?:www\.)?mediafire\.com/(folder/|\?sharekey=|\?\w{13}($|[/#]))'
__description__ = """Mediafire.com folder decrypter plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FOLDER_KEY_PATTERN = r"var afI= '(\w+)';"
FILE_URL_PATTERN = r'<meta property="og:url" content="http://www.mediafire.com/\?(\w+)"/>'
diff --git a/pyload/plugins/crypter/Movie2kTo.py b/pyload/plugins/crypter/Movie2kTo.py
index b6a554758..80ef4f871 100644
--- a/pyload/plugins/crypter/Movie2kTo.py
+++ b/pyload/plugins/crypter/Movie2kTo.py
@@ -11,5 +11,4 @@ class Movie2kTo(DeadCrypter):
__pattern__ = r'http://(?:www\.)?movie2k\.to/(.*)\.html'
__description__ = """Movie2k.to decrypter plugin"""
- __author_name__ = "4Christopher"
- __author_mail__ = "4Christopher@gmx.de"
+ __authors__ = [("4Christopher", "4Christopher@gmx.de")]
diff --git a/pyload/plugins/crypter/MultiUpOrg.py b/pyload/plugins/crypter/MultiUpOrg.py
index 96553a09a..86dbb339f 100644
--- a/pyload/plugins/crypter/MultiUpOrg.py
+++ b/pyload/plugins/crypter/MultiUpOrg.py
@@ -9,15 +9,15 @@ from pyload.plugins.internal.SimpleCrypter import SimpleCrypter
class MultiUpOrg(SimpleCrypter):
__name__ = "MultiUpOrg"
__type__ = "crypter"
- __version__ = "0.01"
+ __version__ = "0.02"
__pattern__ = r'http://(?:www\.)?multiup\.org/(en|fr)/(?P<TYPE>project|download|miror)/\w+(/\w+)?'
__description__ = """MultiUp.org crypter plugin"""
- __author_name__ = "Walter Purcaro"
- __author_mail__ = "vuolter@gmail.com"
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com")]
- TITLE_PATTERN = r'<title>.*(Project|Projet|ownload|élécharger) (?P<title>.+?) (\(|- )'
+
+ TITLE_PATTERN = r'<title>.*(?:Project|Projet|ownload|élécharger) (.+?) (?:\(|- )'
def getLinks(self):
diff --git a/pyload/plugins/crypter/MultiloadCz.py b/pyload/plugins/crypter/MultiloadCz.py
index 37d0a1663..7dd9dabc6 100644
--- a/pyload/plugins/crypter/MultiloadCz.py
+++ b/pyload/plugins/crypter/MultiloadCz.py
@@ -14,8 +14,8 @@ class MultiloadCz(Crypter):
("ignoredHoster", "str", "Ignored hoster list (bar-separated) ", "")]
__description__ = """Multiload.cz decrypter plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FOLDER_PATTERN = r'<form action="" method="get"><textarea[^>]*>([^>]*)</textarea></form>'
LINK_PATTERN = r'<p class="manager-server"><strong>([^<]+)</strong></p><p class="manager-linky"><a href="([^"]+)">'
diff --git a/pyload/plugins/crypter/MultiuploadCom.py b/pyload/plugins/crypter/MultiuploadCom.py
index 148d76b8f..ee2bb277a 100644
--- a/pyload/plugins/crypter/MultiuploadCom.py
+++ b/pyload/plugins/crypter/MultiuploadCom.py
@@ -11,5 +11,4 @@ class MultiuploadCom(DeadCrypter):
__pattern__ = r'http://(?:www\.)?multiupload\.(com|nl)/\w+'
__description__ = """MultiUpload.com decrypter plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
diff --git a/pyload/plugins/crypter/NCryptIn.py b/pyload/plugins/crypter/NCryptIn.py
index 3289bddad..287cbb87f 100644
--- a/pyload/plugins/crypter/NCryptIn.py
+++ b/pyload/plugins/crypter/NCryptIn.py
@@ -18,8 +18,9 @@ class NCryptIn(Crypter):
__pattern__ = r'http://(?:www\.)?ncrypt.in/(?P<type>folder|link|frame)-([^/\?]+)'
__description__ = """NCrypt.in decrypter plugin"""
- __author_name__ = ("fragonib", "stickell")
- __author_mail__ = ("fragonib[AT]yahoo[DOT]es", "l.stickell@yahoo.it")
+ __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es"),
+ ("stickell", "l.stickell@yahoo.it")]
+
JK_KEY = "jk"
CRYPTED_KEY = "crypted"
diff --git a/pyload/plugins/crypter/NetfolderIn.py b/pyload/plugins/crypter/NetfolderIn.py
index 858755e5c..8bc41ddeb 100644
--- a/pyload/plugins/crypter/NetfolderIn.py
+++ b/pyload/plugins/crypter/NetfolderIn.py
@@ -8,15 +8,16 @@ from pyload.plugins.internal.SimpleCrypter import SimpleCrypter
class NetfolderIn(SimpleCrypter):
__name__ = "NetfolderIn"
__type__ = "crypter"
- __version__ = "0.6"
+ __version__ = "0.7"
__pattern__ = r'http://(?:www\.)?netfolder.in/((?P<id1>\w+)/\w+|folder.php\?folder_id=(?P<id2>\w+))'
__description__ = """NetFolder.in decrypter plugin"""
- __author_name__ = ("RaNaN", "fragonib")
- __author_mail__ = ("RaNaN@pyload.org", "fragonib[AT]yahoo[DOT]es")
+ __authors__ = [("RaNaN", "RaNaN@pyload.org"),
+ ("fragonib", "fragonib[AT]yahoo[DOT]es")]
- TITLE_PATTERN = r'<div class="Text">Inhalt des Ordners <span(.*)>(?P<title>.+)</span></div>'
+
+ TITLE_PATTERN = r'<div class="Text">Inhalt des Ordners <span.*>(.+)</span></div>'
def decrypt(self, pyfile):
diff --git a/pyload/plugins/crypter/NosvideoCom.py b/pyload/plugins/crypter/NosvideoCom.py
index e1c9e2c55..b22546636 100644
--- a/pyload/plugins/crypter/NosvideoCom.py
+++ b/pyload/plugins/crypter/NosvideoCom.py
@@ -6,13 +6,13 @@ from pyload.plugins.internal.SimpleCrypter import SimpleCrypter
class NosvideoCom(SimpleCrypter):
__name__ = "NosvideoCom"
__type__ = "crypter"
- __version__ = "0.01"
+ __version__ = "0.02"
__pattern__ = r'http://(?:www\.)?nosvideo\.com/\?v=\w+'
__description__ = """Nosvideo.com decrypter plugin"""
- __author_name__ = "igel"
- __author_mail__ = "igelkun@myopera.com"
+ __authors__ = [("igel", "igelkun@myopera.com")]
+
LINK_PATTERN = r'href="(http://(?:w{3}\.)?nosupload.com/\?d=\w+)"'
- TITLE_PATTERN = r'<[tT]itle>Watch (?P<title>.+)</[tT]itle>'
+ TITLE_PATTERN = r'<[tT]itle>Watch (.+?)<'
diff --git a/pyload/plugins/crypter/OneKhDe.py b/pyload/plugins/crypter/OneKhDe.py
index b39504628..84560995e 100644
--- a/pyload/plugins/crypter/OneKhDe.py
+++ b/pyload/plugins/crypter/OneKhDe.py
@@ -14,8 +14,7 @@ class OneKhDe(Crypter):
__pattern__ = r'http://(?:www\.)?1kh.de/f/'
__description__ = """1kh.de decrypter plugin"""
- __author_name__ = "spoob"
- __author_mail__ = "spoob@pyload.org"
+ __authors__ = [("spoob", "spoob@pyload.org")]
def __init__(self, parent):
diff --git a/pyload/plugins/crypter/OronComFolder.py b/pyload/plugins/crypter/OronComFolder.py
index 9b5fb3959..8991642b6 100644
--- a/pyload/plugins/crypter/OronComFolder.py
+++ b/pyload/plugins/crypter/OronComFolder.py
@@ -11,5 +11,4 @@ class OronComFolder(DeadCrypter):
__pattern__ = r'http://(?:www\.)?oron.com/folder/\w+'
__description__ = """Oron.com folder decrypter plugin"""
- __author_name__ = "DHMH"
- __author_mail__ = "webmaster@pcProfil.de"
+ __authors__ = [("DHMH", "webmaster@pcProfil.de")]
diff --git a/pyload/plugins/crypter/PastebinCom.py b/pyload/plugins/crypter/PastebinCom.py
index 8e394ac3a..bb5fd2a42 100644
--- a/pyload/plugins/crypter/PastebinCom.py
+++ b/pyload/plugins/crypter/PastebinCom.py
@@ -6,13 +6,13 @@ from pyload.plugins.internal.SimpleCrypter import SimpleCrypter
class PastebinCom(SimpleCrypter):
__name__ = "PastebinCom"
__type__ = "crypter"
- __version__ = "0.01"
+ __version__ = "0.02"
__pattern__ = r'http://(?:www\.)?pastebin\.com/\w+'
__description__ = """Pastebin.com decrypter plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
+
LINK_PATTERN = r'<div class="de\d+">(https?://[^ <]+)(?:[^<]*)</div>'
- TITLE_PATTERN = r'<div class="paste_box_line1" title="(?P<title>[^"]+)">'
+ TITLE_PATTERN = r'<div class="paste_box_line1" title="([^"]+)">'
diff --git a/pyload/plugins/crypter/QuickshareCzFolder.py b/pyload/plugins/crypter/QuickshareCzFolder.py
index 1e4adec2c..c6f0280a2 100644
--- a/pyload/plugins/crypter/QuickshareCzFolder.py
+++ b/pyload/plugins/crypter/QuickshareCzFolder.py
@@ -12,8 +12,8 @@ class QuickshareCzFolder(Crypter):
__pattern__ = r'http://(?:www\.)?quickshare.cz/slozka-\d+.*'
__description__ = """Quickshare.cz folder decrypter plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FOLDER_PATTERN = r'<textarea[^>]*>(.*?)</textarea>'
LINK_PATTERN = r'(http://www.quickshare.cz/\S+)'
diff --git a/pyload/plugins/crypter/RSLayerCom.py b/pyload/plugins/crypter/RSLayerCom.py
index ded550a50..d93593459 100644
--- a/pyload/plugins/crypter/RSLayerCom.py
+++ b/pyload/plugins/crypter/RSLayerCom.py
@@ -11,5 +11,4 @@ class RSLayerCom(DeadCrypter):
__pattern__ = r'http://(?:www\.)?rs-layer.com/directory-'
__description__ = """RS-Layer.com decrypter plugin"""
- __author_name__ = "hzpz"
- __author_mail__ = None
+ __authors__ = [("hzpz", None)]
diff --git a/pyload/plugins/crypter/RelinkUs.py b/pyload/plugins/crypter/RelinkUs.py
index 2c48f2078..30d9eba48 100644
--- a/pyload/plugins/crypter/RelinkUs.py
+++ b/pyload/plugins/crypter/RelinkUs.py
@@ -17,8 +17,8 @@ class RelinkUs(Crypter):
__pattern__ = r'http://(?:www\.)?relink.us/(f/|((view|go).php\?id=))(?P<id>.+)'
__description__ = """Relink.us decrypter plugin"""
- __author_name__ = "fragonib"
- __author_mail__ = "fragonib[AT]yahoo[DOT]es"
+ __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es")]
+
# Constants
PREFERRED_LINK_SOURCES = ["cnl2", "dlc", "web"]
diff --git a/pyload/plugins/crypter/SafelinkingNet.py b/pyload/plugins/crypter/SafelinkingNet.py
index 4129efca3..12ba3c853 100644
--- a/pyload/plugins/crypter/SafelinkingNet.py
+++ b/pyload/plugins/crypter/SafelinkingNet.py
@@ -19,8 +19,8 @@ class SafelinkingNet(Crypter):
__pattern__ = r'https?://(?:www\.)?safelinking.net/([pd])/\w+'
__description__ = """Safelinking.net decrypter plugin"""
- __author_name__ = "quareevo"
- __author_mail__ = "quareevo@arcor.de"
+ __authors__ = [("quareevo", "quareevo@arcor.de")]
+
SOLVEMEDIA_PATTERN = "solvemediaApiKey = '([\w\.\-_]+)';"
diff --git a/pyload/plugins/crypter/SecuredIn.py b/pyload/plugins/crypter/SecuredIn.py
index fc2667586..4416c2e71 100644
--- a/pyload/plugins/crypter/SecuredIn.py
+++ b/pyload/plugins/crypter/SecuredIn.py
@@ -11,5 +11,4 @@ class SecuredIn(DeadCrypter):
__pattern__ = r'http://(?:www\.)?secured\.in/download-[\d]+-[\w]{8}\.html'
__description__ = """Secured.in decrypter plugin"""
- __author_name__ = "mkaay"
- __author_mail__ = "mkaay@mkaay.de"
+ __authors__ = [("mkaay", "mkaay@mkaay.de")]
diff --git a/pyload/plugins/crypter/ShareLinksBiz.py b/pyload/plugins/crypter/ShareLinksBiz.py
index 75c3db302..796643e8d 100644
--- a/pyload/plugins/crypter/ShareLinksBiz.py
+++ b/pyload/plugins/crypter/ShareLinksBiz.py
@@ -16,8 +16,7 @@ class ShareLinksBiz(Crypter):
__pattern__ = r'http://(?:www\.)?(share-links|s2l)\.biz/(?P<ID>_?\w+)'
__description__ = """Share-Links.biz decrypter plugin"""
- __author_name__ = "fragonib"
- __author_mail__ = "fragonib[AT]yahoo[DOT]es"
+ __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es")]
def setup(self):
diff --git a/pyload/plugins/crypter/ShareRapidComFolder.py b/pyload/plugins/crypter/ShareRapidComFolder.py
index c8e95be1c..a6f9eb334 100644
--- a/pyload/plugins/crypter/ShareRapidComFolder.py
+++ b/pyload/plugins/crypter/ShareRapidComFolder.py
@@ -11,7 +11,7 @@ class ShareRapidComFolder(SimpleCrypter):
__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/.+)'
__description__ = """Share-Rapid.com folder decrypter plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
LINK_PATTERN = r'<td class="soubor"[^>]*><a href="([^"]+)">'
diff --git a/pyload/plugins/crypter/SpeedLoadOrgFolder.py b/pyload/plugins/crypter/SpeedLoadOrgFolder.py
index fff119a93..39a237953 100644
--- a/pyload/plugins/crypter/SpeedLoadOrgFolder.py
+++ b/pyload/plugins/crypter/SpeedLoadOrgFolder.py
@@ -11,5 +11,4 @@ class SpeedLoadOrgFolder(DeadCrypter):
__pattern__ = r'http://(?:www\.)?speedload\.org/(\d+~f$|folder/\d+/)'
__description__ = """Speedload decrypter plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
diff --git a/pyload/plugins/crypter/StealthTo.py b/pyload/plugins/crypter/StealthTo.py
index 24489a1b3..ce89a6f35 100644
--- a/pyload/plugins/crypter/StealthTo.py
+++ b/pyload/plugins/crypter/StealthTo.py
@@ -11,5 +11,4 @@ class StealthTo(DeadCrypter):
__pattern__ = r'http://(?:www\.)?stealth\.to/folder/.+'
__description__ = """Stealth.to decrypter plugin"""
- __author_name__ = "spoob"
- __author_mail__ = "spoob@pyload.org"
+ __authors__ = [("spoob", "spoob@pyload.org")]
diff --git a/pyload/plugins/crypter/TnyCz.py b/pyload/plugins/crypter/TnyCz.py
index 879941ba4..dc065b8ea 100644
--- a/pyload/plugins/crypter/TnyCz.py
+++ b/pyload/plugins/crypter/TnyCz.py
@@ -8,15 +8,15 @@ import re
class TnyCz(SimpleCrypter):
__name__ = "TnyCz"
__type__ = "crypter"
- __version__ = "0.01"
+ __version__ = "0.02"
__pattern__ = r'http://(?:www\.)?tny\.cz/\w+'
__description__ = """Tny.cz decrypter plugin"""
- __author_name__ = "Walter Purcaro"
- __author_mail__ = "vuolter@gmail.com"
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com")]
- TITLE_PATTERN = r'<title>(?P<title>.+) - .+</title>'
+
+ TITLE_PATTERN = r'<title>(.+) - .+</title>'
def getLinks(self):
diff --git a/pyload/plugins/crypter/TrailerzoneInfo.py b/pyload/plugins/crypter/TrailerzoneInfo.py
index 7be3beef0..8cb6a01a2 100644
--- a/pyload/plugins/crypter/TrailerzoneInfo.py
+++ b/pyload/plugins/crypter/TrailerzoneInfo.py
@@ -11,5 +11,4 @@ class TrailerzoneInfo(DeadCrypter):
__pattern__ = r'http://(?:www\.)?trailerzone.info/.*?'
__description__ = """TrailerZone.info decrypter plugin"""
- __author_name__ = "godofdream"
- __author_mail__ = "soilfiction@gmail.com"
+ __authors__ = [("godofdream", "soilfiction@gmail.com")]
diff --git a/pyload/plugins/crypter/TurbobitNetFolder.py b/pyload/plugins/crypter/TurbobitNetFolder.py
index c7786b7be..b5b611ad6 100644
--- a/pyload/plugins/crypter/TurbobitNetFolder.py
+++ b/pyload/plugins/crypter/TurbobitNetFolder.py
@@ -9,15 +9,16 @@ from pyload.utils import json_loads
class TurbobitNetFolder(SimpleCrypter):
__name__ = "TurbobitNetFolder"
__type__ = "crypter"
- __version__ = "0.03"
+ __version__ = "0.04"
__pattern__ = r'http://(?:www\.)?turbobit\.net/download/folder/(?P<ID>\w+)'
__description__ = """Turbobit.net folder decrypter plugin"""
- __author_name__ = ("stickell", "Walter Purcaro")
- __author_mail__ = ("l.stickell@yahoo.it", "vuolter@gmail.com")
+ __authors__ = [("stickell", "l.stickell@yahoo.it"),
+ ("Walter Purcaro", "vuolter@gmail.com")]
- TITLE_PATTERN = r"src='/js/lib/grid/icon/folder.png'> <span>(?P<title>.+?)</span>"
+
+ TITLE_PATTERN = r"src='/js/lib/grid/icon/folder.png'> <span>(.+?)</span>"
def _getLinks(self, id, page=1):
diff --git a/pyload/plugins/crypter/TusfilesNetFolder.py b/pyload/plugins/crypter/TusfilesNetFolder.py
index f4f1c7723..245cb20bf 100644
--- a/pyload/plugins/crypter/TusfilesNetFolder.py
+++ b/pyload/plugins/crypter/TusfilesNetFolder.py
@@ -10,17 +10,18 @@ from pyload.plugins.internal.SimpleCrypter import SimpleCrypter
class TusfilesNetFolder(SimpleCrypter):
__name__ = "TusfilesNetFolder"
__type__ = "crypter"
- __version__ = "0.02"
+ __version__ = "0.03"
__pattern__ = r'https?://(?:www\.)?tusfiles\.net/go/(?P<ID>\w+)/?'
__description__ = """Tusfiles.net folder decrypter plugin"""
- __author_name__ = ("Walter Purcaro", "stickell")
- __author_mail__ = ("vuolter@gmail.com", "l.stickell@yahoo.it")
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com"),
+ ("stickell", "l.stickell@yahoo.it")]
+
LINK_PATTERN = r'<TD align=left><a href="(.*?)">'
- TITLE_PATTERN = r'<Title>.*?\: (?P<title>.+) folder</Title>'
- PAGES_PATTERN = r'>\((?P<pages>\d+) \w+\)<'
+ TITLE_PATTERN = r'<Title>.*?\: (.+) folder</Title>'
+ PAGES_PATTERN = r'>\((\d+) \w+\)<'
URL_REPLACEMENTS = [(__pattern__, r'https://www.tusfiles.net/go/\g<ID>/')]
diff --git a/pyload/plugins/crypter/UlozToFolder.py b/pyload/plugins/crypter/UlozToFolder.py
index 5d302f58f..1d25fff6f 100644
--- a/pyload/plugins/crypter/UlozToFolder.py
+++ b/pyload/plugins/crypter/UlozToFolder.py
@@ -12,8 +12,8 @@ class UlozToFolder(Crypter):
__pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj.cz|zachowajto.pl)/(m|soubory)/.*'
__description__ = """Uloz.to folder decrypter plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FOLDER_PATTERN = r'<ul class="profile_files">(.*?)</ul>'
LINK_PATTERN = r'<br /><a href="/([^"]+)">[^<]+</a>'
diff --git a/pyload/plugins/crypter/UploadableChFolder.py b/pyload/plugins/crypter/UploadableChFolder.py
index acc56580c..a3b77eaaa 100644
--- a/pyload/plugins/crypter/UploadableChFolder.py
+++ b/pyload/plugins/crypter/UploadableChFolder.py
@@ -6,16 +6,16 @@ from pyload.plugins.internal.SimpleCrypter import SimpleCrypter
class UploadableChFolder(SimpleCrypter):
__name__ = "UploadableChFolder"
__type__ = "crypter"
- __version__ = "0.01"
+ __version__ = "0.02"
__pattern__ = r'http://(?:www\.)?uploadable\.ch/list/\w+'
__description__ = """Uploadable.ch folder decrypter plugin"""
- __author_name__ = ("guidobelix", "Walter Purcaro")
- __author_mail__ = ("guidobelix@hotmail.it", "vuolter@gmail.com")
+ __authors__ = [("guidobelix", "guidobelix@hotmail.it"),
+ ("Walter Purcaro", "vuolter@gmail.com")]
LINK_PATTERN = r'"(.+?)" class="icon_zipfile">'
- TITLE_PATTERN = r'<div class="folder"><span>&nbsp;</span>(?P<title>.+?)</div>'
+ TITLE_PATTERN = r'<div class="folder"><span>&nbsp;</span>(.+?)</div>'
OFFLINE_PATTERN = r'We are sorry... The URL you entered cannot be found on the server.'
TEMP_OFFLINE_PATTERN = r'<div class="icon_err">'
diff --git a/pyload/plugins/crypter/UploadedToFolder.py b/pyload/plugins/crypter/UploadedToFolder.py
index 5ba34d8b5..223c419d7 100644
--- a/pyload/plugins/crypter/UploadedToFolder.py
+++ b/pyload/plugins/crypter/UploadedToFolder.py
@@ -8,16 +8,16 @@ from pyload.plugins.internal.SimpleCrypter import SimpleCrypter
class UploadedToFolder(SimpleCrypter):
__name__ = "UploadedToFolder"
__type__ = "crypter"
- __version__ = "0.3"
+ __version__ = "0.4"
__pattern__ = r'http://(?:www\.)?(uploaded|ul)\.(to|net)/(f|folder|list)/(?P<id>\w+)'
__description__ = """UploadedTo decrypter plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
+
PLAIN_PATTERN = r'<small class="date"><a href="(?P<plain>[\w/]+)" onclick='
- TITLE_PATTERN = r'<title>(?P<title>[^<]+)</title>'
+ TITLE_PATTERN = r'<title>(.+?)<'
def decrypt(self, pyfile):
diff --git a/pyload/plugins/crypter/WiiReloadedOrg.py b/pyload/plugins/crypter/WiiReloadedOrg.py
index 7dfe574ab..0e3aef6d6 100644
--- a/pyload/plugins/crypter/WiiReloadedOrg.py
+++ b/pyload/plugins/crypter/WiiReloadedOrg.py
@@ -11,5 +11,4 @@ class WiiReloadedOrg(DeadCrypter):
__pattern__ = r'http://(?:www\.)?wii-reloaded\.org/protect/get\.php\?i=.+'
__description__ = """Wii-Reloaded.org decrypter plugin"""
- __author_name__ = "hzpz"
- __author_mail__ = None
+ __authors__ = [("hzpz", None)]
diff --git a/pyload/plugins/crypter/XupPl.py b/pyload/plugins/crypter/XupPl.py
index 9a5f99e5a..798572285 100644
--- a/pyload/plugins/crypter/XupPl.py
+++ b/pyload/plugins/crypter/XupPl.py
@@ -11,8 +11,7 @@ class XupPl(Crypter):
__pattern__ = r'https?://(?:[^/]*\.)?xup\.pl/.*'
__description__ = """Xup.pl decrypter plugin"""
- __author_name__ = "z00nx"
- __author_mail__ = "z00nx0@gmail.com"
+ __authors__ = [("z00nx", "z00nx0@gmail.com")]
def decrypt(self, pyfile):
diff --git a/pyload/plugins/crypter/YoutubeBatch.py b/pyload/plugins/crypter/YoutubeBatch.py
index 5ed0a7abf..b48e792c0 100644
--- a/pyload/plugins/crypter/YoutubeBatch.py
+++ b/pyload/plugins/crypter/YoutubeBatch.py
@@ -22,8 +22,7 @@ class YoutubeBatch(Crypter):
("uploads", "bool", "Grab channel unplaylisted videos", True)]
__description__ = """Youtube.com channel & playlist decrypter plugin"""
- __author_name__ = "Walter Purcaro"
- __author_mail__ = "vuolter@gmail.com"
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com")]
def api_response(self, ref, req):
diff --git a/pyload/plugins/hook/AlldebridCom.py b/pyload/plugins/hook/AlldebridCom.py
index 8eade2941..dadf322b4 100644
--- a/pyload/plugins/hook/AlldebridCom.py
+++ b/pyload/plugins/hook/AlldebridCom.py
@@ -17,8 +17,7 @@ class AlldebridCom(MultiHoster):
("interval", "int", "Reload interval in hours (0 to disable)", 24)]
__description__ = """Alldebrid.com hook plugin"""
- __author_name__ = "Andy Voigt"
- __author_mail__ = "spamsales@online.de"
+ __authors__ = [("Andy Voigt", "spamsales@online.de")]
def getHoster(self):
diff --git a/pyload/plugins/hook/BypassCaptcha.py b/pyload/plugins/hook/BypassCaptcha.py
index fdd1e567c..02b72c6d0 100644
--- a/pyload/plugins/hook/BypassCaptcha.py
+++ b/pyload/plugins/hook/BypassCaptcha.py
@@ -33,8 +33,10 @@ class BypassCaptcha(Hook):
("passkey", "password", "Passkey", "")]
__description__ = """Send captchas to BypassCaptcha.com"""
- __author_name__ = ("RaNaN", "Godofdream", "zoidberg")
- __author_mail__ = ("RaNaN@pyload.org", "soilfcition@gmail.com", "zoidberg@mujmail.cz")
+ __authors__ = [("RaNaN", "RaNaN@pyload.org"),
+ ("Godofdream", "soilfcition@gmail.com"),
+ ("zoidberg", "zoidberg@mujmail.cz")]
+
PYLOAD_KEY = "4f771155b640970d5607f919a615bdefc67e7d32"
diff --git a/pyload/plugins/hook/Captcha9kw.py b/pyload/plugins/hook/Captcha9kw.py
index 45890815c..c37bfc61f 100644
--- a/pyload/plugins/hook/Captcha9kw.py
+++ b/pyload/plugins/hook/Captcha9kw.py
@@ -30,8 +30,8 @@ class Captcha9kw(Hook):
("passkey", "password", "API key", "")]
__description__ = """Send captchas to 9kw.eu"""
- __author_name__ = "RaNaN"
- __author_mail__ = "RaNaN@pyload.org"
+ __authors__ = [("RaNaN", "RaNaN@pyload.org")]
+
API_URL = "://www.9kw.eu/index.cgi"
diff --git a/pyload/plugins/hook/CaptchaBrotherhood.py b/pyload/plugins/hook/CaptchaBrotherhood.py
index 8f6f8d68b..79216923e 100644
--- a/pyload/plugins/hook/CaptchaBrotherhood.py
+++ b/pyload/plugins/hook/CaptchaBrotherhood.py
@@ -5,7 +5,11 @@ from __future__ import with_statement
import StringIO
import pycurl
-from PIL import Image
+try:
+ from PIL import Image
+except ImportError:
+ import Image
+
from thread import start_new_thread
from time import sleep
from urllib import urlencode
@@ -40,8 +44,9 @@ class CaptchaBrotherhood(Hook):
("passkey", "password", "Password", "")]
__description__ = """Send captchas to CaptchaBrotherhood.com"""
- __author_name__ = ("RaNaN", "zoidberg")
- __author_mail__ = ("RaNaN@pyload.org", "zoidberg@mujmail.cz")
+ __authors__ = [("RaNaN", "RaNaN@pyload.org"),
+ ("zoidberg", "zoidberg@mujmail.cz")]
+
API_URL = "http://www.captchabrotherhood.com/"
diff --git a/pyload/plugins/hook/DeathByCaptcha.py b/pyload/plugins/hook/DeathByCaptcha.py
index 6e7a585ad..293326d86 100644
--- a/pyload/plugins/hook/DeathByCaptcha.py
+++ b/pyload/plugins/hook/DeathByCaptcha.py
@@ -55,8 +55,9 @@ class DeathByCaptcha(Hook):
("force", "bool", "Force DBC even if client is connected", False)]
__description__ = """Send captchas to DeathByCaptcha.com"""
- __author_name__ = ("RaNaN", "zoidberg")
- __author_mail__ = ("RaNaN@pyload.org", "zoidberg@mujmail.cz")
+ __authors__ = [("RaNaN", "RaNaN@pyload.org"),
+ ("zoidberg", "zoidberg@mujmail.cz")]
+
API_URL = "http://api.dbcapi.me/api/"
diff --git a/pyload/plugins/hook/DebridItaliaCom.py b/pyload/plugins/hook/DebridItaliaCom.py
index 4272b758f..4a12f052a 100644
--- a/pyload/plugins/hook/DebridItaliaCom.py
+++ b/pyload/plugins/hook/DebridItaliaCom.py
@@ -15,8 +15,7 @@ class DebridItaliaCom(MultiHoster):
("interval", "int", "Reload interval in hours (0 to disable)", 24)]
__description__ = """Debriditalia.com hook plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
def getHoster(self):
diff --git a/pyload/plugins/hook/EasybytezCom.py b/pyload/plugins/hook/EasybytezCom.py
index 9d1cdc0db..c920f4069 100644
--- a/pyload/plugins/hook/EasybytezCom.py
+++ b/pyload/plugins/hook/EasybytezCom.py
@@ -15,8 +15,7 @@ class EasybytezCom(MultiHoster):
("hosterList", "str", "Hoster list (comma separated)", "")]
__description__ = """EasyBytez.com hook plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
def getHoster(self):
diff --git a/pyload/plugins/hook/ExpertDecoders.py b/pyload/plugins/hook/ExpertDecoders.py
index 3f0f64f1e..e843d8773 100644
--- a/pyload/plugins/hook/ExpertDecoders.py
+++ b/pyload/plugins/hook/ExpertDecoders.py
@@ -22,8 +22,9 @@ class ExpertDecoders(Hook):
("passkey", "password", "Access key", "")]
__description__ = """Send captchas to expertdecoders.com"""
- __author_name__ = ("RaNaN", "zoidberg")
- __author_mail__ = ("RaNaN@pyload.org", "zoidberg@mujmail.cz")
+ __authors__ = [("RaNaN", "RaNaN@pyload.org"),
+ ("zoidberg", "zoidberg@mujmail.cz")]
+
API_URL = "http://www.fasttypers.org/imagepost.ashx"
@@ -55,7 +56,7 @@ class ExpertDecoders(Hook):
req.c.setopt(LOW_SPEED_TIME, 80)
try:
- result = req.load(self.API_URL, post={"action": "upload", "key": self.getConfig("passkey"),
+ result = req.load(self.API_URL, post={"action": "upload", "key": self.getConfig("passkey"),
"file": data, "gen_task_id": ticket})
finally:
req.close()
diff --git a/pyload/plugins/hook/FastixRu.py b/pyload/plugins/hook/FastixRu.py
index 9e2abd92a..8247a592c 100644
--- a/pyload/plugins/hook/FastixRu.py
+++ b/pyload/plugins/hook/FastixRu.py
@@ -16,8 +16,7 @@ class FastixRu(MultiHoster):
("interval", "int", "Reload interval in hours (0 to disable)", 24)]
__description__ = """Fastix.ru hook plugin"""
- __author_name__ = "Massimo Rosamilia"
- __author_mail__ = "max@spiritix.eu"
+ __authors__ = [("Massimo Rosamilia", "max@spiritix.eu")]
def getHoster(self):
diff --git a/pyload/plugins/hook/FreeWayMe.py b/pyload/plugins/hook/FreeWayMe.py
index 635bc3415..2db2a1a4d 100644
--- a/pyload/plugins/hook/FreeWayMe.py
+++ b/pyload/plugins/hook/FreeWayMe.py
@@ -16,8 +16,7 @@ class FreeWayMe(MultiHoster):
("interval", "int", "Reload interval in hours (0 to disable)", 24)]
__description__ = """FreeWay.me hook plugin"""
- __author_name__ = "Nicolas Giese"
- __author_mail__ = "james@free-way.me"
+ __authors__ = [("Nicolas Giese", "james@free-way.me")]
def getHoster(self):
diff --git a/pyload/plugins/hook/ImageTyperz.py b/pyload/plugins/hook/ImageTyperz.py
index 7317f234d..b26eaceea 100644
--- a/pyload/plugins/hook/ImageTyperz.py
+++ b/pyload/plugins/hook/ImageTyperz.py
@@ -38,8 +38,9 @@ class ImageTyperz(Hook):
("force", "bool", "Force IT even if client is connected", False)]
__description__ = """Send captchas to ImageTyperz.com"""
- __author_name__ = ("RaNaN", "zoidberg")
- __author_mail__ = ("RaNaN@pyload.org", "zoidberg@mujmail.cz")
+ __authors__ = [("RaNaN", "RaNaN@pyload.org"),
+ ("zoidberg", "zoidberg@mujmail.cz")]
+
SUBMIT_URL = "http://captchatypers.com/Forms/UploadFileAndGetTextNEW.ashx"
RESPOND_URL = "http://captchatypers.com/Forms/SetBadImage.ashx"
diff --git a/pyload/plugins/hook/LinkdecrypterCom.py b/pyload/plugins/hook/LinkdecrypterCom.py
index 418ec4ac4..ea1e54b30 100644
--- a/pyload/plugins/hook/LinkdecrypterCom.py
+++ b/pyload/plugins/hook/LinkdecrypterCom.py
@@ -15,8 +15,7 @@ class LinkdecrypterCom(Hook):
__config__ = [("activated", "bool", "Activated", False)]
__description__ = """Linkdecrypter.com hook plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
def coreReady(self):
diff --git a/pyload/plugins/hook/LinksnappyCom.py b/pyload/plugins/hook/LinksnappyCom.py
index 9086e3c2a..0cf913f60 100644
--- a/pyload/plugins/hook/LinksnappyCom.py
+++ b/pyload/plugins/hook/LinksnappyCom.py
@@ -17,8 +17,7 @@ class LinksnappyCom(MultiHoster):
("interval", "int", "Reload interval in hours (0 to disable)", 24)]
__description__ = """Linksnappy.com hook plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
def getHoster(self):
diff --git a/pyload/plugins/hook/MegaDebridEu.py b/pyload/plugins/hook/MegaDebridEu.py
index 0345e47fa..bf6997117 100644
--- a/pyload/plugins/hook/MegaDebridEu.py
+++ b/pyload/plugins/hook/MegaDebridEu.py
@@ -14,8 +14,7 @@ class MegaDebridEu(MultiHoster):
("unloadFailing", "bool", "Revert to standard download if download fails", False)]
__description__ = """mega-debrid.eu hook plugin"""
- __author_name__ = "D.Ducatel"
- __author_mail__ = "dducatel@je-geek.fr"
+ __authors__ = [("D.Ducatel", "dducatel@je-geek.fr")]
def getHoster(self):
diff --git a/pyload/plugins/hook/MultishareCz.py b/pyload/plugins/hook/MultishareCz.py
index 9e1bd50a4..d8396b44f 100644
--- a/pyload/plugins/hook/MultishareCz.py
+++ b/pyload/plugins/hook/MultishareCz.py
@@ -16,8 +16,8 @@ class MultishareCz(MultiHoster):
("hosterList", "str", "Hoster list (comma separated)", "uloz.to")]
__description__ = """MultiShare.cz hook plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
HOSTER_PATTERN = r'<img class="logo-shareserveru"[^>]*?alt="([^"]+)"></td>\s*<td class="stav">[^>]*?alt="OK"'
diff --git a/pyload/plugins/hook/MyfastfileCom.py b/pyload/plugins/hook/MyfastfileCom.py
index 216dcaf5d..e476c10b5 100644
--- a/pyload/plugins/hook/MyfastfileCom.py
+++ b/pyload/plugins/hook/MyfastfileCom.py
@@ -17,8 +17,8 @@ class MyfastfileCom(MultiHoster):
("interval", "int", "Reload interval in hours (0 to disable)", 24)]
__description__ = """Myfastfile.com hook plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
+
def getHoster(self):
diff --git a/pyload/plugins/hook/OverLoadMe.py b/pyload/plugins/hook/OverLoadMe.py
index fae4209f8..347509a8b 100644
--- a/pyload/plugins/hook/OverLoadMe.py
+++ b/pyload/plugins/hook/OverLoadMe.py
@@ -17,8 +17,7 @@ class OverLoadMe(MultiHoster):
("interval", "int", "Reload interval in hours (0 to disable)", 12)]
__description__ = """Over-Load.me hook plugin"""
- __author_name__ = "marley"
- __author_mail__ = "marley@over-load.me"
+ __authors__ = [("marley", "marley@over-load.me")]
def getHoster(self):
diff --git a/pyload/plugins/hook/PremiumTo.py b/pyload/plugins/hook/PremiumTo.py
index b95b15b53..eb5f16a83 100644
--- a/pyload/plugins/hook/PremiumTo.py
+++ b/pyload/plugins/hook/PremiumTo.py
@@ -14,8 +14,10 @@ class PremiumTo(MultiHoster):
("hosterList", "str", "Hoster list (comma separated)", "")]
__description__ = """Premium.to hook plugin"""
- __author_name__ = ("RaNaN", "zoidberg", "stickell")
- __author_mail__ = ("RaNaN@pyload.org", "zoidberg@mujmail.cz", "l.stickell@yahoo.it")
+ __authors__ = [("RaNaN", "RaNaN@pyload.org"),
+ ("zoidberg", "zoidberg@mujmail.cz"),
+ ("stickell", "l.stickell@yahoo.it")]
+
def getHoster(self):
diff --git a/pyload/plugins/hook/PremiumizeMe.py b/pyload/plugins/hook/PremiumizeMe.py
index b6d89adb6..9d18f45fc 100644
--- a/pyload/plugins/hook/PremiumizeMe.py
+++ b/pyload/plugins/hook/PremiumizeMe.py
@@ -17,8 +17,7 @@ class PremiumizeMe(MultiHoster):
("interval", "int", "Reload interval in hours (0 to disable)", 24)]
__description__ = """Premiumize.me hook plugin"""
- __author_name__ = "Florian Franzen"
- __author_mail__ = "FlorianFranzen@gmail.com"
+ __authors__ = [("Florian Franzen", "FlorianFranzen@gmail.com")]
def getHoster(self):
diff --git a/pyload/plugins/hook/RPNetBiz.py b/pyload/plugins/hook/RPNetBiz.py
index b46e326e6..9e04f1dfd 100644
--- a/pyload/plugins/hook/RPNetBiz.py
+++ b/pyload/plugins/hook/RPNetBiz.py
@@ -17,8 +17,7 @@ class RPNetBiz(MultiHoster):
("interval", "int", "Reload interval in hours (0 to disable)", 24)]
__description__ = """RPNet.biz hook plugin"""
- __author_name__ = "Dman"
- __author_mail__ = "dmanugm@gmail.com"
+ __authors__ = [("Dman", "dmanugm@gmail.com")]
def getHoster(self):
diff --git a/pyload/plugins/hook/RealdebridCom.py b/pyload/plugins/hook/RealdebridCom.py
index c1c519ace..8329da7e7 100644
--- a/pyload/plugins/hook/RealdebridCom.py
+++ b/pyload/plugins/hook/RealdebridCom.py
@@ -17,8 +17,7 @@ class RealdebridCom(MultiHoster):
("interval", "int", "Reload interval in hours (0 to disable)", 24)]
__description__ = """Real-Debrid.com hook plugin"""
- __author_name__ = "Devirex Hazzard"
- __author_mail__ = "naibaf_11@yahoo.de"
+ __authors__ = [("Devirex Hazzard", "naibaf_11@yahoo.de")]
def getHoster(self):
diff --git a/pyload/plugins/hook/RehostTo.py b/pyload/plugins/hook/RehostTo.py
index 059f36284..f38074a7b 100644
--- a/pyload/plugins/hook/RehostTo.py
+++ b/pyload/plugins/hook/RehostTo.py
@@ -16,8 +16,7 @@ class RehostTo(MultiHoster):
("interval", "int", "Reload interval in hours (0 to disable)", 24)]
__description__ = """Rehost.to hook plugin"""
- __author_name__ = "RaNaN"
- __author_mail__ = "RaNaN@pyload.org"
+ __authors__ = [("RaNaN", "RaNaN@pyload.org")]
def getHoster(self):
diff --git a/pyload/plugins/hook/SimplyPremiumCom.py b/pyload/plugins/hook/SimplyPremiumCom.py
index f0df36b22..62f5ba778 100644
--- a/pyload/plugins/hook/SimplyPremiumCom.py
+++ b/pyload/plugins/hook/SimplyPremiumCom.py
@@ -17,8 +17,7 @@ class SimplyPremiumCom(MultiHoster):
("interval", "int", "Reload interval in hours (0 to disable)", "24")]
__description__ = """Simply-Premium.com hook plugin"""
- __author_name__ = "EvolutionClip"
- __author_mail__ = "evolutionclip@live.de"
+ __authors__ = [("EvolutionClip", "evolutionclip@live.de")]
def getHoster(self):
diff --git a/pyload/plugins/hook/SimplydebridCom.py b/pyload/plugins/hook/SimplydebridCom.py
index f7c899a48..25373449b 100644
--- a/pyload/plugins/hook/SimplydebridCom.py
+++ b/pyload/plugins/hook/SimplydebridCom.py
@@ -14,8 +14,7 @@ class SimplydebridCom(MultiHoster):
("hosterList", "str", "Hoster list (comma separated)", "")]
__description__ = """Simply-Debrid.com hook plugin"""
- __author_name__ = "Kagenoshin"
- __author_mail__ = "kagenoshin@gmx.ch"
+ __authors__ = [("Kagenoshin", "kagenoshin@gmx.ch")]
def getHoster(self):
diff --git a/pyload/plugins/hook/UnrestrictLi.py b/pyload/plugins/hook/UnrestrictLi.py
index 2ca5ad907..4caedf550 100644
--- a/pyload/plugins/hook/UnrestrictLi.py
+++ b/pyload/plugins/hook/UnrestrictLi.py
@@ -18,8 +18,7 @@ class UnrestrictLi(MultiHoster):
("history", "bool", "Delete History", False)]
__description__ = """Unrestrict.li hook plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
def getHoster(self):
diff --git a/pyload/plugins/hook/XFileSharingPro.py b/pyload/plugins/hook/XFileSharingPro.py
index e926d6655..d9ccda796 100644
--- a/pyload/plugins/hook/XFileSharingPro.py
+++ b/pyload/plugins/hook/XFileSharingPro.py
@@ -11,13 +11,12 @@ class XFileSharingPro(Hook):
__version__ = "0.12"
__config__ = [("activated", "bool", "Activated", True),
- ("loadDefault", "bool", "Include default (built-in) hoster list", True),
- ("includeList", "str", "Include hosters (comma separated)", ""),
- ("excludeList", "str", "Exclude hosters (comma separated)", "")]
+ ("load_default", "bool", "Include default (built-in) hoster list", True),
+ ("include_hosters", "str", "Include hosters (comma separated)", ""),
+ ("exclude_hosters", "str", "Exclude hosters (comma separated)", "")]
__description__ = """XFileSharingPro hook plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
def coreReady(self):
@@ -25,11 +24,11 @@ class XFileSharingPro(Hook):
def loadPattern(self):
- hosterList = self.getConfigSet('includeList')
- excludeList = self.getConfigSet('excludeList')
+ hoster_list = self.getConfigSet('include_hosters')
+ exclude_list = self.getConfigSet('exclude_hosters')
- if self.getConfig('loadDefault'):
- hosterList |= set((
+ if self.getConfig('load_default'):
+ hoster_list |= set((
#WORKING HOSTERS:
"aieshare.com", "asixfiles.com", "banashare.com", "cyberlocker.ch", "eyesfile.co", "eyesfile.com",
"fileband.com", "filedwon.com", "filedownloads.org", "hipfile.com", "kingsupload.com", "mlfat4arab.com",
@@ -54,19 +53,19 @@ class XFileSharingPro(Hook):
"ddlanime.com", "fileforth.com", "loombo.com", "goldfile.eu", "putshare.com"
))
- hosterList -= (excludeList)
- hosterList -= set(('', u''))
+ hoster_list -= (exclude_list)
+ hoster_list -= set(('', u''))
- if not hosterList:
+ if not hoster_list:
self.unload()
return
- regexp = r"http://(?:[^/]*\.)?(%s)/(?:embed-)?\w{12}" % ("|".join(sorted(hosterList)).replace('.', '\.'))
+ regexp = r"http://(?:[^/]*\.)?(%s)/(?:embed-)?\w{12}" % ("|".join(sorted(hoster_list)).replace('.', '\.'))
dict = self.core.pluginManager.hosterPlugins['XFileSharingPro']
dict['pattern'] = regexp
dict['re'] = re.compile(regexp)
- self.logDebug("Pattern loaded - handling %d hosters" % len(hosterList))
+ self.logDebug("Pattern loaded - handling %d hosters" % len(hoster_list))
def getConfigSet(self, option):
diff --git a/pyload/plugins/hook/ZeveraCom.py b/pyload/plugins/hook/ZeveraCom.py
index 155143f64..2a6168008 100644
--- a/pyload/plugins/hook/ZeveraCom.py
+++ b/pyload/plugins/hook/ZeveraCom.py
@@ -14,8 +14,7 @@ class ZeveraCom(MultiHoster):
("hosterList", "str", "Hoster list (comma separated)", "")]
__description__ = """Real-Debrid.com hook plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
def getHoster(self):
diff --git a/pyload/plugins/hoster/AlldebridCom.py b/pyload/plugins/hoster/AlldebridCom.py
index 75257f401..331f5c2bb 100644
--- a/pyload/plugins/hoster/AlldebridCom.py
+++ b/pyload/plugins/hoster/AlldebridCom.py
@@ -18,8 +18,7 @@ class AlldebridCom(Hoster):
__pattern__ = r'https?://(?:[^/]*\.)?alldebrid\..*'
__description__ = """Alldebrid.com hoster plugin"""
- __author_name__ = "Andy Voigt"
- __author_mail__ = "spamsales@online.de"
+ __authors__ = [("Andy Voigt", "spamsales@online.de")]
def getFilename(self, url):
@@ -78,8 +77,8 @@ class AlldebridCom(Hoster):
self.download(new_url, disposition=True)
- check = self.checkDownload({"error": "<title>An error occured while processing your request</title>",
- "empty": re.compile(r"^$")})
+ check = self.checkDownload({'error': "<title>An error occured while processing your request</title>",
+ 'empty': re.compile(r"^$")})
if check == "error":
self.retry(wait_time=60, reason="An error occured while generating link.")
diff --git a/pyload/plugins/hoster/BasePlugin.py b/pyload/plugins/hoster/BasePlugin.py
index 75780b864..1973c45be 100644
--- a/pyload/plugins/hoster/BasePlugin.py
+++ b/pyload/plugins/hoster/BasePlugin.py
@@ -18,8 +18,7 @@ class BasePlugin(Hoster):
__pattern__ = r'^unmatchable$'
__description__ = """Base Plugin when any other didnt fit"""
- __author_name__ = "RaNaN"
- __author_mail__ = "RaNaN@pyload.org"
+ __authors__ = [("RaNaN", "RaNaN@pyload.org")]
def setup(self):
diff --git a/pyload/plugins/hoster/BayfilesCom.py b/pyload/plugins/hoster/BayfilesCom.py
index 5906ade75..d5d001730 100644
--- a/pyload/plugins/hoster/BayfilesCom.py
+++ b/pyload/plugins/hoster/BayfilesCom.py
@@ -16,8 +16,9 @@ class BayfilesCom(SimpleHoster):
__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")
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("Walter Purcaro", "vuolter@gmail.com")]
+
FILE_INFO_PATTERN = r'<p title="(?P<N>[^"]+)">[^<]*<strong>(?P<S>[0-9., ]+)(?P<U>[kKMG])i?B</strong></p>'
OFFLINE_PATTERN = r'(<p>The requested file could not be found.</p>|<title>404 Not Found</title>)'
diff --git a/pyload/plugins/hoster/BezvadataCz.py b/pyload/plugins/hoster/BezvadataCz.py
index 8b989da67..b0a6d6af6 100644
--- a/pyload/plugins/hoster/BezvadataCz.py
+++ b/pyload/plugins/hoster/BezvadataCz.py
@@ -13,8 +13,8 @@ class BezvadataCz(SimpleHoster):
__pattern__ = r'http://(?:www\.)?bezvadata.cz/stahnout/.*'
__description__ = """BezvaData.cz hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_NAME_PATTERN = r'<p><b>Soubor: (?P<N>[^<]+)</b></p>'
FILE_SIZE_PATTERN = r'<li><strong>Velikost:</strong> (?P<S>[^<]+)</li>'
diff --git a/pyload/plugins/hoster/BillionuploadsCom.py b/pyload/plugins/hoster/BillionuploadsCom.py
index e774cbd83..305d840dc 100644
--- a/pyload/plugins/hoster/BillionuploadsCom.py
+++ b/pyload/plugins/hoster/BillionuploadsCom.py
@@ -11,8 +11,7 @@ class BillionuploadsCom(XFSPHoster):
__pattern__ = r'http://(?:www\.)?billionuploads\.com/\w{12}'
__description__ = """Billionuploads.com hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
HOSTER_NAME = "billionuploads.com"
diff --git a/pyload/plugins/hoster/BitshareCom.py b/pyload/plugins/hoster/BitshareCom.py
index 8896e6833..552601d21 100644
--- a/pyload/plugins/hoster/BitshareCom.py
+++ b/pyload/plugins/hoster/BitshareCom.py
@@ -16,8 +16,9 @@ class BitshareCom(SimpleHoster):
__pattern__ = r'http://(?:www\.)?bitshare\.com/(files/(?P<id1>[a-zA-Z0-9]+)(/(?P<name>.*?)\.html)?|\?f=(?P<id2>[a-zA-Z0-9]+))'
__description__ = """Bitshare.com hoster plugin"""
- __author_name__ = ("Paul King", "fragonib")
- __author_mail__ = ("", "fragonib[AT]yahoo[DOT]es")
+ __authors__ = [("Paul King", None),
+ ("fragonib", "fragonib[AT]yahoo[DOT]es")]
+
FILE_INFO_PATTERN = r'Downloading (?P<N>.+) - (?P<S>[\d.]+) (?P<U>\w+)</h1>'
OFFLINE_PATTERN = r'(>We are sorry, but the requested file was not found in our database|>Error - File not available<|The file was deleted either by the uploader, inactivity or due to copyright claim)'
diff --git a/pyload/plugins/hoster/BoltsharingCom.py b/pyload/plugins/hoster/BoltsharingCom.py
index 196e801e4..daebe6a3d 100644
--- a/pyload/plugins/hoster/BoltsharingCom.py
+++ b/pyload/plugins/hoster/BoltsharingCom.py
@@ -11,8 +11,7 @@ class BoltsharingCom(DeadHoster):
__pattern__ = r'http://(?:www\.)?boltsharing.com/\w{12}'
__description__ = """Boltsharing.com hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
getInfo = create_getInfo(BoltsharingCom)
diff --git a/pyload/plugins/hoster/CatShareNet.py b/pyload/plugins/hoster/CatShareNet.py
index 051ce2e99..39f25113a 100644
--- a/pyload/plugins/hoster/CatShareNet.py
+++ b/pyload/plugins/hoster/CatShareNet.py
@@ -14,8 +14,9 @@ class CatShareNet(SimpleHoster):
__pattern__ = r'http://(?:www\.)?catshare\.net/\w{16}'
__description__ = """CatShare.net hoster plugin"""
- __author_name__ = ("z00nx", "prOq", "Walter Purcaro")
- __author_mail__ = ("z00nx0@gmail.com", None, "vuolter@gmail.com")
+ __authors__ = [("z00nx", "z00nx0@gmail.com"),
+ ("prOq", None),
+ ("Walter Purcaro", "vuolter@gmail.com")]
TEXT_ENCODING = True
diff --git a/pyload/plugins/hoster/CloudzerNet.py b/pyload/plugins/hoster/CloudzerNet.py
index 88313acee..719b8fa50 100644
--- a/pyload/plugins/hoster/CloudzerNet.py
+++ b/pyload/plugins/hoster/CloudzerNet.py
@@ -11,8 +11,9 @@ class CloudzerNet(DeadHoster):
__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")
+ __authors__ = [("gs", "I-_-I-_-I@web.de"),
+ ("z00nx", "z00nx0@gmail.com"),
+ ("stickell", "l.stickell@yahoo.it")]
getInfo = create_getInfo(CloudzerNet)
diff --git a/pyload/plugins/hoster/CramitIn.py b/pyload/plugins/hoster/CramitIn.py
index 6ca310527..e0a42611f 100644
--- a/pyload/plugins/hoster/CramitIn.py
+++ b/pyload/plugins/hoster/CramitIn.py
@@ -11,8 +11,7 @@ class CramitIn(XFSPHoster):
__pattern__ = r'http://(?:www\.)?cramit\.in/\w{12}'
__description__ = """Cramit.in hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
HOSTER_NAME = "cramit.in"
diff --git a/pyload/plugins/hoster/CrockoCom.py b/pyload/plugins/hoster/CrockoCom.py
index 05f460716..81566e10c 100644
--- a/pyload/plugins/hoster/CrockoCom.py
+++ b/pyload/plugins/hoster/CrockoCom.py
@@ -14,8 +14,8 @@ class CrockoCom(SimpleHoster):
__pattern__ = r'http://(?:www\.)?(crocko|easy-share).com/\w+'
__description__ = """Crocko hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_NAME_PATTERN = r'<span class="fz24">Download:\s*<strong>(?P<N>.*)'
FILE_SIZE_PATTERN = r'<span class="tip1"><span class="inner">(?P<S>[^<]+)</span></span>'
diff --git a/pyload/plugins/hoster/CyberlockerCh.py b/pyload/plugins/hoster/CyberlockerCh.py
index 7c97deedb..a03cc72b0 100644
--- a/pyload/plugins/hoster/CyberlockerCh.py
+++ b/pyload/plugins/hoster/CyberlockerCh.py
@@ -11,8 +11,7 @@ class CyberlockerCh(DeadHoster):
__pattern__ = r'http://(?:www\.)?cyberlocker\.ch/\w+'
__description__ = """Cyberlocker.ch hoster plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
getInfo = create_getInfo(CyberlockerCh)
diff --git a/pyload/plugins/hoster/CzshareCom.py b/pyload/plugins/hoster/CzshareCom.py
index f5df313f7..b39cefd70 100644
--- a/pyload/plugins/hoster/CzshareCom.py
+++ b/pyload/plugins/hoster/CzshareCom.py
@@ -17,8 +17,8 @@ class CzshareCom(SimpleHoster):
__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"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_NAME_PATTERN = r'<div class="tab" id="parameters">\s*<p>\s*Cel. n.zev: <a href=[^>]*>(?P<N>[^<]+)</a>'
FILE_SIZE_PATTERN = r'<div class="tab" id="category">(?:\s*<p>[^\n]*</p>)*\s*Velikost:\s*(?P<S>[0-9., ]+)(?P<U>[kKMG])i?B\s*</div>'
@@ -128,13 +128,13 @@ class CzshareCom(SimpleHoster):
def checkDownloadedFile(self):
# check download
check = self.checkDownload({
- "tempoffline": re.compile(r"^Soubor je do.*asn.* nedostupn.*$"),
+ "temp_offline": re.compile(r"^Soubor je do.*asn.* nedostupn.*$"),
"credit": re.compile(r"^Nem.*te dostate.*n.* kredit.$"),
"multi_dl": re.compile(self.MULTIDL_PATTERN),
"captcha_err": "<li>ZadanÃœ ověřovací kód nesouhlasí!</li>"
})
- if check == "tempoffline":
+ if check == "temp_offline":
self.fail("File not available - try later")
if check == "credit":
self.resetAccount()
diff --git a/pyload/plugins/hoster/DailymotionCom.py b/pyload/plugins/hoster/DailymotionCom.py
index 450b0e4c3..11b0ac583 100644
--- a/pyload/plugins/hoster/DailymotionCom.py
+++ b/pyload/plugins/hoster/DailymotionCom.py
@@ -47,8 +47,7 @@ class DailymotionCom(Hoster):
__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"
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com")]
def setup(self):
diff --git a/pyload/plugins/hoster/DataHu.py b/pyload/plugins/hoster/DataHu.py
index 222278b49..cacc1cae8 100644
--- a/pyload/plugins/hoster/DataHu.py
+++ b/pyload/plugins/hoster/DataHu.py
@@ -16,8 +16,9 @@ class DataHu(SimpleHoster):
__pattern__ = r'http://(?:www\.)?data.hu/get/\w+'
__description__ = """Data.hu hoster plugin"""
- __author_name__ = ("crash", "stickell")
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("crash", None),
+ ("stickell", "l.stickell@yahoo.it")]
+
FILE_INFO_PATTERN = ur'<title>(?P<N>.*) \((?P<S>[^)]+)\) let\xf6lt\xe9se</title>'
OFFLINE_PATTERN = ur'Az adott f\xe1jl nem l\xe9tezik'
diff --git a/pyload/plugins/hoster/DataportCz.py b/pyload/plugins/hoster/DataportCz.py
index 2d87397df..be3cb1498 100644
--- a/pyload/plugins/hoster/DataportCz.py
+++ b/pyload/plugins/hoster/DataportCz.py
@@ -11,8 +11,8 @@ class DataportCz(SimpleHoster):
__pattern__ = r'http://(?:www\.)?dataport.cz/file/(.*)'
__description__ = """Dataport.cz hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_NAME_PATTERN = r'<span itemprop="name">(?P<N>[^<]+)</span>'
FILE_SIZE_PATTERN = r'<td class="fil">Velikost</td>\s*<td>(?P<S>[^<]+)</td>'
diff --git a/pyload/plugins/hoster/DateiTo.py b/pyload/plugins/hoster/DateiTo.py
index d440a7566..4a00f22aa 100644
--- a/pyload/plugins/hoster/DateiTo.py
+++ b/pyload/plugins/hoster/DateiTo.py
@@ -14,8 +14,8 @@ class DateiTo(SimpleHoster):
__pattern__ = r'http://(?:www\.)?datei\.to/datei/(?P<ID>\w+)\.html'
__description__ = """Datei.to hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_NAME_PATTERN = r'Dateiname:</td>\s*<td colspan="2"><strong>(?P<N>.*?)</'
FILE_SIZE_PATTERN = r'Dateigr&ouml;&szlig;e:</td>\s*<td colspan="2">(?P<S>.*?)</'
diff --git a/pyload/plugins/hoster/DdlstorageCom.py b/pyload/plugins/hoster/DdlstorageCom.py
index 8b477ade6..2854dac13 100644
--- a/pyload/plugins/hoster/DdlstorageCom.py
+++ b/pyload/plugins/hoster/DdlstorageCom.py
@@ -11,8 +11,8 @@ class DdlstorageCom(DeadHoster):
__pattern__ = r'https?://(?:www\.)?ddlstorage\.com/\w+'
__description__ = """DDLStorage.com hoster plugin"""
- __author_name__ = ("zoidberg", "stickell")
- __author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it")
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("stickell", "l.stickell@yahoo.it")]
getInfo = create_getInfo(DdlstorageCom)
diff --git a/pyload/plugins/hoster/DebridItaliaCom.py b/pyload/plugins/hoster/DebridItaliaCom.py
index c9332e6bb..439467cfb 100644
--- a/pyload/plugins/hoster/DebridItaliaCom.py
+++ b/pyload/plugins/hoster/DebridItaliaCom.py
@@ -13,8 +13,7 @@ class DebridItaliaCom(Hoster):
__pattern__ = r'https?://(?:[^/]*\.)?debriditalia\.com'
__description__ = """Debriditalia.com hoster plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
def setup(self):
diff --git a/pyload/plugins/hoster/DepositfilesCom.py b/pyload/plugins/hoster/DepositfilesCom.py
index 55cdc875f..b04aba261 100644
--- a/pyload/plugins/hoster/DepositfilesCom.py
+++ b/pyload/plugins/hoster/DepositfilesCom.py
@@ -16,8 +16,10 @@ class DepositfilesCom(SimpleHoster):
__pattern__ = r'https?://(?:www\.)?(depositfiles\.com|dfiles\.(eu|ru))(/\w{1,3})?/files/(?P<ID>\w+)'
__description__ = """Depositfiles.com hoster plugin"""
- __author_name__ = ("spoob", "zoidberg", "Walter Purcaro")
- __author_mail__ = ("spoob@pyload.org", "zoidberg@mujmail.cz", "vuolter@gmail.com")
+ __authors__ = [("spoob", "spoob@pyload.org"),
+ ("zoidberg", "zoidberg@mujmail.cz"),
+ ("Walter Purcaro", "vuolter@gmail.com")]
+
FILE_NAME_PATTERN = r'<script type="text/javascript">eval\( unescape\(\'(?P<N>.*?)\''
FILE_SIZE_PATTERN = r': <b>(?P<S>[0-9.]+)&nbsp;(?P<U>[kKMG])i?B</b>'
diff --git a/pyload/plugins/hoster/DlFreeFr.py b/pyload/plugins/hoster/DlFreeFr.py
index 1e256368c..4440c5370 100644
--- a/pyload/plugins/hoster/DlFreeFr.py
+++ b/pyload/plugins/hoster/DlFreeFr.py
@@ -117,8 +117,9 @@ class DlFreeFr(SimpleHoster):
__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")
+ __authors__ = [("the-razer", "daniel_ AT gmx DOT net"),
+ ("zoidberg", "zoidberg@mujmail.cz"),
+ ("Toilal", "toilal.dev@gmail.com")]
FILE_NAME_PATTERN = r'Fichier:</td>\s*<td[^>]*>(?P<N>[^>]*)</td>'
diff --git a/pyload/plugins/hoster/DuploadOrg.py b/pyload/plugins/hoster/DuploadOrg.py
index 73cd9fd42..02df654c2 100644
--- a/pyload/plugins/hoster/DuploadOrg.py
+++ b/pyload/plugins/hoster/DuploadOrg.py
@@ -1,22 +1,17 @@
# -*- coding: utf-8 -*-
-from pyload.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo
+from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
-class DuploadOrg(XFSPHoster):
+class DuploadOrg(DeadHoster):
__name__ = "DuploadOrg"
__type__ = "hoster"
- __version__ = "0.01"
+ __version__ = "0.02"
__pattern__ = r'http://(?:www\.)?dupload\.org/\w{12}'
__description__ = """Dupload.grg hoster plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
-
- HOSTER_NAME = "dupload.org"
-
- FILE_INFO_PATTERN = r'<h3[^>]*>(?P<N>.+) \((?P<S>[\d.]+) (?P<U>\w+)\)</h3>'
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
getInfo = create_getInfo(DuploadOrg)
diff --git a/pyload/plugins/hoster/EasybytezCom.py b/pyload/plugins/hoster/EasybytezCom.py
index d471bc80d..3385d13ad 100644
--- a/pyload/plugins/hoster/EasybytezCom.py
+++ b/pyload/plugins/hoster/EasybytezCom.py
@@ -11,8 +11,8 @@ class EasybytezCom(XFSPHoster):
__pattern__ = r'http://(?:www\.)?easybytez\.com/\w{12}'
__description__ = """Easybytez.com hoster plugin"""
- __author_name__ = ("zoidberg", "stickell")
- __author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it")
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("stickell", "l.stickell@yahoo.it")]
HOSTER_NAME = "easybytez.com"
diff --git a/pyload/plugins/hoster/EdiskCz.py b/pyload/plugins/hoster/EdiskCz.py
index fcb42020d..132396c8c 100644
--- a/pyload/plugins/hoster/EdiskCz.py
+++ b/pyload/plugins/hoster/EdiskCz.py
@@ -13,8 +13,8 @@ class EdiskCz(SimpleHoster):
__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"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_INFO_PATTERN = r'<span class="fl" title="(?P<N>[^"]+)">\s*.*?\((?P<S>[0-9.]*) (?P<U>[kKMG])i?B\)</h1></span>'
OFFLINE_PATTERN = r'<h3>This file does not exist due to one of the following:</h3><ul><li>'
diff --git a/pyload/plugins/hoster/EgoFilesCom.py b/pyload/plugins/hoster/EgoFilesCom.py
index e5888c4f1..8ba7a8356 100644
--- a/pyload/plugins/hoster/EgoFilesCom.py
+++ b/pyload/plugins/hoster/EgoFilesCom.py
@@ -11,8 +11,7 @@ class EgoFilesCom(DeadHoster):
__pattern__ = r'https?://(?:www\.)?egofiles\.com/\w+'
__description__ = """Egofiles.com hoster plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
getInfo = create_getInfo(EgoFilesCom)
diff --git a/pyload/plugins/hoster/EpicShareNet.py b/pyload/plugins/hoster/EpicShareNet.py
index ee315a26c..f0fe766f5 100644
--- a/pyload/plugins/hoster/EpicShareNet.py
+++ b/pyload/plugins/hoster/EpicShareNet.py
@@ -1,25 +1,17 @@
# -*- coding: utf-8 -*-
-#
-# Test links:
-# BigBuckBunny_320x180.mp4 - 61.7 Mb - http://epicshare.net/fch3m2bk6ihp/BigBuckBunny_320x180.mp4.html
-from pyload.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo
+from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
-class EpicShareNet(XFSPHoster):
+class EpicShareNet(DeadHoster):
__name__ = "EpicShareNet"
__type__ = "hoster"
- __version__ = "0.01"
+ __version__ = "0.02"
__pattern__ = r'https?://(?:www\.)?epicshare\.net/\w{12}'
__description__ = """EpicShare.net hoster plugin"""
- __author_name__ = "t4skforce"
- __author_mail__ = "t4skforce1337[AT]gmail[DOT]com"
-
- HOSTER_NAME = "epicshare.net"
-
- FILE_NAME_PATTERN = r'<b>Password:</b></div>\s*<h2>(?P<N>[^<]+)</h2>'
+ __authors__ = [("t4skforce", "t4skforce1337[AT]gmail[DOT]com")]
getInfo = create_getInfo(EpicShareNet)
diff --git a/pyload/plugins/hoster/EuroshareEu.py b/pyload/plugins/hoster/EuroshareEu.py
index d7c172594..d7d26240f 100644
--- a/pyload/plugins/hoster/EuroshareEu.py
+++ b/pyload/plugins/hoster/EuroshareEu.py
@@ -13,8 +13,8 @@ class EuroshareEu(SimpleHoster):
__pattern__ = r'http://(?:www\.)?euroshare.(eu|sk|cz|hu|pl)/file/.*'
__description__ = """Euroshare.eu hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_INFO_PATTERN = r'<span style="float: left;"><strong>(?P<N>.+?)</strong> \((?P<S>.+?)\)</span>'
OFFLINE_PATTERN = ur'<h2>S.bor sa nena.iel</h2>|Poşadovaná stránka neexistuje!'
diff --git a/pyload/plugins/hoster/ExtabitCom.py b/pyload/plugins/hoster/ExtabitCom.py
index 78172ef02..ca5d934c1 100644
--- a/pyload/plugins/hoster/ExtabitCom.py
+++ b/pyload/plugins/hoster/ExtabitCom.py
@@ -17,8 +17,8 @@ class ExtabitCom(SimpleHoster):
__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"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_NAME_PATTERN = r'<th>File:</th>\s*<td class="col-fileinfo">\s*<div title="(?P<N>[^"]+)">'
FILE_SIZE_PATTERN = r'<th>Size:</th>\s*<td class="col-fileinfo">(?P<S>[^<]+)</td>'
diff --git a/pyload/plugins/hoster/FastixRu.py b/pyload/plugins/hoster/FastixRu.py
index 7bcbec149..f2ec1a10e 100644
--- a/pyload/plugins/hoster/FastixRu.py
+++ b/pyload/plugins/hoster/FastixRu.py
@@ -17,8 +17,7 @@ class FastixRu(Hoster):
__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"
+ __authors__ = [("Massimo Rosamilia", "max@spiritix.eu")]
def getFilename(self, url):
diff --git a/pyload/plugins/hoster/FastshareCz.py b/pyload/plugins/hoster/FastshareCz.py
index a5a3dece1..666efffe3 100644
--- a/pyload/plugins/hoster/FastshareCz.py
+++ b/pyload/plugins/hoster/FastshareCz.py
@@ -18,8 +18,10 @@ class FastshareCz(SimpleHoster):
__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")
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("stickell", "l.stickell@yahoo.it"),
+ ("Walter Purcaro", "vuolter@gmail.com")]
+
FILE_INFO_PATTERN = r'<h1 class="dwp">(?P<N>[^<]+)</h1>\s*<div class="fileinfo">\s*Size\s*: (?P<S>\d+) (?P<U>\w+),'
OFFLINE_PATTERN = r'>(The file has been deleted|Requested page not found)'
@@ -48,9 +50,8 @@ class FastshareCz(SimpleHoster):
self.download(urljoin(baseurl, action), post={"code": captcha, "btn.x": 77, "btn.y": 18})
check = self.checkDownload({
- "paralell_dl":
- "<title>FastShare.cz</title>|<script>alert\('Pres FREE muzete stahovat jen jeden soubor najednou.'\)",
- "wrong_captcha": "Download for FREE"
+ 'paralell_dl': "<title>FastShare.cz</title>|<script>alert\('Pres FREE muzete stahovat jen jeden soubor najednou.'\)",
+ 'wrong_captcha': "Download for FREE"
})
if check == "paralell_dl":
diff --git a/pyload/plugins/hoster/File4safeCom.py b/pyload/plugins/hoster/File4safeCom.py
index eb002679e..319d2b9af 100644
--- a/pyload/plugins/hoster/File4safeCom.py
+++ b/pyload/plugins/hoster/File4safeCom.py
@@ -15,8 +15,7 @@ class File4safeCom(XFSPHoster):
__pattern__ = r'https?://(?:www\.)?file4safe\.com/\w{12}'
__description__ = """File4safe.com hoster plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
HOSTER_NAME = "file4safe.com"
diff --git a/pyload/plugins/hoster/FileApeCom.py b/pyload/plugins/hoster/FileApeCom.py
index 8c6305631..92c11e8cf 100644
--- a/pyload/plugins/hoster/FileApeCom.py
+++ b/pyload/plugins/hoster/FileApeCom.py
@@ -11,8 +11,7 @@ class FileApeCom(DeadHoster):
__pattern__ = r'http://(?:www\.)?fileape\.com/(index\.php\?act=download\&id=|dl/)\w+'
__description__ = """FileApe.com hoster plugin"""
- __author_name__ = "espes"
- __author_mail__ = None
+ __authors__ = [("espes", None)]
getInfo = create_getInfo(FileApeCom)
diff --git a/pyload/plugins/hoster/FileParadoxIn.py b/pyload/plugins/hoster/FileParadoxIn.py
index 6aa724e79..e5830602a 100644
--- a/pyload/plugins/hoster/FileParadoxIn.py
+++ b/pyload/plugins/hoster/FileParadoxIn.py
@@ -13,8 +13,7 @@ class FileParadoxIn(XFSPHoster):
__pattern__ = r'https?://(?:www\.)?fileparadox\.in/\w{12}'
__description__ = """FileParadox.in hoster plugin"""
- __author_name__ = "RazorWing"
- __author_mail__ = "muppetuk1@hotmail.com"
+ __authors__ = [("RazorWing", "muppetuk1@hotmail.com")]
HOSTER_NAME = "fileparadox.in"
diff --git a/pyload/plugins/hoster/FileStoreTo.py b/pyload/plugins/hoster/FileStoreTo.py
index 6a2963ec2..68e5ab2f6 100644
--- a/pyload/plugins/hoster/FileStoreTo.py
+++ b/pyload/plugins/hoster/FileStoreTo.py
@@ -13,8 +13,9 @@ class FileStoreTo(SimpleHoster):
__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")
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com"),
+ ("stickell", "l.stickell@yahoo.it")]
+
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<'
diff --git a/pyload/plugins/hoster/FilebeerInfo.py b/pyload/plugins/hoster/FilebeerInfo.py
index 561660148..f272e296d 100644
--- a/pyload/plugins/hoster/FilebeerInfo.py
+++ b/pyload/plugins/hoster/FilebeerInfo.py
@@ -11,8 +11,7 @@ class FilebeerInfo(DeadHoster):
__pattern__ = r'http://(?:www\.)?filebeer\.info/(?!\d*~f)(?P<ID>\w+).*'
__description__ = """Filebeer.info plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
getInfo = create_getInfo(FilebeerInfo)
diff --git a/pyload/plugins/hoster/FilecloudIo.py b/pyload/plugins/hoster/FilecloudIo.py
index 93db875fe..c397a1a1a 100644
--- a/pyload/plugins/hoster/FilecloudIo.py
+++ b/pyload/plugins/hoster/FilecloudIo.py
@@ -15,8 +15,9 @@ class FilecloudIo(SimpleHoster):
__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")
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("stickell", "l.stickell@yahoo.it")]
+
FILE_SIZE_PATTERN = r'{var __ab1 = (?P<S>\d+);}'
FILE_NAME_PATTERN = r'id="aliasSpan">(?P<N>.*?)&nbsp;&nbsp;<'
diff --git a/pyload/plugins/hoster/FilefactoryCom.py b/pyload/plugins/hoster/FilefactoryCom.py
index 03af98843..e5f1c0653 100644
--- a/pyload/plugins/hoster/FilefactoryCom.py
+++ b/pyload/plugins/hoster/FilefactoryCom.py
@@ -25,8 +25,8 @@ class FilefactoryCom(SimpleHoster):
__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"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
+
FILE_INFO_PATTERN = r'<div id="file_name"[^>]*>\s*<h2>(?P<N>[^<]+)</h2>\s*<div id="file_info">\s*(?P<S>[\d.]+) (?P<U>\w+) uploaded'
LINK_PATTERN = r'<a href="(https?://[^"]+)"[^>]*><i[^>]*></i> Download with FileFactory Premium</a>'
diff --git a/pyload/plugins/hoster/FilejungleCom.py b/pyload/plugins/hoster/FilejungleCom.py
index 0bbc7502e..9cfc7b481 100644
--- a/pyload/plugins/hoster/FilejungleCom.py
+++ b/pyload/plugins/hoster/FilejungleCom.py
@@ -12,8 +12,8 @@ class FilejungleCom(FileserveCom):
__pattern__ = r'http://(?:www\.)?filejungle\.com/f/(?P<id>[^/]+).*'
__description__ = """Filejungle.com hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
URLS = ["http://www.filejungle.com/f/", "http://www.filejungle.com/check_links.php",
"http://www.filejungle.com/checkReCaptcha.php"]
diff --git a/pyload/plugins/hoster/FileomCom.py b/pyload/plugins/hoster/FileomCom.py
index cd2f54c35..a5ddb797c 100644
--- a/pyload/plugins/hoster/FileomCom.py
+++ b/pyload/plugins/hoster/FileomCom.py
@@ -14,8 +14,7 @@ class FileomCom(XFSPHoster):
__pattern__ = r'https?://(?:www\.)?fileom\.com/\w{12}'
__description__ = """Fileom.com hoster plugin"""
- __author_name__ = "Walter Purcaro"
- __author_mail__ = "vuolter@gmail.com"
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com")]
HOSTER_NAME = "fileom.com"
diff --git a/pyload/plugins/hoster/FilepostCom.py b/pyload/plugins/hoster/FilepostCom.py
index 133ea72d6..41674ebc8 100644
--- a/pyload/plugins/hoster/FilepostCom.py
+++ b/pyload/plugins/hoster/FilepostCom.py
@@ -17,8 +17,8 @@ class FilepostCom(SimpleHoster):
__pattern__ = r'https?://(?:www\.)?(?:filepost\.com/files|fp.io)/([^/]+).*'
__description__ = """Filepost.com hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_INFO_PATTERN = r'<input type="text" id="url" value=\'<a href[^>]*>(?P<N>[^>]+?) - (?P<S>[0-9\.]+ [kKMG]i?B)</a>\' class="inp_text"/>'
OFFLINE_PATTERN = r'class="error_msg_title"> Invalid or Deleted File. </div>|<div class="file_info file_info_deleted">'
diff --git a/pyload/plugins/hoster/FilerNet.py b/pyload/plugins/hoster/FilerNet.py
index 5b3a07871..71c6b5384 100644
--- a/pyload/plugins/hoster/FilerNet.py
+++ b/pyload/plugins/hoster/FilerNet.py
@@ -21,8 +21,8 @@ class FilerNet(SimpleHoster):
__pattern__ = r'https?://(?:www\.)?filer\.net/get/(\w+)'
__description__ = """Filer.net hoster plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
+
FILE_INFO_PATTERN = r'<h1 class="page-header">Free Download (?P<N>\S+) <small>(?P<S>[\w.]+) (?P<U>\w+)</small></h1>'
OFFLINE_PATTERN = r'Nicht gefunden'
diff --git a/pyload/plugins/hoster/FilerioCom.py b/pyload/plugins/hoster/FilerioCom.py
index 5dd0be9c9..4389a8d1a 100644
--- a/pyload/plugins/hoster/FilerioCom.py
+++ b/pyload/plugins/hoster/FilerioCom.py
@@ -11,8 +11,7 @@ class FilerioCom(XFSPHoster):
__pattern__ = r'http://(?:www\.)?(filerio\.(in|com)|filekeen\.com)/\w{12}'
__description__ = """FileRio.in hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
HOSTER_NAME = "filerio.in"
diff --git a/pyload/plugins/hoster/FilesMailRu.py b/pyload/plugins/hoster/FilesMailRu.py
index a900d58b4..176799c1c 100644
--- a/pyload/plugins/hoster/FilesMailRu.py
+++ b/pyload/plugins/hoster/FilesMailRu.py
@@ -37,8 +37,7 @@ class FilesMailRu(Hoster):
__pattern__ = r'http://(?:www\.)?files\.mail\.ru/.*'
__description__ = """Files.mail.ru hoster plugin"""
- __author_name__ = "oZiRiz"
- __author_mail__ = "ich@oziriz.de"
+ __authors__ = [("oZiRiz", "ich@oziriz.de")]
def setup(self):
diff --git a/pyload/plugins/hoster/FileserveCom.py b/pyload/plugins/hoster/FileserveCom.py
index 77c1b435f..f1969a40e 100644
--- a/pyload/plugins/hoster/FileserveCom.py
+++ b/pyload/plugins/hoster/FileserveCom.py
@@ -38,8 +38,11 @@ class FileserveCom(Hoster):
__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")
+ __authors__ = [("jeix", "jeix@hasnomail.de"),
+ ("mkaay", "mkaay@mkaay.de"),
+ ("Paul King", None),
+ ("zoidberg", "zoidberg@mujmail.cz")]
+
URLS = ["http://www.fileserve.com/file/", "http://www.fileserve.com/link-checker.php",
"http://www.fileserve.com/checkReCaptcha.php"]
diff --git a/pyload/plugins/hoster/FileshareInUa.py b/pyload/plugins/hoster/FileshareInUa.py
index 83cf2dd8b..f2d1ed84b 100644
--- a/pyload/plugins/hoster/FileshareInUa.py
+++ b/pyload/plugins/hoster/FileshareInUa.py
@@ -15,8 +15,8 @@ class FileshareInUa(Hoster):
__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"
+ __authors__ = [("fwannmacher", "felipe@warhammerproject.com")]
+
PATTERN_FILENAME = r'<h3 class="b-filename">(.*?)</h3>'
PATTERN_FILESIZE = r'<b class="b-filesize">(.*?)</b>'
diff --git a/pyload/plugins/hoster/FilezyNet.py b/pyload/plugins/hoster/FilezyNet.py
index 4bd5de495..660e9c5e3 100644
--- a/pyload/plugins/hoster/FilezyNet.py
+++ b/pyload/plugins/hoster/FilezyNet.py
@@ -11,8 +11,7 @@ class FilezyNet(DeadHoster):
__pattern__ = r'http://(?:www\.)?filezy\.net/\w{12}'
__description__ = """Filezy.net hoster plugin"""
- __author_name__ = None
- __author_mail__ = None
+ __authors__ = []
getInfo = create_getInfo(FilezyNet)
diff --git a/pyload/plugins/hoster/FiredriveCom.py b/pyload/plugins/hoster/FiredriveCom.py
index 8bd841c8f..060b34d5d 100644
--- a/pyload/plugins/hoster/FiredriveCom.py
+++ b/pyload/plugins/hoster/FiredriveCom.py
@@ -13,8 +13,8 @@ class FiredriveCom(SimpleHoster):
__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"
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com")]
+
FILE_NAME_PATTERN = r'<b>Name:</b> (?P<N>.+) <br>'
FILE_SIZE_PATTERN = r'<b>Size:</b> (?P<S>[\d.]+) (?P<U>[a-zA-Z]+) <br>'
diff --git a/pyload/plugins/hoster/FlyFilesNet.py b/pyload/plugins/hoster/FlyFilesNet.py
index d8d6efb7e..b8b392e8b 100644
--- a/pyload/plugins/hoster/FlyFilesNet.py
+++ b/pyload/plugins/hoster/FlyFilesNet.py
@@ -16,8 +16,7 @@ class FlyFilesNet(SimpleHoster):
__pattern__ = r'http://(?:www\.)?flyfiles\.net/.*'
__description__ = """FlyFiles.net hoster plugin"""
- __author_name__ = None
- __author_mail__ = None
+ __authors__ = []
SESSION_PATTERN = r'flyfiles\.net/(.*)/.*'
FILE_NAME_PATTERN = r'flyfiles\.net/.*/(.*)'
diff --git a/pyload/plugins/hoster/FourSharedCom.py b/pyload/plugins/hoster/FourSharedCom.py
index e2cb980a4..471ac66a2 100644
--- a/pyload/plugins/hoster/FourSharedCom.py
+++ b/pyload/plugins/hoster/FourSharedCom.py
@@ -13,8 +13,9 @@ class FourSharedCom(SimpleHoster):
__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")
+ __authors__ = [("jeix", "jeix@hasnomail.de"),
+ ("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_NAME_PATTERN = r'<meta name="title" content="(?P<N>.+?)"'
FILE_SIZE_PATTERN = r'<span title="Size: (?P<S>[0-9,.]+) (?P<U>[kKMG])i?B">'
diff --git a/pyload/plugins/hoster/FreakshareCom.py b/pyload/plugins/hoster/FreakshareCom.py
index f58d72980..2405d1f35 100644
--- a/pyload/plugins/hoster/FreakshareCom.py
+++ b/pyload/plugins/hoster/FreakshareCom.py
@@ -15,8 +15,10 @@ class FreakshareCom(Hoster):
__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")
+ __authors__ = [("sitacuisses", "sitacuisses@yahoo.de"),
+ ("spoob", "spoob@pyload.org"),
+ ("mkaay", "mkaay@mkaay.de"),
+ ("Toilal", "toilal.dev@gmail.com")]
def setup(self):
diff --git a/pyload/plugins/hoster/FreeWayMe.py b/pyload/plugins/hoster/FreeWayMe.py
index 2c23ac6de..ec99f850f 100644
--- a/pyload/plugins/hoster/FreeWayMe.py
+++ b/pyload/plugins/hoster/FreeWayMe.py
@@ -11,8 +11,7 @@ class FreeWayMe(Hoster):
__pattern__ = r'https://(?:www\.)?free-way.me/.*'
__description__ = """FreeWayMe hoster plugin"""
- __author_name__ = "Nicolas Giese"
- __author_mail__ = "james@free-way.me"
+ __authors__ = [("Nicolas Giese", "james@free-way.me")]
def setup(self):
diff --git a/pyload/plugins/hoster/FreevideoCz.py b/pyload/plugins/hoster/FreevideoCz.py
index dc7dd04bd..c2e14471d 100644
--- a/pyload/plugins/hoster/FreevideoCz.py
+++ b/pyload/plugins/hoster/FreevideoCz.py
@@ -11,8 +11,7 @@ class FreevideoCz(DeadHoster):
__pattern__ = r'http://(?:www\.)?freevideo\.cz/vase-videa/.+'
__description__ = """Freevideo.cz hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
getInfo = create_getInfo(FreevideoCz) \ No newline at end of file
diff --git a/pyload/plugins/hoster/FshareVn.py b/pyload/plugins/hoster/FshareVn.py
index 3e3632902..3ecae0394 100644
--- a/pyload/plugins/hoster/FshareVn.py
+++ b/pyload/plugins/hoster/FshareVn.py
@@ -32,8 +32,8 @@ class FshareVn(SimpleHoster):
__pattern__ = r'http://(?:www\.)?fshare.vn/file/.*'
__description__ = """FshareVn hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_INFO_PATTERN = r'<p>(?P<N>[^<]+)<\\/p>[\\trn\s]*<p>(?P<S>[0-9,.]+)\s*(?P<U>[kKMG])i?B<\\/p>'
OFFLINE_PATTERN = r'<div class=\\"f_left file_w\\"|<\\/p>\\t\\t\\t\\t\\r\\n\\t\\t<p><\\/p>\\t\\t\\r\\n\\t\\t<p>0 KB<\\/p>'
diff --git a/pyload/plugins/hoster/Ftp.py b/pyload/plugins/hoster/Ftp.py
index d51907a1a..f092bd0a4 100644
--- a/pyload/plugins/hoster/Ftp.py
+++ b/pyload/plugins/hoster/Ftp.py
@@ -17,8 +17,9 @@ class Ftp(Hoster):
__pattern__ = r'(ftps?|sftp)://(.*?:.*?@)?.*?/.*' #: ftp://user:password@ftp.server.org/path/to/file
__description__ = """Download from ftp directory"""
- __author_name__ = ("jeix", "mkaay", "zoidberg")
- __author_mail__ = ("jeix@hasnomail.com", "mkaay@mkaay.de", "zoidberg@mujmail.cz")
+ __authors__ = [("jeix", "jeix@hasnomail.com"),
+ ("mkaay", "mkaay@mkaay.de"),
+ ("zoidberg", "zoidberg@mujmail.cz")]
def setup(self):
diff --git a/pyload/plugins/hoster/GamefrontCom.py b/pyload/plugins/hoster/GamefrontCom.py
index 2a358dff3..b19de0717 100644
--- a/pyload/plugins/hoster/GamefrontCom.py
+++ b/pyload/plugins/hoster/GamefrontCom.py
@@ -15,8 +15,8 @@ class GamefrontCom(Hoster):
__pattern__ = r'http://(?:www\.)?gamefront.com/files/[A-Za-z0-9]+'
__description__ = """Gamefront.com hoster plugin"""
- __author_name__ = "fwannmacher"
- __author_mail__ = "felipe@warhammerproject.com"
+ __authors__ = [("fwannmacher", "felipe@warhammerproject.com")]
+
PATTERN_FILENAME = r'<title>(.*?) | Game Front'
PATTERN_FILESIZE = r'<dt>File Size:</dt>[\n\s]*<dd>(.*?)</dd>'
diff --git a/pyload/plugins/hoster/GigapetaCom.py b/pyload/plugins/hoster/GigapetaCom.py
index dde9cab55..08e889bb9 100644
--- a/pyload/plugins/hoster/GigapetaCom.py
+++ b/pyload/plugins/hoster/GigapetaCom.py
@@ -16,8 +16,8 @@ class GigapetaCom(SimpleHoster):
__pattern__ = r'http://(?:www\.)?gigapeta\.com/dl/\w+'
__description__ = """GigaPeta.com hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_NAME_PATTERN = r'<img src=".*" alt="file" />-->\s*(?P<N>.*?)\s*</td>'
FILE_SIZE_PATTERN = r'<th>\s*Size\s*</th>\s*<td>\s*(?P<S>.*?)\s*</td>'
diff --git a/pyload/plugins/hoster/GooIm.py b/pyload/plugins/hoster/GooIm.py
index 13598a8b6..5b48087f3 100644
--- a/pyload/plugins/hoster/GooIm.py
+++ b/pyload/plugins/hoster/GooIm.py
@@ -16,8 +16,8 @@ class GooIm(SimpleHoster):
__pattern__ = r'https?://(?:www\.)?goo\.im/.+'
__description__ = """Goo.im hoster plugin"""
- __author_name__ = "zapp-brannigan"
- __author_mail__ = "fuerst.reinje@web.de"
+ __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de")]
+
FILE_NAME_PATTERN = r'You will be redirected to .*(?P<N>[^/ ]+) in'
OFFLINE_PATTERN = r'The file you requested was not found'
diff --git a/pyload/plugins/hoster/HellshareCz.py b/pyload/plugins/hoster/HellshareCz.py
index 5f3236876..7edba3a7d 100644
--- a/pyload/plugins/hoster/HellshareCz.py
+++ b/pyload/plugins/hoster/HellshareCz.py
@@ -13,8 +13,8 @@ class HellshareCz(SimpleHoster):
__pattern__ = r'(http://(?:www\.)?hellshare\.(?:cz|com|sk|hu|pl)/[^?]*/\d+).*'
__description__ = """Hellshare.cz hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_NAME_PATTERN = r'<h1 id="filename"[^>]*>(?P<N>[^<]+)</h1>'
FILE_SIZE_PATTERN = r'<strong id="FileSize_master">(?P<S>[0-9.]*)&nbsp;(?P<U>[kKMG])i?B</strong>'
diff --git a/pyload/plugins/hoster/HellspyCz.py b/pyload/plugins/hoster/HellspyCz.py
index 68b61caf0..fabd3de35 100644
--- a/pyload/plugins/hoster/HellspyCz.py
+++ b/pyload/plugins/hoster/HellspyCz.py
@@ -11,8 +11,7 @@ class HellspyCz(DeadHoster):
__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"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
getInfo = create_getInfo(HellspyCz)
diff --git a/pyload/plugins/hoster/HotfileCom.py b/pyload/plugins/hoster/HotfileCom.py
index 41831342f..313547275 100644
--- a/pyload/plugins/hoster/HotfileCom.py
+++ b/pyload/plugins/hoster/HotfileCom.py
@@ -11,8 +11,10 @@ class HotfileCom(DeadHoster):
__pattern__ = r'https?://(?:www\.)?hotfile\.com/dl/\d+/\w+'
__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")
+ __authors__ = [("sitacuisses", "sitacuisses@yhoo.de"),
+ ("spoob", "spoob@pyload.org"),
+ ("mkaay", "mkaay@mkaay.de"),
+ ("JoKoT3", "jokot3@gmail.com")]
getInfo = create_getInfo(HotfileCom)
diff --git a/pyload/plugins/hoster/HugefilesNet.py b/pyload/plugins/hoster/HugefilesNet.py
index ee475c7cb..3b9f81eb0 100644
--- a/pyload/plugins/hoster/HugefilesNet.py
+++ b/pyload/plugins/hoster/HugefilesNet.py
@@ -14,8 +14,8 @@ class HugefilesNet(XFSPHoster):
__pattern__ = r'http://(?:www\.)?hugefiles\.net/\w{12}'
__description__ = """Hugefiles.net hoster plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
+
HOSTER_NAME = "hugefiles.net"
diff --git a/pyload/plugins/hoster/HundredEightyUploadCom.py b/pyload/plugins/hoster/HundredEightyUploadCom.py
index 6b9516c66..191b9156a 100644
--- a/pyload/plugins/hoster/HundredEightyUploadCom.py
+++ b/pyload/plugins/hoster/HundredEightyUploadCom.py
@@ -14,8 +14,7 @@ class HundredEightyUploadCom(XFSPHoster):
__pattern__ = r'http://(?:www\.)?180upload\.com/\w{12}'
__description__ = """180upload.com hoster plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
HOSTER_NAME = "180upload.com"
diff --git a/pyload/plugins/hoster/IFileWs.py b/pyload/plugins/hoster/IFileWs.py
index 63edfec40..b0cdab64b 100644
--- a/pyload/plugins/hoster/IFileWs.py
+++ b/pyload/plugins/hoster/IFileWs.py
@@ -11,8 +11,7 @@ class IFileWs(DeadHoster):
__pattern__ = r'http://(?:www\.)?ifile\.ws/\w{12}'
__description__ = """Ifile.ws hoster plugin"""
- __author_name__ = "z00nx"
- __author_mail__ = "z00nx0@gmail.com"
+ __authors__ = [("z00nx", "z00nx0@gmail.com")]
getInfo = create_getInfo(IFileWs)
diff --git a/pyload/plugins/hoster/IcyFilesCom.py b/pyload/plugins/hoster/IcyFilesCom.py
index 532cd094b..637136e9d 100644
--- a/pyload/plugins/hoster/IcyFilesCom.py
+++ b/pyload/plugins/hoster/IcyFilesCom.py
@@ -11,8 +11,7 @@ class IcyFilesCom(DeadHoster):
__pattern__ = r'http://(?:www\.)?icyfiles\.com/(.*)'
__description__ = """IcyFiles.com hoster plugin"""
- __author_name__ = "godofdream"
- __author_mail__ = "soilfiction@gmail.com"
+ __authors__ = [("godofdream", "soilfiction@gmail.com")]
getInfo = create_getInfo(IcyFilesCom)
diff --git a/pyload/plugins/hoster/IfileIt.py b/pyload/plugins/hoster/IfileIt.py
index 70ab8084d..ec6a86dc7 100644
--- a/pyload/plugins/hoster/IfileIt.py
+++ b/pyload/plugins/hoster/IfileIt.py
@@ -15,8 +15,8 @@ class IfileIt(SimpleHoster):
__pattern__ = r'^unmatchable$'
__description__ = """Ifile.it"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
LINK_PATTERN = r'</span> If it doesn\'t, <a target="_blank" href="([^"]+)">'
RECAPTCHA_PATTERN = r"var __recaptcha_public\s*=\s*'([^']+)';"
diff --git a/pyload/plugins/hoster/IfolderRu.py b/pyload/plugins/hoster/IfolderRu.py
index 4f84e6b32..3de9b2e38 100644
--- a/pyload/plugins/hoster/IfolderRu.py
+++ b/pyload/plugins/hoster/IfolderRu.py
@@ -13,8 +13,8 @@ class IfolderRu(SimpleHoster):
__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"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_SIZE_REPLACEMENTS = [(u'Кб', 'KB'), (u'Мб', 'MB'), (u'Гб', 'GB')]
FILE_NAME_PATTERN = ur'(?:<div><span>)?НазваМОе:(?:</span>)? <b>(?P<N>[^<]+)</b><(?:/div|br)>'
diff --git a/pyload/plugins/hoster/JumbofilesCom.py b/pyload/plugins/hoster/JumbofilesCom.py
index d3ee9ee9b..c17a2d454 100644
--- a/pyload/plugins/hoster/JumbofilesCom.py
+++ b/pyload/plugins/hoster/JumbofilesCom.py
@@ -13,8 +13,8 @@ class JumbofilesCom(SimpleHoster):
__pattern__ = r'http://(?:www\.)?jumbofiles.com/(\w{12}).*'
__description__ = """JumboFiles.com hoster plugin"""
- __author_name__ = "godofdream"
- __author_mail__ = "soilfiction@gmail.com"
+ __authors__ = [("godofdream", "soilfiction@gmail.com")]
+
FILE_INFO_PATTERN = r'<TR><TD>(?P<N>[^<]+?)\s*<small>\((?P<S>[\d.]+)\s*(?P<U>[KMG][bB])\)</small></TD></TR>'
OFFLINE_PATTERN = r'Not Found or Deleted / Disabled due to inactivity or DMCA'
diff --git a/pyload/plugins/hoster/Keep2shareCC.py b/pyload/plugins/hoster/Keep2shareCC.py
index 9d33e17d8..7e030a685 100644
--- a/pyload/plugins/hoster/Keep2shareCC.py
+++ b/pyload/plugins/hoster/Keep2shareCC.py
@@ -16,8 +16,7 @@ class Keep2shareCC(SimpleHoster):
__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"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
FILE_NAME_PATTERN = r'File: <span>(?P<N>.+)</span>'
diff --git a/pyload/plugins/hoster/LemUploadsCom.py b/pyload/plugins/hoster/LemUploadsCom.py
index 9545a0a28..2c77f3106 100644
--- a/pyload/plugins/hoster/LemUploadsCom.py
+++ b/pyload/plugins/hoster/LemUploadsCom.py
@@ -1,26 +1,17 @@
# -*- coding: utf-8 -*-
-#
-# Test links:
-# BigBuckBunny_320x180.mp4 - 61.7 Mb - http://lemuploads.com/uwol0aly9dld
-from pyload.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo
+from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
-class LemUploadsCom(XFSPHoster):
+class LemUploadsCom(DeadHoster):
__name__ = "LemUploadsCom"
__type__ = "hoster"
- __version__ = "0.01"
+ __version__ = "0.02"
__pattern__ = r'https?://(?:www\.)?lemuploads\.com/\w{12}'
__description__ = """LemUploads.com hoster plugin"""
- __author_name__ = "t4skforce"
- __author_mail__ = "t4skforce1337[AT]gmail[DOT]com"
-
-
- HOSTER_NAME = "lemuploads.com"
-
- FILE_NAME_PATTERN = r'<b>Password:</b></div>\s*<h2>(?P<N>[^<]+)</h2>'
+ __authors__ = [("t4skforce", "t4skforce1337[AT]gmail[DOT]com")]
getInfo = create_getInfo(LemUploadsCom)
diff --git a/pyload/plugins/hoster/LetitbitNet.py b/pyload/plugins/hoster/LetitbitNet.py
index 7e01a120f..f1256f53a 100644
--- a/pyload/plugins/hoster/LetitbitNet.py
+++ b/pyload/plugins/hoster/LetitbitNet.py
@@ -41,8 +41,9 @@ class LetitbitNet(SimpleHoster):
__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")
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("z00nx", "z00nx0@gmail.com")]
+
FILE_URL_REPLACEMENTS = [(r"(?<=http://)([^/]+)", "letitbit.net")]
diff --git a/pyload/plugins/hoster/LinksnappyCom.py b/pyload/plugins/hoster/LinksnappyCom.py
index 32da0adab..ff9df1dff 100644
--- a/pyload/plugins/hoster/LinksnappyCom.py
+++ b/pyload/plugins/hoster/LinksnappyCom.py
@@ -16,8 +16,8 @@ class LinksnappyCom(Hoster):
__pattern__ = r'https?://(?:[^/]*\.)?linksnappy\.com'
__description__ = """Linksnappy.com hoster plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
+
SINGLE_CHUNK_HOSTERS = ('easybytez.com')
diff --git a/pyload/plugins/hoster/LoadTo.py b/pyload/plugins/hoster/LoadTo.py
index 8798819e3..4f5197f13 100644
--- a/pyload/plugins/hoster/LoadTo.py
+++ b/pyload/plugins/hoster/LoadTo.py
@@ -18,8 +18,9 @@ class LoadTo(SimpleHoster):
__pattern__ = r'http://(?:www\.)?load\.to/\w+'
__description__ = """Load.to hoster plugin"""
- __author_name__ = ("halfman", "stickell")
- __author_mail__ = ("Pulpan3@gmail.com", "l.stickell@yahoo.it")
+ __authors__ = [("halfman", "Pulpan3@gmail.com"),
+ ("stickell", "l.stickell@yahoo.it")]
+
FILE_NAME_PATTERN = r'<h1>(?P<N>.+)</h1>'
FILE_SIZE_PATTERN = r'Size: (?P<S>[\d.]+) (?P<U>\w+)'
diff --git a/pyload/plugins/hoster/LomafileCom.py b/pyload/plugins/hoster/LomafileCom.py
index 2ae6973c8..8184e9393 100644
--- a/pyload/plugins/hoster/LomafileCom.py
+++ b/pyload/plugins/hoster/LomafileCom.py
@@ -1,61 +1,29 @@
# -*- coding: utf-8 -*-
-import re
+from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo
-from pyload.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
-
-class LomafileCom(SimpleHoster):
+class LomafileCom(XFileSharingPro):
__name__ = "LomafileCom"
__type__ = "hoster"
- __version__ = "0.2"
+ __version__ = "0.3"
- __pattern__ = r'https?://lomafile\.com/.+/[\w\.]+'
+ __pattern__ = r'http://lomafile\.com/\w{12}'
__description__ = """Lomafile.com hoster plugin"""
- __author_name__ = "nath_schwarz"
- __author_mail__ = "nathan.notwhite@gmail.com"
-
- FILE_NAME_PATTERN = r'Filename:[^>]*>(?P<N>[\w\.]+)'
- FILE_SIZE_PATTERN = r'\((?P<S>\d+)\s(?P<U>\w+)\)'
- OFFLINE_PATTERN = r'Software error'
-
-
- def handleFree(self):
- for _ in xrange(3):
- captcha_id = re.search(r'src="http://lomafile\.com/captchas/(?P<id>\w+)\.jpg"', self.html)
- if not captcha_id:
- self.parseError("Unable to parse captcha id.")
- else:
- captcha_id = captcha_id.group("id")
-
- form_id = re.search(r'name="id" value="(?P<id>\w+)"', self.html)
- if not form_id:
- self.parseError("Unable to parse form id")
- else:
- form_id = form_id.group("id")
-
- captcha = self.decryptCaptcha("http://lomafile.com/captchas/" + captcha_id + ".jpg")
-
- self.wait(60)
-
- self.html = self.load(self.pyfile.url, post={
- "op": "download2",
- "id": form_id,
- "rand": captcha_id,
- "code": captcha,
- "down_direct": "1"})
-
- download_url = re.search(r'http://[\d\.]+:\d+/d/\w+/[\w\.]+', self.html)
- if download_url is None:
- self.invalidCaptcha()
- self.logDebug("Invalid captcha.")
- else:
- download_url = download_url.group(0)
- self.logDebug("Download URL: %s" % download_url)
- self.download(download_url)
- else:
- self.fail("Invalid captcha-code entered.")
+ __authors__ = [("nath_schwarz", "nathan.notwhite@gmail.com"),
+ ("guidobelix", "guidobelix@hotmail.it")]
+
+
+ HOSTER_NAME = "lomafile.com"
+
+ FILE_NAME_PATTERN = r'<a href="http://lomafile\.com/w{12}/(?P<N>.+?)">'
+ FILE_SIZE_PATTERN = r'Size:</b></td><td>(?P<S>[\d.]+) (?P<U>\w+)'
+
+ OFFLINE_PATTERN = r'>(No such file|Software error:<)'
+ TEMP_OFFLINE_PATTERN = r'The page may have been renamed, removed or be temporarily unavailable.<'
+
+ CAPTCHA_URL_PATTERN = r'(http://lomafile\.com/captchas/[^"\']+)'
getInfo = create_getInfo(LomafileCom)
diff --git a/pyload/plugins/hoster/LuckyShareNet.py b/pyload/plugins/hoster/LuckyShareNet.py
index 90af45e8d..32f1c03bf 100644
--- a/pyload/plugins/hoster/LuckyShareNet.py
+++ b/pyload/plugins/hoster/LuckyShareNet.py
@@ -16,8 +16,8 @@ class LuckyShareNet(SimpleHoster):
__pattern__ = r'https?://(?:www\.)?luckyshare.net/(?P<ID>\d{10,})'
__description__ = """LuckyShare.net hoster plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
+
FILE_INFO_PATTERN = r"<h1 class='file_name'>(?P<N>\S+)</h1>\s*<span class='file_size'>Filesize: (?P<S>[\d.]+)(?P<U>\w+)</span>"
OFFLINE_PATTERN = r'There is no such file available'
diff --git a/pyload/plugins/hoster/MediafireCom.py b/pyload/plugins/hoster/MediafireCom.py
index 8b882e952..f8b204d2f 100644
--- a/pyload/plugins/hoster/MediafireCom.py
+++ b/pyload/plugins/hoster/MediafireCom.py
@@ -52,8 +52,9 @@ class MediafireCom(SimpleHoster):
__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")
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("stickell", "l.stickell@yahoo.it")]
+
LINK_PATTERN = r'<div class="download_link"[^>]*(?:z-index:(?P<zindex>\d+))?[^>]*>\s*<a href="(?P<href>http://[^"]+)"'
JS_KEY_PATTERN = r"DoShow\('mfpromo1'\);[^{]*{((\w+)='';.*?)eval\(\2\);"
diff --git a/pyload/plugins/hoster/MegaDebridEu.py b/pyload/plugins/hoster/MegaDebridEu.py
index 82fde28e9..79a42b1cb 100644
--- a/pyload/plugins/hoster/MegaDebridEu.py
+++ b/pyload/plugins/hoster/MegaDebridEu.py
@@ -16,8 +16,8 @@ class MegaDebridEu(Hoster):
__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"
+ __authors__ = [("D.Ducatel", "dducatel@je-geek.fr")]
+
API_URL = "https://www.mega-debrid.eu/api.php"
diff --git a/pyload/plugins/hoster/MegaFilesSe.py b/pyload/plugins/hoster/MegaFilesSe.py
index 67086b068..e5b10f6e1 100644
--- a/pyload/plugins/hoster/MegaFilesSe.py
+++ b/pyload/plugins/hoster/MegaFilesSe.py
@@ -1,23 +1,17 @@
# -*- coding: utf-8 -*-
-from pyload.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo
+from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
-class MegaFilesSe(XFSPHoster):
+class MegaFilesSe(DeadHoster):
__name__ = "MegaFilesSe"
__type__ = "hoster"
- __version__ = "0.01"
+ __version__ = "0.02"
__pattern__ = r'http://(?:www\.)?megafiles\.se/\w{12}'
__description__ = """MegaFiles.se hoster plugin"""
- __author_name__ = "t4skforce"
- __author_mail__ = "t4skforce1337[AT]gmail[DOT]com"
-
- HOSTER_NAME = "megafiles.se"
-
- OFFLINE_PATTERN = r'><font[^>]*>File Not Found'
- FILE_NAME_PATTERN = r'<div[^>]+>\s*<b>(?P<N>[^<]+)</b>\s*</div>'
+ __authors__ = [("t4skforce", "t4skforce1337[AT]gmail[DOT]com")]
getInfo = create_getInfo(MegaFilesSe)
diff --git a/pyload/plugins/hoster/MegaNz.py b/pyload/plugins/hoster/MegaNz.py
index e01bc2cb7..bfe51b081 100644
--- a/pyload/plugins/hoster/MegaNz.py
+++ b/pyload/plugins/hoster/MegaNz.py
@@ -21,8 +21,8 @@ class MegaNz(Hoster):
__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"
+ __authors__ = [("RaNaN", "ranan@pyload.org")]
+
API_URL = "https://g.api.mega.co.nz/cs?id=%d"
FILE_SUFFIX = ".crypted"
diff --git a/pyload/plugins/hoster/MegacrypterCom.py b/pyload/plugins/hoster/MegacrypterCom.py
index cdc019fdf..de47b70f6 100644
--- a/pyload/plugins/hoster/MegacrypterCom.py
+++ b/pyload/plugins/hoster/MegacrypterCom.py
@@ -14,8 +14,8 @@ class MegacrypterCom(MegaNz):
__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"
+ __authors__ = [("GonzaloSR", "gonzalo@gonzalosr.com")]
+
API_URL = "http://megacrypter.com/api"
FILE_SUFFIX = ".crypted"
diff --git a/pyload/plugins/hoster/MegareleaseOrg.py b/pyload/plugins/hoster/MegareleaseOrg.py
index 0f853c58a..b627a8f10 100644
--- a/pyload/plugins/hoster/MegareleaseOrg.py
+++ b/pyload/plugins/hoster/MegareleaseOrg.py
@@ -1,23 +1,18 @@
# -*- coding: utf-8 -*-
-from pyload.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo
+from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
-class MegareleaseOrg(XFSPHoster):
+class MegareleaseOrg(DeadHoster):
__name__ = "MegareleaseOrg"
__type__ = "hoster"
- __version__ = "0.01"
+ __version__ = "0.02"
__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")
-
-
- HOSTER_NAME = "megarelease.org"
-
- FILE_INFO_PATTERN = r'<font color="red">%s/(?P<N>.+)</font> \((?P<S>[^)]+)\)</font>' % __pattern__
+ __authors__ = [("derek3x", "derek3x@vmail.me"),
+ ("stickell", "l.stickell@yahoo.it")]
getInfo = create_getInfo(MegareleaseOrg)
diff --git a/pyload/plugins/hoster/MegasharesCom.py b/pyload/plugins/hoster/MegasharesCom.py
index 36e13a531..23b5fbabc 100644
--- a/pyload/plugins/hoster/MegasharesCom.py
+++ b/pyload/plugins/hoster/MegasharesCom.py
@@ -10,21 +10,22 @@ from pyload.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class MegasharesCom(SimpleHoster):
__name__ = "MegasharesCom"
__type__ = "hoster"
- __version__ = "0.24"
+ __version__ = "0.25"
- __pattern__ = r'http://(?:www\.)?megashares.com/.*'
+ __pattern__ = r'http://(?:www\.)?(d\d{2}\.)?megashares\.com/((index.php)?\?d\d{2}=|dl/)\w+'
__description__ = """Megashares.com hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_NAME_PATTERN = r'<h1 class="black xxl"[^>]*title="(?P<N>[^"]+)">'
- FILE_SIZE_PATTERN = r'<strong><span class="black">Filesize:</span></strong> (?P<S>[0-9.]+) (?P<U>[kKMG])i?B<br />'
- OFFLINE_PATTERN = r'<dd class="red">(Invalid Link Request|Link has been deleted)'
+ FILE_SIZE_PATTERN = r'<strong><span class="black">Filesize:</span></strong> (?P<S>[\d.]+) (?P<U>\w+)'
+ OFFLINE_PATTERN = r'<dd class="red">(Invalid Link Request|Link has been deleted|Invalid link)'
LINK_PATTERN = r'<div id="show_download_button_%d"[^>]*>\s*<a href="([^"]+)">'
- PASSPORT_LEFT_PATTERN = r'Your Download Passport is: <[^>]*>(\w+).*\s*You have\s*<[^>]*>\s*([0-9.]+) ([kKMG]i?B)'
- PASSPORT_RENEW_PATTERN = r'Your download passport will renew in\s*<strong>(\d+)</strong>:<strong>(\d+)</strong>:<strong>(\d+)</strong>'
+
+ PASSPORT_LEFT_PATTERN = r'Your Download Passport is: <[^>]*>(\w+).*?You have.*?<[^>]*>.*?([\d.]+) (\w+)'
+ PASSPORT_RENEW_PATTERN = r'Your download passport will renew(?:.|\n)*?(\d+).*?(\d+).*?(\d+)'
REACTIVATE_NUM_PATTERN = r'<input[^>]*id="random_num" value="(\d+)" />'
REACTIVATE_PASSPORT_PATTERN = r'<input[^>]*id="passport_num" value="(\w+)" />'
REQUEST_URI_PATTERN = r'var request_uri = "([^"]+)";'
@@ -35,9 +36,11 @@ class MegasharesCom(SimpleHoster):
self.resumeDownload = True
self.multiDL = self.premium
+
def handlePremium(self):
self.handleDownload(True)
+
def handleFree(self):
self.html = self.load(self.pyfile.url, decode=True)
@@ -45,10 +48,7 @@ class MegasharesCom(SimpleHoster):
self.retry(wait_time=5 * 60)
self.getFileInfo()
- # if self.pyfile.size > 576716800:
- # self.fail("This file is too large for free download")
- # Reactivate passport if needed
m = re.search(self.REACTIVATE_PASSPORT_PATTERN, self.html)
if m:
passport_num = m.group(1)
@@ -76,20 +76,22 @@ class MegasharesCom(SimpleHoster):
self.fail("Failed to reactivate passport")
# Check traffic left on passport
- m = re.search(self.PASSPORT_LEFT_PATTERN, self.html)
+ m = re.search(self.PASSPORT_LEFT_PATTERN, self.html, re.M | re.S)
if m is None:
self.fail('Passport not found')
self.logInfo("Download passport: %s" % m.group(1))
- data_left = float(m.group(2)) * 1024 ** {'KB': 1, 'MB': 2, 'GB': 3}[m.group(3)]
+ data_left = float(m.group(2)) * 1024 ** {'B': 0, 'KB': 1, 'MB': 2, 'GB': 3}[m.group(3)]
self.logInfo("Data left: %s %s (%d MB needed)" % (m.group(2), m.group(3), self.pyfile.size / 1048576))
if not data_left:
m = re.search(self.PASSPORT_RENEW_PATTERN, self.html)
- renew = m.group(1) + m.group(2) + m.group(3) * 60 * 60 if m else 10 * 60
- self.retry(max_tries=15, wait_time=renew, reason="Unable to get passport")
+ renew = int(m.group(1) + 60 * (m.group(2) + 60 * m.group(3))) if found else 600
+ self.logDebug('Waiting %d seconds for a new passport' % renew)
+ self.retry(wait_time=renew, reason="Passport renewal")
self.handleDownload(False)
+
def handleDownload(self, premium=False):
# Find download link;
m = re.search(self.LINK_PATTERN % (1 if premium else 2), self.html)
diff --git a/pyload/plugins/hoster/MovReelCom.py b/pyload/plugins/hoster/MovReelCom.py
index f31e27bd1..07a54a27c 100644
--- a/pyload/plugins/hoster/MovReelCom.py
+++ b/pyload/plugins/hoster/MovReelCom.py
@@ -11,8 +11,7 @@ class MovReelCom(XFSPHoster):
__pattern__ = r'http://(?:www\.)?movreel\.com/\w{12}'
__description__ = """MovReel.com hoster plugin"""
- __author_name__ = "JorisV83"
- __author_mail__ = "jorisv83-pyload@yahoo.com"
+ __authors__ = [("JorisV83", "jorisv83-pyload@yahoo.com")]
HOSTER_NAME = "movreel.com"
diff --git a/pyload/plugins/hoster/MultishareCz.py b/pyload/plugins/hoster/MultishareCz.py
index 819478659..3d9afa392 100644
--- a/pyload/plugins/hoster/MultishareCz.py
+++ b/pyload/plugins/hoster/MultishareCz.py
@@ -15,8 +15,8 @@ class MultishareCz(SimpleHoster):
__pattern__ = r'http://(?:www\.)?multishare.cz/stahnout/(?P<ID>\d+).*'
__description__ = """MultiShare.cz hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_INFO_PATTERN = ur'(?:<li>Název|Soubor): <strong>(?P<N>[^<]+)</strong><(?:/li><li|br)>Velikost: <strong>(?P<S>[^<]+)</strong>'
OFFLINE_PATTERN = ur'<h1>Stáhnout soubor</h1><p><strong>PoşadovanÜ soubor neexistuje.</strong></p>'
diff --git a/pyload/plugins/hoster/MyfastfileCom.py b/pyload/plugins/hoster/MyfastfileCom.py
index b3ef02186..219cee92f 100644
--- a/pyload/plugins/hoster/MyfastfileCom.py
+++ b/pyload/plugins/hoster/MyfastfileCom.py
@@ -14,8 +14,8 @@ class MyfastfileCom(Hoster):
__pattern__ = r'http://(?:www\.)?\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/dl/'
__description__ = """Myfastfile.com hoster plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
+
def setup(self):
diff --git a/pyload/plugins/hoster/MyvideoDe.py b/pyload/plugins/hoster/MyvideoDe.py
index 556444708..bf96014f9 100644
--- a/pyload/plugins/hoster/MyvideoDe.py
+++ b/pyload/plugins/hoster/MyvideoDe.py
@@ -14,8 +14,7 @@ class MyvideoDe(Hoster):
__pattern__ = r'http://(?:www\.)?myvideo.de/watch/'
__description__ = """Myvideo.de hoster plugin"""
- __author_name__ = "spoob"
- __author_mail__ = "spoob@pyload.org"
+ __authors__ = [("spoob", "spoob@pyload.org")]
def process(self, pyfile):
diff --git a/pyload/plugins/hoster/NarodRu.py b/pyload/plugins/hoster/NarodRu.py
index 6fa16362d..574135192 100644
--- a/pyload/plugins/hoster/NarodRu.py
+++ b/pyload/plugins/hoster/NarodRu.py
@@ -15,8 +15,8 @@ class NarodRu(SimpleHoster):
__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"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_NAME_PATTERN = r'<dt class="name">(?:<[^<]*>)*(?P<N>[^<]+)</dt>'
FILE_SIZE_PATTERN = r'<dd class="size">(?P<S>\d[^<]*)</dd>'
diff --git a/pyload/plugins/hoster/NetloadIn.py b/pyload/plugins/hoster/NetloadIn.py
index 187d2a504..d6b1b77e2 100644
--- a/pyload/plugins/hoster/NetloadIn.py
+++ b/pyload/plugins/hoster/NetloadIn.py
@@ -57,8 +57,9 @@ class NetloadIn(Hoster):
__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")
+ __authors__ = [("spoob", "spoob@pyload.org"),
+ ("RaNaN", "ranan@pyload.org"),
+ ("Gregy", "gregy@gregy.cz")]
def setup(self):
diff --git a/pyload/plugins/hoster/NosuploadCom.py b/pyload/plugins/hoster/NosuploadCom.py
index f620238db..e761a0504 100644
--- a/pyload/plugins/hoster/NosuploadCom.py
+++ b/pyload/plugins/hoster/NosuploadCom.py
@@ -13,8 +13,8 @@ class NosuploadCom(XFSPHoster):
__pattern__ = r'http://(?:www\.)?nosupload\.com/\?d=\w{12}'
__description__ = """Nosupload.com hoster plugin"""
- __author_name__ = "igel"
- __author_mail__ = "igelkun@myopera.com"
+ __authors__ = [("igel", "igelkun@myopera.com")]
+
HOSTER_NAME = "nosupload.com"
diff --git a/pyload/plugins/hoster/NovafileCom.py b/pyload/plugins/hoster/NovafileCom.py
index bd7b6ec65..db5a769b3 100644
--- a/pyload/plugins/hoster/NovafileCom.py
+++ b/pyload/plugins/hoster/NovafileCom.py
@@ -15,8 +15,8 @@ class NovafileCom(XFSPHoster):
__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")
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("stickell", "l.stickell@yahoo.it")]
HOSTER_NAME = "novafile.com"
diff --git a/pyload/plugins/hoster/NowDownloadEu.py b/pyload/plugins/hoster/NowDownloadEu.py
index 2b0dca907..11b5ea5fa 100644
--- a/pyload/plugins/hoster/NowDownloadEu.py
+++ b/pyload/plugins/hoster/NowDownloadEu.py
@@ -14,8 +14,9 @@ class NowDownloadEu(SimpleHoster):
__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")
+ __authors__ = [("godofdream", "soilfiction@gmail.com"),
+ ("Walter Purcaro", "vuolter@gmail.com")]
+
FILE_INFO_PATTERN = r'Downloading</span> <br> (?P<N>.*) (?P<S>[0-9,.]+) (?P<U>[kKMG])i?B </h4>'
OFFLINE_PATTERN = r'(This file does not exist!)'
diff --git a/pyload/plugins/hoster/OboomCom.py b/pyload/plugins/hoster/OboomCom.py
index e9496b469..5ade1bd8b 100644
--- a/pyload/plugins/hoster/OboomCom.py
+++ b/pyload/plugins/hoster/OboomCom.py
@@ -13,13 +13,12 @@ from pyload.plugins.internal.CaptchaService import ReCaptcha
class OboomCom(Hoster):
__name__ = "OboomCom"
__type__ = "hoster"
- __version__ = "0.2"
+ __version__ = "0.3"
__pattern__ = r'https?://(?:www\.)?oboom\.com/(#(id=|/)?)?(?P<ID>\w{8})'
__description__ = """oboom.com hoster plugin"""
- __author_name__ = "stanley"
- __author_mail__ = "stanley.foerster@gmail.com"
+ __authors__ = [("stanley", "stanley.foerster@gmail.com")]
RECAPTCHA_KEY = "6LdqpO0SAAAAAJGHXo63HyalP7H4qlRs_vff0kJX"
@@ -89,6 +88,7 @@ class OboomCom(Hoster):
self.setWait(30)
self.wait()
break
+
elif result[0] == 400:
if result[1] == "incorrect-captcha-sol":
self.invalidCaptcha()
@@ -96,6 +96,7 @@ class OboomCom(Hoster):
self.invalidCaptcha()
elif result[1] == "forbidden":
self.retry(5, 15 * 60, "Service unavailable")
+
elif result[0] == 403:
if result[1] == -1: # another download is running
self.setWait(15 * 60)
@@ -125,7 +126,7 @@ class OboomCom(Hoster):
def getDownloadTicket(self):
- apiUrl = "https://api.oboom.com/1.0/dl"
+ apiUrl = "https://api.oboom.com/1/dl"
params = {"item": self.fileId, "http_errors": 0}
if self.premium:
params['token'] = self.sessionToken
@@ -137,5 +138,7 @@ class OboomCom(Hoster):
if result[0] == 200:
self.downloadDomain = result[1]
self.downloadTicket = result[2]
+ elif result[0] == 421:
+ self.retry(wait_time=result[2] + 60, reason="Connection limit exceeded")
else:
self.fail("Could not retrieve download ticket. Error code %s" % result[0])
diff --git a/pyload/plugins/hoster/OneFichierCom.py b/pyload/plugins/hoster/OneFichierCom.py
index cd304a86c..72d3917a0 100644
--- a/pyload/plugins/hoster/OneFichierCom.py
+++ b/pyload/plugins/hoster/OneFichierCom.py
@@ -13,9 +13,12 @@ class OneFichierCom(SimpleHoster):
__pattern__ = r'https?://(?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",
- "imclem on github", "l.stickell@yahoo.it", "elrick69[AT]rocketmail[DOT]com")
+ __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es"),
+ ("the-razer", "daniel_ AT gmx DOT net"),
+ ("zoidberg", "zoidberg@mujmail.cz"),
+ ("imclem", None),
+ ("stickell", "l.stickell@yahoo.it"),
+ ("Elrick69", "elrick69[AT]rocketmail[DOT]com")]
FILE_NAME_PATTERN = r'>Filename :</th>\s*<td>(?P<N>.+?)<'
diff --git a/pyload/plugins/hoster/OverLoadMe.py b/pyload/plugins/hoster/OverLoadMe.py
index 180e2406e..b46421d8a 100644
--- a/pyload/plugins/hoster/OverLoadMe.py
+++ b/pyload/plugins/hoster/OverLoadMe.py
@@ -18,8 +18,7 @@ class OverLoadMe(Hoster):
__pattern__ = r'https?://.*overload\.me.*'
__description__ = """Over-Load.me hoster plugin"""
- __author_name__ = "marley"
- __author_mail__ = "marley@over-load.me"
+ __authors__ = [("marley", "marley@over-load.me")]
def getFilename(self, url):
diff --git a/pyload/plugins/hoster/PandaPlanet.py b/pyload/plugins/hoster/PandaPlanet.py
deleted file mode 100644
index 5fd565618..000000000
--- a/pyload/plugins/hoster/PandaPlanet.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# Test links:
-# test.bin - 214 B - http://pandapla.net/pew1cz3ot586
-# BigBuckBunny_320x180.mp4 - 61.7 Mb - http://pandapla.net/tz0rgjfyyoh7
-
-from pyload.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo
-
-
-class PandaPlanet(XFSPHoster):
- __name__ = "PandaPlanet"
- __type__ = "hoster"
- __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"
-
- HOSTER_NAME = "pandapla.net"
-
- FILE_SIZE_PATTERN = r'File Size:</b>\s*</td>\s*<td[^>]*>(?P<S>[^<]+)</td>\s*</tr>'
- FILE_NAME_PATTERN = r'File Name:</b>\s*</td>\s*<td[^>]*>(?P<N>[^<]+)</td>\s*</tr>'
- LINK_PATTERN = r'(http://([^/]*?%s|\d+\.\d+\.\d+\.\d+)(:\d+)?(/d/|(?:/files)?/\d+/\w+/)[^"\'<]+\/(?!video\.mp4)[^"\'<]+)' % HOSTER_NAME
-
-
-getInfo = create_getInfo(PandaPlanet)
diff --git a/pyload/plugins/hoster/PornhostCom.py b/pyload/plugins/hoster/PornhostCom.py
index 621f52702..b8abb2b8a 100644
--- a/pyload/plugins/hoster/PornhostCom.py
+++ b/pyload/plugins/hoster/PornhostCom.py
@@ -13,8 +13,7 @@ class PornhostCom(Hoster):
__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"
+ __authors__ = [("jeix", "jeix@hasnomail.de")]
def process(self, pyfile):
diff --git a/pyload/plugins/hoster/PornhubCom.py b/pyload/plugins/hoster/PornhubCom.py
index 49f519dc6..8a5fd9075 100644
--- a/pyload/plugins/hoster/PornhubCom.py
+++ b/pyload/plugins/hoster/PornhubCom.py
@@ -13,8 +13,7 @@ class PornhubCom(Hoster):
__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"
+ __authors__ = [("jeix", "jeix@hasnomail.de")]
def process(self, pyfile):
diff --git a/pyload/plugins/hoster/PotloadCom.py b/pyload/plugins/hoster/PotloadCom.py
index f06798dd7..ce5f832a1 100644
--- a/pyload/plugins/hoster/PotloadCom.py
+++ b/pyload/plugins/hoster/PotloadCom.py
@@ -1,22 +1,17 @@
# -*- coding: utf-8 -*-
-from pyload.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo
+from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
-class PotloadCom(XFSPHoster):
+class PotloadCom(DeadHoster):
__name__ = "PotloadCom"
__type__ = "hoster"
- __version__ = "0.01"
+ __version__ = "0.02"
__pattern__ = r'http://(?:www\.)?potload\.com/\w{12}'
__description__ = """Potload.com hoster plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
-
- HOSTER_NAME = "potload.com"
-
- FILE_INFO_PATTERN = r'<h[1-6]>(?P<N>.+) \((?P<S>\d+) (?P<U>\w+)\)</h'
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
getInfo = create_getInfo(PotloadCom)
diff --git a/pyload/plugins/hoster/PremiumTo.py b/pyload/plugins/hoster/PremiumTo.py
index ee7da65b2..b1efdcc50 100644
--- a/pyload/plugins/hoster/PremiumTo.py
+++ b/pyload/plugins/hoster/PremiumTo.py
@@ -16,8 +16,9 @@ class PremiumTo(Hoster):
__pattern__ = r'https?://(?: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")
+ __authors__ = [("RaNaN", "RaNaN@pyload.org"),
+ ("zoidberg", "zoidberg@mujmail.cz"),
+ ("stickell", "l.stickell@yahoo.it")]
def setup(self):
diff --git a/pyload/plugins/hoster/PremiumizeMe.py b/pyload/plugins/hoster/PremiumizeMe.py
index cf08e810f..abd4cf698 100644
--- a/pyload/plugins/hoster/PremiumizeMe.py
+++ b/pyload/plugins/hoster/PremiumizeMe.py
@@ -12,8 +12,7 @@ class PremiumizeMe(Hoster):
__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"
+ __authors__ = [("Florian Franzen", "FlorianFranzen@gmail.com")]
def process(self, pyfile):
diff --git a/pyload/plugins/hoster/PromptfileCom.py b/pyload/plugins/hoster/PromptfileCom.py
index 4d2ac8ad6..12cb41290 100644
--- a/pyload/plugins/hoster/PromptfileCom.py
+++ b/pyload/plugins/hoster/PromptfileCom.py
@@ -13,8 +13,8 @@ class PromptfileCom(SimpleHoster):
__pattern__ = r'https?://(?:www\.)?promptfile\.com/'
__description__ = """Promptfile.com hoster plugin"""
- __author_name__ = "igel"
- __author_mail__ = "igelkun@myopera.com"
+ __authors__ = [("igel", "igelkun@myopera.com")]
+
FILE_INFO_PATTERN = r'<span style="[^"]*" title="[^"]*">(?P<N>.*?) \((?P<S>[\d.]+) (?P<U>\w+)\)</span>'
OFFLINE_PATTERN = r'<span style="[^"]*" title="File Not Found">File Not Found</span>'
diff --git a/pyload/plugins/hoster/QuickshareCz.py b/pyload/plugins/hoster/QuickshareCz.py
index 4082fab44..4e42c7c85 100644
--- a/pyload/plugins/hoster/QuickshareCz.py
+++ b/pyload/plugins/hoster/QuickshareCz.py
@@ -15,8 +15,8 @@ class QuickshareCz(SimpleHoster):
__pattern__ = r'http://(?:[^/]*\.)?quickshare.cz/stahnout-soubor/.*'
__description__ = """Quickshare.cz hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_NAME_PATTERN = r'<th width="145px">Název:</th>\s*<td style="word-wrap:break-word;">(?P<N>[^<]+)</td>'
FILE_SIZE_PATTERN = r'<th>Velikost:</th>\s*<td>(?P<S>[0-9.]+) (?P<U>[kKMG])i?B</td>'
diff --git a/pyload/plugins/hoster/RPNetBiz.py b/pyload/plugins/hoster/RPNetBiz.py
index 5f213b330..b4982dd8d 100644
--- a/pyload/plugins/hoster/RPNetBiz.py
+++ b/pyload/plugins/hoster/RPNetBiz.py
@@ -14,8 +14,7 @@ class RPNetBiz(Hoster):
__description__ = """RPNet.biz hoster plugin"""
__pattern__ = r'https?://.*rpnet\.biz'
- __author_name__ = "Dman"
- __author_mail__ = "dmanugm@gmail.com"
+ __authors__ = [("Dman", "dmanugm@gmail.com")]
def setup(self):
diff --git a/pyload/plugins/hoster/RapidgatorNet.py b/pyload/plugins/hoster/RapidgatorNet.py
index 1d84b2245..572b3e121 100644
--- a/pyload/plugins/hoster/RapidgatorNet.py
+++ b/pyload/plugins/hoster/RapidgatorNet.py
@@ -19,8 +19,11 @@ class RapidgatorNet(SimpleHoster):
__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")
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("chrox", None),
+ ("stickell", "l.stickell@yahoo.it"),
+ ("Walter Purcaro", "vuolter@gmail.com")]
+
API_URL = "http://rapidgator.net/api/file"
diff --git a/pyload/plugins/hoster/RapidshareCom.py b/pyload/plugins/hoster/RapidshareCom.py
index 37547443e..afbab10c9 100644
--- a/pyload/plugins/hoster/RapidshareCom.py
+++ b/pyload/plugins/hoster/RapidshareCom.py
@@ -52,8 +52,9 @@ class RapidshareCom(Hoster):
"Preferred Server", "None")]
__description__ = """Rapidshare.com hoster plugin"""
- __author_name__ = ("spoob", "RaNaN", "mkaay")
- __author_mail__ = ("spoob@pyload.org", "ranan@pyload.org", "mkaay@mkaay.de")
+ __authors__ = [("spoob", "spoob@pyload.org"),
+ ("RaNaN", "ranan@pyload.org"),
+ ("mkaay", "mkaay@mkaay.de")]
def setup(self):
diff --git a/pyload/plugins/hoster/RarefileNet.py b/pyload/plugins/hoster/RarefileNet.py
index cbf3639b7..c59f27d07 100644
--- a/pyload/plugins/hoster/RarefileNet.py
+++ b/pyload/plugins/hoster/RarefileNet.py
@@ -14,8 +14,7 @@ class RarefileNet(XFSPHoster):
__pattern__ = r'http://(?:www\.)?rarefile\.net/\w{12}'
__description__ = """Rarefile.net hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
HOSTER_NAME = "rarefile.net"
diff --git a/pyload/plugins/hoster/RealdebridCom.py b/pyload/plugins/hoster/RealdebridCom.py
index bf7f91e21..09c8d7f7e 100644
--- a/pyload/plugins/hoster/RealdebridCom.py
+++ b/pyload/plugins/hoster/RealdebridCom.py
@@ -19,8 +19,7 @@ class RealdebridCom(Hoster):
__pattern__ = r'https?://(?:[^/]*\.)?real-debrid\..*'
__description__ = """Real-Debrid.com hoster plugin"""
- __author_name__ = "Devirex Hazzard"
- __author_mail__ = "naibaf_11@yahoo.de"
+ __authors__ = [("Devirex Hazzard", "naibaf_11@yahoo.de")]
def getFilename(self, url):
diff --git a/pyload/plugins/hoster/RedtubeCom.py b/pyload/plugins/hoster/RedtubeCom.py
index 814fe4ad3..d874f10c9 100644
--- a/pyload/plugins/hoster/RedtubeCom.py
+++ b/pyload/plugins/hoster/RedtubeCom.py
@@ -14,8 +14,7 @@ class RedtubeCom(Hoster):
__pattern__ = r'http://(?:www\.)?redtube\.com/\d+'
__description__ = """Redtube.com hoster plugin"""
- __author_name__ = "jeix"
- __author_mail__ = "jeix@hasnomail.de"
+ __authors__ = [("jeix", "jeix@hasnomail.de")]
def process(self, pyfile):
diff --git a/pyload/plugins/hoster/RehostTo.py b/pyload/plugins/hoster/RehostTo.py
index 9b708a9d5..0e6af0edb 100644
--- a/pyload/plugins/hoster/RehostTo.py
+++ b/pyload/plugins/hoster/RehostTo.py
@@ -13,8 +13,7 @@ class RehostTo(Hoster):
__pattern__ = r'https?://.*rehost.to\..*'
__description__ = """Rehost.com hoster plugin"""
- __author_name__ = "RaNaN"
- __author_mail__ = "RaNaN@pyload.org"
+ __authors__ = [("RaNaN", "RaNaN@pyload.org")]
def getFilename(self, url):
diff --git a/pyload/plugins/hoster/RemixshareCom.py b/pyload/plugins/hoster/RemixshareCom.py
index dfd7db5a0..41bba2569 100644
--- a/pyload/plugins/hoster/RemixshareCom.py
+++ b/pyload/plugins/hoster/RemixshareCom.py
@@ -21,8 +21,9 @@ class RemixshareCom(SimpleHoster):
__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")
+ __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de"),
+ ("Walter Purcaro", "vuolter@gmail.com")]
+
FILE_INFO_PATTERN = r'title=\'.+?\'>(?P<N>.+?)</span><span class=\'light2\'>&nbsp;\((?P<S>\d+)&nbsp;(?P<U>\w+)\)<'
OFFLINE_PATTERN = r'<h1>Ooops!<'
diff --git a/pyload/plugins/hoster/RgHostNet.py b/pyload/plugins/hoster/RgHostNet.py
index 0240f3a05..5db278bbf 100644
--- a/pyload/plugins/hoster/RgHostNet.py
+++ b/pyload/plugins/hoster/RgHostNet.py
@@ -13,8 +13,8 @@ class RgHostNet(SimpleHoster):
__pattern__ = r'http://(?:www\.)?rghost\.net/\d+(?:r=\d+)?'
__description__ = """RgHost.net hoster plugin"""
- __author_name__ = "z00nx"
- __author_mail__ = "z00nx0@gmail.com"
+ __authors__ = [("z00nx", "z00nx0@gmail.com")]
+
FILE_INFO_PATTERN = r'<h1>\s+(<a[^>]+>)?(?P<N>[^<]+)(</a>)?\s+<small[^>]+>\s+\((?P<S>[^)]+)\)\s+</small>\s+</h1>'
OFFLINE_PATTERN = r'File is deleted|this page is not found'
diff --git a/pyload/plugins/hoster/RyushareCom.py b/pyload/plugins/hoster/RyushareCom.py
index 3117238e8..6c08e5cd7 100644
--- a/pyload/plugins/hoster/RyushareCom.py
+++ b/pyload/plugins/hoster/RyushareCom.py
@@ -17,8 +17,10 @@ class RyushareCom(XFSPHoster):
__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")
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("stickell", "l.stickell@yahoo.it"),
+ ("quareevo", "quareevo@arcor.de")]
+
HOSTER_NAME = "ryushare.com"
diff --git a/pyload/plugins/hoster/SecureUploadEu.py b/pyload/plugins/hoster/SecureUploadEu.py
index 90c80e336..d6d0207e8 100644
--- a/pyload/plugins/hoster/SecureUploadEu.py
+++ b/pyload/plugins/hoster/SecureUploadEu.py
@@ -11,8 +11,7 @@ class SecureUploadEu(XFSPHoster):
__pattern__ = r'https?://(?:www\.)?secureupload\.eu/\w{12}'
__description__ = """SecureUpload.eu hoster plugin"""
- __author_name__ = "z00nx"
- __author_mail__ = "z00nx0@gmail.com"
+ __authors__ = [("z00nx", "z00nx0@gmail.com")]
HOSTER_NAME = "secureupload.eu"
diff --git a/pyload/plugins/hoster/SendmywayCom.py b/pyload/plugins/hoster/SendmywayCom.py
index e106de9bd..71cdf804d 100644
--- a/pyload/plugins/hoster/SendmywayCom.py
+++ b/pyload/plugins/hoster/SendmywayCom.py
@@ -11,8 +11,7 @@ class SendmywayCom(XFSPHoster):
__pattern__ = r'http://(?:www\.)?sendmyway\.com/\w{12}'
__description__ = """SendMyWay hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
HOSTER_NAME = "sendmyway.com"
diff --git a/pyload/plugins/hoster/SendspaceCom.py b/pyload/plugins/hoster/SendspaceCom.py
index 7a0908c8d..eb7fad5cd 100644
--- a/pyload/plugins/hoster/SendspaceCom.py
+++ b/pyload/plugins/hoster/SendspaceCom.py
@@ -13,8 +13,8 @@ class SendspaceCom(SimpleHoster):
__pattern__ = r'http://(?:www\.)?sendspace.com/file/.*'
__description__ = """Sendspace.com hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_NAME_PATTERN = r'<h2 class="bgray">\s*<(?:b|strong)>(?P<N>[^<]+)</'
FILE_SIZE_PATTERN = r'<div class="file_description reverse margin_center">\s*<b>File Size:</b>\s*(?P<S>[0-9.]+)(?P<U>[kKMG])i?B\s*</div>'
diff --git a/pyload/plugins/hoster/Share4webCom.py b/pyload/plugins/hoster/Share4webCom.py
index a3d92d9f4..ac8623464 100644
--- a/pyload/plugins/hoster/Share4webCom.py
+++ b/pyload/plugins/hoster/Share4webCom.py
@@ -12,8 +12,8 @@ class Share4webCom(UnibytesCom):
__pattern__ = r'http://(?:www\.)?share4web\.com/get/\w+'
__description__ = """Share4web.com hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
HOSTER_NAME = "share4web.com"
diff --git a/pyload/plugins/hoster/Share76Com.py b/pyload/plugins/hoster/Share76Com.py
index 2cd736992..ebcec3e0c 100644
--- a/pyload/plugins/hoster/Share76Com.py
+++ b/pyload/plugins/hoster/Share76Com.py
@@ -11,8 +11,7 @@ class Share76Com(DeadHoster):
__pattern__ = r'http://(?:www\.)?share76.com/\w{12}'
__description__ = """Share76.com hoster plugin"""
- __author_name__ = "me"
- __author_mail__ = None
+ __authors__ = []
getInfo = create_getInfo(Share76Com)
diff --git a/pyload/plugins/hoster/ShareFilesCo.py b/pyload/plugins/hoster/ShareFilesCo.py
index b75eb0740..5b7d7a863 100644
--- a/pyload/plugins/hoster/ShareFilesCo.py
+++ b/pyload/plugins/hoster/ShareFilesCo.py
@@ -11,8 +11,7 @@ class ShareFilesCo(DeadHoster):
__pattern__ = r'http://(?:www\.)?sharefiles\.co/\w{12}'
__description__ = """Sharefiles.co hoster plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
getInfo = create_getInfo(ShareFilesCo)
diff --git a/pyload/plugins/hoster/ShareRapidCom.py b/pyload/plugins/hoster/ShareRapidCom.py
index d89be1ec4..0a56fa54d 100644
--- a/pyload/plugins/hoster/ShareRapidCom.py
+++ b/pyload/plugins/hoster/ShareRapidCom.py
@@ -27,8 +27,11 @@ class ShareRapidCom(SimpleHoster):
__pattern__ = r'http://(?:www\.)?(share|mega)rapid\.cz/soubor/\d+/.+'
__description__ = """MegaRapid.cz hoster plugin"""
- __author_name__ = ("MikyWoW", "zoidberg", "stickell", "Walter Purcaro")
- __author_mail__ = ("mikywow@seznam.cz", "zoidberg@mujmail.cz", "l.stickell@yahoo.it", "vuolter@gmail.com")
+ __authors__ = [("MikyWoW", "mikywow@seznam.cz"),
+ ("zoidberg", "zoidberg@mujmail.cz"),
+ ("stickell", "l.stickell@yahoo.it"),
+ ("Walter Purcaro", "vuolter@gmail.com")]
+
FILE_NAME_PATTERN = r'<h1[^>]*><span[^>]*>(?:<a[^>]*>)?(?P<N>[^<]+)'
FILE_SIZE_PATTERN = r'<td class="i">Velikost:</td>\s*<td class="h"><strong>\s*(?P<S>[0-9.]+) (?P<U>[kKMG])i?B</strong></td>'
diff --git a/pyload/plugins/hoster/SharebeesCom.py b/pyload/plugins/hoster/SharebeesCom.py
index 287dbf59c..f8892b441 100644
--- a/pyload/plugins/hoster/SharebeesCom.py
+++ b/pyload/plugins/hoster/SharebeesCom.py
@@ -11,8 +11,7 @@ class SharebeesCom(DeadHoster):
__pattern__ = r'http://(?:www\.)?sharebees.com/\w{12}'
__description__ = """ShareBees hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
getInfo = create_getInfo(SharebeesCom)
diff --git a/pyload/plugins/hoster/ShareonlineBiz.py b/pyload/plugins/hoster/ShareonlineBiz.py
index 15898e797..d48d76018 100644
--- a/pyload/plugins/hoster/ShareonlineBiz.py
+++ b/pyload/plugins/hoster/ShareonlineBiz.py
@@ -44,8 +44,11 @@ class ShareonlineBiz(Hoster):
__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")
+ __authors__ = [("spoob", "spoob@pyload.org"),
+ ("mkaay", "mkaay@mkaay.de"),
+ ("zoidberg", "zoidberg@mujmail.cz"),
+ ("Walter Purcaro", "vuolter@gmail.com")]
+
ERROR_INFO_PATTERN = r'<p class="b">Information:</p>\s*<div>\s*<strong>(.*?)</strong>'
diff --git a/pyload/plugins/hoster/ShareplaceCom.py b/pyload/plugins/hoster/ShareplaceCom.py
index d5ef86ae2..f4ade5760 100644
--- a/pyload/plugins/hoster/ShareplaceCom.py
+++ b/pyload/plugins/hoster/ShareplaceCom.py
@@ -15,8 +15,7 @@ class ShareplaceCom(Hoster):
__pattern__ = r'(http://)?(?:www\.)?shareplace\.(com|org)/\?[a-zA-Z0-9]+'
__description__ = """Shareplace.com hoster plugin"""
- __author_name__ = "ACCakut"
- __author_mail__ = None
+ __authors__ = [("ACCakut", None)]
def process(self, pyfile):
diff --git a/pyload/plugins/hoster/ShragleCom.py b/pyload/plugins/hoster/ShragleCom.py
index 0ec93fcdc..519434a4b 100644
--- a/pyload/plugins/hoster/ShragleCom.py
+++ b/pyload/plugins/hoster/ShragleCom.py
@@ -11,8 +11,8 @@ class ShragleCom(DeadHoster):
__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")
+ __authors__ = [("RaNaN", "RaNaN@pyload.org"),
+ ("zoidberg", "zoidberg@mujmail.cz")]
getInfo = create_getInfo(ShragleCom)
diff --git a/pyload/plugins/hoster/SimplyPremiumCom.py b/pyload/plugins/hoster/SimplyPremiumCom.py
index 9a460b13e..be863e8aa 100644
--- a/pyload/plugins/hoster/SimplyPremiumCom.py
+++ b/pyload/plugins/hoster/SimplyPremiumCom.py
@@ -16,8 +16,7 @@ class SimplyPremiumCom(Hoster):
__pattern__ = r'https?://.*(simply-premium)\.com'
__description__ = """Simply-Premium.com hoster plugin"""
- __author_name__ = "EvolutionClip"
- __author_mail__ = "evolutionclip@live.de"
+ __authors__ = [("EvolutionClip", "evolutionclip@live.de")]
def setup(self):
diff --git a/pyload/plugins/hoster/SimplydebridCom.py b/pyload/plugins/hoster/SimplydebridCom.py
index 66f7149b4..7c6e6bfb3 100644
--- a/pyload/plugins/hoster/SimplydebridCom.py
+++ b/pyload/plugins/hoster/SimplydebridCom.py
@@ -13,8 +13,7 @@ class SimplydebridCom(Hoster):
__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"
+ __authors__ = [("Kagenoshin", "kagenoshin@gmx.ch")]
def setup(self):
diff --git a/pyload/plugins/hoster/SockshareCom.py b/pyload/plugins/hoster/SockshareCom.py
index 36e03a5ae..766c861a1 100644
--- a/pyload/plugins/hoster/SockshareCom.py
+++ b/pyload/plugins/hoster/SockshareCom.py
@@ -16,8 +16,10 @@ class SockshareCom(SimpleHoster):
__pattern__ = r'http://(?:www\.)?sockshare\.com/(mobile/)?(file|embed)/(?P<ID>\w+)'
__description__ = """Sockshare.com hoster plugin"""
- __author_name__ = ("jeix", "stickell", "Walter Purcaro")
- __author_mail__ = ("jeix@hasnomail.de", "l.stickell@yahoo.it", "vuolter@gmail.com")
+ __authors__ = [("jeix", "jeix@hasnomail.de"),
+ ("stickell", "l.stickell@yahoo.it"),
+ ("Walter Purcaro", "vuolter@gmail.com")]
+
FILE_INFO_PATTERN = r'site-content">\s*<h1>(?P<N>.+)<strong>\( (?P<S>[^)]+) \)</strong></h1>'
OFFLINE_PATTERN = r'>This file doesn\'t exist, or has been removed.<'
diff --git a/pyload/plugins/hoster/SoundcloudCom.py b/pyload/plugins/hoster/SoundcloudCom.py
index bf8555439..d91ec03e5 100644
--- a/pyload/plugins/hoster/SoundcloudCom.py
+++ b/pyload/plugins/hoster/SoundcloudCom.py
@@ -14,8 +14,7 @@ class SoundcloudCom(Hoster):
__pattern__ = r'https?://(?:www\.)?soundcloud\.com/(?P<UID>.*?)/(?P<SID>.*)'
__description__ = """SoundCloud.com hoster plugin"""
- __author_name__ = "Peekayy"
- __author_mail__ = "peekayy.dev@gmail.com"
+ __authors__ = [("Peekayy", "peekayy.dev@gmail.com")]
def process(self, pyfile):
diff --git a/pyload/plugins/hoster/SpeedLoadOrg.py b/pyload/plugins/hoster/SpeedLoadOrg.py
index 74753b029..cefde2afe 100644
--- a/pyload/plugins/hoster/SpeedLoadOrg.py
+++ b/pyload/plugins/hoster/SpeedLoadOrg.py
@@ -11,8 +11,7 @@ class SpeedLoadOrg(DeadHoster):
__pattern__ = r'http://(?:www\.)?speedload\.org/(?P<ID>\w+)'
__description__ = """Speedload.org hoster plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
getInfo = create_getInfo(SpeedLoadOrg)
diff --git a/pyload/plugins/hoster/SpeedfileCz.py b/pyload/plugins/hoster/SpeedfileCz.py
index 85df88d85..5919f44f7 100644
--- a/pyload/plugins/hoster/SpeedfileCz.py
+++ b/pyload/plugins/hoster/SpeedfileCz.py
@@ -11,8 +11,7 @@ class SpeedfileCz(DeadHoster):
__pattern__ = r'http://(?:www\.)?speedfile.cz/.*'
__description__ = """Speedfile.cz hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
getInfo = create_getInfo(SpeedfileCz)
diff --git a/pyload/plugins/hoster/SpeedyshareCom.py b/pyload/plugins/hoster/SpeedyshareCom.py
index 5dd29dad0..edf935d59 100644
--- a/pyload/plugins/hoster/SpeedyshareCom.py
+++ b/pyload/plugins/hoster/SpeedyshareCom.py
@@ -18,8 +18,7 @@ class SpeedyshareCom(SimpleHoster):
__pattern__ = r"https?://(?:www\.)?(speedyshare\.com|speedy\.sh)/\w+"
__description__ = """Speedyshare.com hoster plugin"""
- __author_name__ = "zapp-brannigan"
- __author_mail__ = "fuerst.reinje@web.de"
+ __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de")]
FILE_NAME_PATTERN = r'class=downloadfilename>(?P<N>.*)</span></td>'
@@ -43,8 +42,8 @@ class SpeedyshareCom(SimpleHoster):
dl_link = urljoin("http://www.speedyshare.com", m.group(1))
self.download(dl_link, disposition=True)
- check = self.checkDownload({'is_html': re.compile("html")})
- if check == "is_html":
+ check = self.checkDownload({'html': re.compile("html")})
+ if check == "html":
self.parseError("Downloaded file is an html file")
diff --git a/pyload/plugins/hoster/StreamCz.py b/pyload/plugins/hoster/StreamCz.py
index 27325e9f1..0a70e3c48 100644
--- a/pyload/plugins/hoster/StreamCz.py
+++ b/pyload/plugins/hoster/StreamCz.py
@@ -28,8 +28,8 @@ class StreamCz(Hoster):
__pattern__ = r'https?://(?:www\.)?stream\.cz/[^/]+/\d+.*'
__description__ = """Stream.cz hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_NAME_PATTERN = r'<link rel="video_src" href="http://www.stream.cz/\w+/(\d+)-([^"]+)" />'
OFFLINE_PATTERN = r'<h1 class="commonTitle">Str.nku nebylo mo.n. nal.zt \(404\)</h1>'
diff --git a/pyload/plugins/hoster/StreamcloudEu.py b/pyload/plugins/hoster/StreamcloudEu.py
index eef5cbb68..82ec94fbd 100644
--- a/pyload/plugins/hoster/StreamcloudEu.py
+++ b/pyload/plugins/hoster/StreamcloudEu.py
@@ -16,8 +16,7 @@ class StreamcloudEu(XFSPHoster):
__pattern__ = r'http://(?:www\.)?streamcloud\.eu/\w{12}'
__description__ = """Streamcloud.eu hoster plugin"""
- __author_name__ = "seoester"
- __author_mail__ = "seoester@googlemail.com"
+ __authors__ = [("seoester", "seoester@googlemail.com")]
HOSTER_NAME = "streamcloud.eu"
diff --git a/pyload/plugins/hoster/TurbobitNet.py b/pyload/plugins/hoster/TurbobitNet.py
index cc9cf16d3..00d95366c 100644
--- a/pyload/plugins/hoster/TurbobitNet.py
+++ b/pyload/plugins/hoster/TurbobitNet.py
@@ -22,8 +22,8 @@ class TurbobitNet(SimpleHoster):
__pattern__ = r'http://(?:www\.)?turbobit\.net/(?:download/free/)?(?P<ID>\w+)'
__description__ = """Turbobit.net hoster plugin"""
- __author_name__ = ("zoidberg", "prOq")
- __author_mail__ = ("zoidberg@mujmail.cz", None)
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("prOq", None)]
FILE_NAME_PATTERN = r'id="file-title">(?P<N>.+?)<'
diff --git a/pyload/plugins/hoster/TurbouploadCom.py b/pyload/plugins/hoster/TurbouploadCom.py
index eb5978145..ce16ebed8 100644
--- a/pyload/plugins/hoster/TurbouploadCom.py
+++ b/pyload/plugins/hoster/TurbouploadCom.py
@@ -11,8 +11,7 @@ class TurbouploadCom(DeadHoster):
__pattern__ = r'http://(?:www\.)?turboupload.com/(\w+).*'
__description__ = """Turboupload.com hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
getInfo = create_getInfo(TurbouploadCom)
diff --git a/pyload/plugins/hoster/TusfilesNet.py b/pyload/plugins/hoster/TusfilesNet.py
index efe3d6de9..f10501250 100644
--- a/pyload/plugins/hoster/TusfilesNet.py
+++ b/pyload/plugins/hoster/TusfilesNet.py
@@ -11,8 +11,8 @@ class TusfilesNet(XFSPHoster):
__pattern__ = r'https?://(?:www\.)?tusfiles\.net/\w{12}'
__description__ = """Tusfiles.net hoster plugin"""
- __author_name__ = ("Walter Purcaro", "guidobelix")
- __author_mail__ = ("vuolter@gmail.com", "guidobelix@hotmail.it")
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com"),
+ ("guidobelix", "guidobelix@hotmail.it")]
HOSTER_NAME = "tusfiles.net"
diff --git a/pyload/plugins/hoster/TwoSharedCom.py b/pyload/plugins/hoster/TwoSharedCom.py
index 108d31c6f..86f02f0b6 100644
--- a/pyload/plugins/hoster/TwoSharedCom.py
+++ b/pyload/plugins/hoster/TwoSharedCom.py
@@ -13,8 +13,8 @@ class TwoSharedCom(SimpleHoster):
__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"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_NAME_PATTERN = r'<h1>(?P<N>.*)</h1>'
FILE_SIZE_PATTERN = r'<span class="dtitle">File size:</span>\s*(?P<S>[0-9,.]+) (?P<U>[kKMG])i?B'
diff --git a/pyload/plugins/hoster/UlozTo.py b/pyload/plugins/hoster/UlozTo.py
index b33c5dd5f..3fecbd672 100644
--- a/pyload/plugins/hoster/UlozTo.py
+++ b/pyload/plugins/hoster/UlozTo.py
@@ -20,8 +20,8 @@ class UlozTo(SimpleHoster):
__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"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_INFO_PATTERN = r'<p>File <strong>(?P<N>[^<]+)</strong> is password protected</p>'
FILE_NAME_PATTERN = r'<title>(?P<N>[^<]+) \| Uloz.to</title>'
diff --git a/pyload/plugins/hoster/UloziskoSk.py b/pyload/plugins/hoster/UloziskoSk.py
index 5bfb2fc77..e68e2686e 100644
--- a/pyload/plugins/hoster/UloziskoSk.py
+++ b/pyload/plugins/hoster/UloziskoSk.py
@@ -13,8 +13,8 @@ class UloziskoSk(SimpleHoster):
__pattern__ = r'http://(?:www\.)?ulozisko.sk/.*'
__description__ = """Ulozisko.sk hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_NAME_PATTERN = r'<div class="down1">(?P<N>[^<]+)</div>'
FILE_SIZE_PATTERN = ur'Veğkosť súboru: <strong>(?P<S>[0-9.]+) (?P<U>[kKMG])i?B</strong><br />'
diff --git a/pyload/plugins/hoster/UnibytesCom.py b/pyload/plugins/hoster/UnibytesCom.py
index 6adfdbae2..326310104 100644
--- a/pyload/plugins/hoster/UnibytesCom.py
+++ b/pyload/plugins/hoster/UnibytesCom.py
@@ -15,8 +15,8 @@ class UnibytesCom(SimpleHoster):
__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"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_INFO_PATTERN = r'<span[^>]*?id="fileName"[^>]*>(?P<N>[^>]+)</span>\s*\((?P<S>\d.*?)\)'
diff --git a/pyload/plugins/hoster/UnrestrictLi.py b/pyload/plugins/hoster/UnrestrictLi.py
index c0d6ddaaa..18d363788 100644
--- a/pyload/plugins/hoster/UnrestrictLi.py
+++ b/pyload/plugins/hoster/UnrestrictLi.py
@@ -26,8 +26,7 @@ class UnrestrictLi(Hoster):
__pattern__ = r'https?://(?:[^/]*\.)?(unrestrict|unr)\.li'
__description__ = """Unrestrict.li hoster plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
def setup(self):
diff --git a/pyload/plugins/hoster/UploadStationCom.py b/pyload/plugins/hoster/UploadStationCom.py
index 4671b2dc5..eaeba3937 100644
--- a/pyload/plugins/hoster/UploadStationCom.py
+++ b/pyload/plugins/hoster/UploadStationCom.py
@@ -11,8 +11,8 @@ class UploadStationCom(DeadHoster):
__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")
+ __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es"),
+ ("zoidberg", "zoidberg@mujmail.cz")]
getInfo = create_getInfo(UploadStationCom)
diff --git a/pyload/plugins/hoster/UploadedTo.py b/pyload/plugins/hoster/UploadedTo.py
index a72a0c1cb..f02b9951d 100644
--- a/pyload/plugins/hoster/UploadedTo.py
+++ b/pyload/plugins/hoster/UploadedTo.py
@@ -99,9 +99,12 @@ class UploadedTo(Hoster):
__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",
- "netpok@gmail.com", "l.stickell@yahoo.it")
+ __authors__ = [("spoob", "spoob@pyload.org"),
+ ("mkaay", "mkaay@mkaay.de"),
+ ("zoidberg", "zoidberg@mujmail.cz"),
+ ("netpok", "netpok@gmail.com"),
+ ("stickell", "l.stickell@yahoo.it")]
+
FILE_INFO_PATTERN = r'<a href="file/(?P<ID>\w+)" id="filename">(?P<N>[^<]+)</a> &nbsp;\s*<small[^>]*>(?P<S>[^<]+)</small>'
OFFLINE_PATTERN = r'<small class="cL">Error: 404</small>'
diff --git a/pyload/plugins/hoster/UploadheroCom.py b/pyload/plugins/hoster/UploadheroCom.py
index 63155a23e..1220fd919 100644
--- a/pyload/plugins/hoster/UploadheroCom.py
+++ b/pyload/plugins/hoster/UploadheroCom.py
@@ -16,8 +16,9 @@ class UploadheroCom(SimpleHoster):
__pattern__ = r'http://(?:www\.)?uploadhero\.com?/dl/\w+'
__description__ = """UploadHero.co plugin"""
- __author_name__ = ("mcmyst", "zoidberg")
- __author_mail__ = ("mcmyst@hotmail.fr", "zoidberg@mujmail.cz")
+ __authors__ = [("mcmyst", "mcmyst@hotmail.fr"),
+ ("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_NAME_PATTERN = r'<div class="nom_de_fichier">(?P<N>.*?)</div>'
FILE_SIZE_PATTERN = r'Taille du fichier : </span><strong>(?P<S>.*?)</strong>'
diff --git a/pyload/plugins/hoster/UploadingCom.py b/pyload/plugins/hoster/UploadingCom.py
index 1df258c4f..9938d4829 100644
--- a/pyload/plugins/hoster/UploadingCom.py
+++ b/pyload/plugins/hoster/UploadingCom.py
@@ -16,8 +16,9 @@ class UploadingCom(SimpleHoster):
__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")
+ __authors__ = [("jeix", "jeix@hasnomail.de"),
+ ("mkaay", "mkaay@mkaay.de"),
+ ("zoidberg", "zoidberg@mujmail.cz")]
FILE_NAME_PATTERN = r'id="file_title">(?P<N>.+)</'
diff --git a/pyload/plugins/hoster/UpstoreNet.py b/pyload/plugins/hoster/UpstoreNet.py
index e1ec93b99..2f05d6ffa 100644
--- a/pyload/plugins/hoster/UpstoreNet.py
+++ b/pyload/plugins/hoster/UpstoreNet.py
@@ -14,8 +14,8 @@ class UpstoreNet(SimpleHoster):
__pattern__ = r'https?://(?:www\.)?upstore\.net/'
__description__ = """Upstore.Net File Download Hoster"""
- __author_name__ = "igel"
- __author_mail__ = "igelkun@myopera.com"
+ __authors__ = [("igel", "igelkun@myopera.com")]
+
FILE_INFO_PATTERN = r'<div class="comment">.*?</div>\s*\n<h2 style="margin:0">(?P<N>.*?)</h2>\s*\n<div class="comment">\s*\n\s*(?P<S>[\d.]+) (?P<U>\w+)'
OFFLINE_PATTERN = r'<span class="error">File not found</span>'
diff --git a/pyload/plugins/hoster/UptoboxCom.py b/pyload/plugins/hoster/UptoboxCom.py
index 437391145..2d6148905 100644
--- a/pyload/plugins/hoster/UptoboxCom.py
+++ b/pyload/plugins/hoster/UptoboxCom.py
@@ -13,8 +13,7 @@ class UptoboxCom(XFSPHoster):
__pattern__ = r'https?://(?:www\.)?uptobox\.com/\w{12}'
__description__ = """Uptobox.com hoster plugin"""
- __author_name__ = "Walter Purcaro"
- __author_mail__ = "vuolter@gmail.com"
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com")]
HOSTER_NAME = "uptobox.com"
diff --git a/pyload/plugins/hoster/VeehdCom.py b/pyload/plugins/hoster/VeehdCom.py
index 429ef8e1b..396588dfd 100644
--- a/pyload/plugins/hoster/VeehdCom.py
+++ b/pyload/plugins/hoster/VeehdCom.py
@@ -15,8 +15,7 @@ class VeehdCom(Hoster):
("replacement_char", "str", "Filename replacement character", "_")]
__description__ = """Veehd.com hoster plugin"""
- __author_name__ = "cat"
- __author_mail__ = "cat@pyload"
+ __authors__ = [("cat", "cat@pyload")]
def _debug(self, msg):
diff --git a/pyload/plugins/hoster/VeohCom.py b/pyload/plugins/hoster/VeohCom.py
index 057db56a3..90e3713f2 100644
--- a/pyload/plugins/hoster/VeohCom.py
+++ b/pyload/plugins/hoster/VeohCom.py
@@ -14,8 +14,8 @@ class VeohCom(SimpleHoster):
__config__ = [("quality", "Low;High;Auto", "Quality", "Auto")]
__description__ = """Veoh.com hoster plugin"""
- __author_name__ = "Walter Purcaro"
- __author_mail__ = "vuolter@gmail.com"
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com")]
+
FILE_NAME_PATTERN = r'<meta name="title" content="(?P<N>.*?)"'
OFFLINE_PATTERN = r'>Sorry, we couldn\'t find the video you were looking for'
diff --git a/pyload/plugins/hoster/VidPlayNet.py b/pyload/plugins/hoster/VidPlayNet.py
index 0de21931a..8c78b8bc1 100644
--- a/pyload/plugins/hoster/VidPlayNet.py
+++ b/pyload/plugins/hoster/VidPlayNet.py
@@ -14,8 +14,8 @@ class VidPlayNet(XFSPHoster):
__pattern__ = r'https?://(?:www\.)?vidplay\.net/\w{12}'
__description__ = """VidPlay.net hoster plugin"""
- __author_name__ = "t4skforce"
- __author_mail__ = "t4skforce1337[AT]gmail[DOT]com"
+ __authors__ = [("t4skforce", "t4skforce1337[AT]gmail[DOT]com")]
+
HOSTER_NAME = "vidplay.net"
diff --git a/pyload/plugins/hoster/VimeoCom.py b/pyload/plugins/hoster/VimeoCom.py
index d5dab556e..a8abf195a 100644
--- a/pyload/plugins/hoster/VimeoCom.py
+++ b/pyload/plugins/hoster/VimeoCom.py
@@ -15,8 +15,8 @@ class VimeoCom(SimpleHoster):
("original", "bool", "Try to download the original file first", True)]
__description__ = """Vimeo.com hoster plugin"""
- __author_name__ = "Walter Purcaro"
- __author_mail__ = "vuolter@gmail.com"
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com")]
+
FILE_NAME_PATTERN = r'<title>(?P<N>.+) on Vimeo<'
OFFLINE_PATTERN = r'class="exception_header"'
diff --git a/pyload/plugins/hoster/Vipleech4uCom.py b/pyload/plugins/hoster/Vipleech4uCom.py
index 436b7d484..03215fffe 100644
--- a/pyload/plugins/hoster/Vipleech4uCom.py
+++ b/pyload/plugins/hoster/Vipleech4uCom.py
@@ -11,8 +11,7 @@ class Vipleech4uCom(DeadHoster):
__pattern__ = r'http://(?:www\.)?vipleech4u\.com/manager\.php'
__description__ = """Vipleech4u.com hoster plugin"""
- __author_name__ = "Kagenoshin"
- __author_mail__ = "kagenoshin@gmx.ch"
+ __authors__ = [("Kagenoshin", "kagenoshin@gmx.ch")]
getInfo = create_getInfo(Vipleech4uCom)
diff --git a/pyload/plugins/hoster/WarserverCz.py b/pyload/plugins/hoster/WarserverCz.py
index 365f0f0fa..9b7f561b5 100644
--- a/pyload/plugins/hoster/WarserverCz.py
+++ b/pyload/plugins/hoster/WarserverCz.py
@@ -11,8 +11,7 @@ class WarserverCz(DeadHoster):
__pattern__ = r'http://(?:www\.)?warserver\.cz/stahnout/\d+'
__description__ = """Warserver.cz hoster plugin"""
- __author_name__ = "Walter Purcaro"
- __author_mail__ = "vuolter@gmail.com"
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com")]
getInfo = create_getInfo(WarserverCz)
diff --git a/pyload/plugins/hoster/WebshareCz.py b/pyload/plugins/hoster/WebshareCz.py
index 6ca8d8882..face27e0a 100644
--- a/pyload/plugins/hoster/WebshareCz.py
+++ b/pyload/plugins/hoster/WebshareCz.py
@@ -29,8 +29,7 @@ class WebshareCz(SimpleHoster):
__pattern__ = r'https?://(?:www\.)?webshare.cz/(?:#/)?file/(?P<ID>\w+)'
__description__ = """WebShare.cz hoster plugin"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
def handleFree(self):
diff --git a/pyload/plugins/hoster/WrzucTo.py b/pyload/plugins/hoster/WrzucTo.py
index 17d568f54..34065284b 100644
--- a/pyload/plugins/hoster/WrzucTo.py
+++ b/pyload/plugins/hoster/WrzucTo.py
@@ -15,8 +15,8 @@ class WrzucTo(SimpleHoster):
__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"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_NAME_PATTERN = r'id="file_info">\s*<strong>(?P<N>.*?)</strong>'
FILE_SIZE_PATTERN = r'class="info">\s*<tr>\s*<td>(?P<S>.*?)</td>'
diff --git a/pyload/plugins/hoster/WuploadCom.py b/pyload/plugins/hoster/WuploadCom.py
index 5bc933ae5..7260b5f1f 100644
--- a/pyload/plugins/hoster/WuploadCom.py
+++ b/pyload/plugins/hoster/WuploadCom.py
@@ -11,8 +11,8 @@ class WuploadCom(DeadHoster):
__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", "")
+ __authors__ = [("jeix", "jeix@hasnomail.de"),
+ ("Paul King", None)]
getInfo = create_getInfo(WuploadCom)
diff --git a/pyload/plugins/hoster/X7To.py b/pyload/plugins/hoster/X7To.py
index 8df1d0ab3..e03502063 100644
--- a/pyload/plugins/hoster/X7To.py
+++ b/pyload/plugins/hoster/X7To.py
@@ -11,8 +11,7 @@ class X7To(DeadHoster):
__pattern__ = r'http://(?:www\.)?x7.to/'
__description__ = """X7.to hoster plugin"""
- __author_name__ = "ernieb"
- __author_mail__ = "ernieb"
+ __authors__ = [("ernieb", "ernieb")]
getInfo = create_getInfo(X7To)
diff --git a/pyload/plugins/hoster/XHamsterCom.py b/pyload/plugins/hoster/XHamsterCom.py
index 77697281d..6d0dbd4d0 100644
--- a/pyload/plugins/hoster/XHamsterCom.py
+++ b/pyload/plugins/hoster/XHamsterCom.py
@@ -25,8 +25,7 @@ class XHamsterCom(Hoster):
__config__ = [("type", ".mp4;.flv", "Preferred type", ".mp4")]
__description__ = """XHamster.com hoster plugin"""
- __author_name__ = None
- __author_mail__ = None
+ __authors__ = []
def process(self, pyfile):
@@ -67,6 +66,8 @@ class XHamsterCom(Hoster):
if flashvars['url_mode']:
url_mode = flashvars['url_mode']
+
+
else:
self.fail("Parse error (url_mode)")
diff --git a/pyload/plugins/hoster/XVideosCom.py b/pyload/plugins/hoster/XVideosCom.py
index c3e555065..723b2acac 100644
--- a/pyload/plugins/hoster/XVideosCom.py
+++ b/pyload/plugins/hoster/XVideosCom.py
@@ -15,8 +15,7 @@ class XVideosCom(Hoster):
__pattern__ = r'http://(?:www\.)?xvideos\.com/video([0-9]+)/.*'
__description__ = """XVideos.com hoster plugin"""
- __author_name__ = None
- __author_mail__ = None
+ __authors__ = []
def process(self, pyfile):
diff --git a/pyload/plugins/hoster/Xdcc.py b/pyload/plugins/hoster/Xdcc.py
index ba798d2c2..c992ada2a 100644
--- a/pyload/plugins/hoster/Xdcc.py
+++ b/pyload/plugins/hoster/Xdcc.py
@@ -24,8 +24,7 @@ class Xdcc(Hoster):
("realname", "str", "Realname", "pyloadreal")]
__description__ = """Download from IRC XDCC bot"""
- __author_name__ = "jeix"
- __author_mail__ = "jeix@hasnomail.com"
+ __authors__ = [("jeix", "jeix@hasnomail.com")]
def setup(self):
diff --git a/pyload/plugins/hoster/YibaishiwuCom.py b/pyload/plugins/hoster/YibaishiwuCom.py
index 24cd0e9fc..9b0244aa2 100644
--- a/pyload/plugins/hoster/YibaishiwuCom.py
+++ b/pyload/plugins/hoster/YibaishiwuCom.py
@@ -14,8 +14,8 @@ class YibaishiwuCom(SimpleHoster):
__pattern__ = r'http://(?:www\.)?(?:u\.)?115.com/file/(?P<ID>\w+)'
__description__ = """115.com hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_NAME_PATTERN = r"file_name: '(?P<N>[^']+)'"
FILE_SIZE_PATTERN = r"file_size: '(?P<S>[^']+)'"
diff --git a/pyload/plugins/hoster/YoupornCom.py b/pyload/plugins/hoster/YoupornCom.py
index 26a9a76e7..a5b9f65ae 100644
--- a/pyload/plugins/hoster/YoupornCom.py
+++ b/pyload/plugins/hoster/YoupornCom.py
@@ -13,8 +13,7 @@ class YoupornCom(Hoster):
__pattern__ = r'http://(?:www\.)?youporn\.com/watch/.+'
__description__ = """Youporn.com hoster plugin"""
- __author_name__ = "willnix"
- __author_mail__ = "willnix@pyload.org"
+ __authors__ = [("willnix", "willnix@pyload.org")]
def process(self, pyfile):
diff --git a/pyload/plugins/hoster/YourfilesTo.py b/pyload/plugins/hoster/YourfilesTo.py
index 7c4157ad5..3bbdf0628 100644
--- a/pyload/plugins/hoster/YourfilesTo.py
+++ b/pyload/plugins/hoster/YourfilesTo.py
@@ -15,8 +15,8 @@ class YourfilesTo(Hoster):
__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")
+ __authors__ = [("jeix", "jeix@hasnomail.de"),
+ ("skydancer", "skydancer@hasnomail.de")]
def process(self, pyfile):
diff --git a/pyload/plugins/hoster/YoutubeCom.py b/pyload/plugins/hoster/YoutubeCom.py
index 610983294..6679974cc 100644
--- a/pyload/plugins/hoster/YoutubeCom.py
+++ b/pyload/plugins/hoster/YoutubeCom.py
@@ -48,8 +48,9 @@ class YoutubeCom(Hoster):
("3d", "bool", "Prefer 3D", False)]
__description__ = """Youtube.com hoster plugin"""
- __author_name__ = ("spoob", "zoidberg")
- __author_mail__ = ("spoob@pyload.org", "zoidberg@mujmail.cz")
+ __authors__ = [("spoob", "spoob@pyload.org"),
+ ("zoidberg", "zoidberg@mujmail.cz")]
+
FILE_URL_REPLACEMENTS = [(r'youtu\.be/', 'youtube.com/')]
diff --git a/pyload/plugins/hoster/ZDF.py b/pyload/plugins/hoster/ZDF.py
index cd1a83c7c..21ee94443 100644
--- a/pyload/plugins/hoster/ZDF.py
+++ b/pyload/plugins/hoster/ZDF.py
@@ -16,8 +16,7 @@ class ZDF(Hoster):
__pattern__ = r'http://(?:www\.)?zdf\.de/ZDFmediathek/[^0-9]*([0-9]+)[^0-9]*'
__description__ = """ZDF.de hoster plugin"""
- __author_name__ = None
- __author_mail__ = None
+ __authors__ = []
XML_API = "http://www.zdf.de/ZDFmediathek/xmlservice/web/beitragsDetails?id=%i"
diff --git a/pyload/plugins/hoster/ZeveraCom.py b/pyload/plugins/hoster/ZeveraCom.py
index 2f46199dc..6f390f0bb 100644
--- a/pyload/plugins/hoster/ZeveraCom.py
+++ b/pyload/plugins/hoster/ZeveraCom.py
@@ -11,8 +11,7 @@ class ZeveraCom(Hoster):
__pattern__ = r'http://(?:www\.)?zevera\.com/.*'
__description__ = """Zevera.com hoster plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
def setup(self):
diff --git a/pyload/plugins/hoster/ZippyshareCom.py b/pyload/plugins/hoster/ZippyshareCom.py
index 60d152455..f8ef1ce43 100644
--- a/pyload/plugins/hoster/ZippyshareCom.py
+++ b/pyload/plugins/hoster/ZippyshareCom.py
@@ -16,8 +16,7 @@ class ZippyshareCom(SimpleHoster):
__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__ = "Walter Purcaro"
- __author_mail__ = "vuolter@gmail.com"
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com")]
FILE_NAME_PATTERN = r'>Name:.+?">(?P<N>.+?)<'
diff --git a/pyload/plugins/internal/AbstractExtractor.py b/pyload/plugins/internal/AbstractExtractor.py
index 39bc46b1e..5a372fd71 100644
--- a/pyload/plugins/internal/AbstractExtractor.py
+++ b/pyload/plugins/internal/AbstractExtractor.py
@@ -17,8 +17,7 @@ class AbtractExtractor:
__version__ = "0.1"
__description__ = """Abtract extractor plugin"""
- __author_name__ = "pyLoad Team"
- __author_mail__ = "admin@pyload.org"
+ __authors__ = [("pyLoad Team", "admin@pyload.org")]
@staticmethod
diff --git a/pyload/plugins/internal/DeadCrypter.py b/pyload/plugins/internal/DeadCrypter.py
index 2d4dfc7e6..9a59677fd 100644
--- a/pyload/plugins/internal/DeadCrypter.py
+++ b/pyload/plugins/internal/DeadCrypter.py
@@ -11,8 +11,7 @@ class DeadCrypter(_Crypter):
__pattern__ = None
__description__ = """Crypter is no longer available"""
- __author_name__ = "stickell"
- __author_mail__ = "l.stickell@yahoo.it"
+ __authors__ = [("stickell", "l.stickell@yahoo.it")]
def setup(self):
diff --git a/pyload/plugins/internal/DeadHoster.py b/pyload/plugins/internal/DeadHoster.py
index 72fd356bd..349296e47 100644
--- a/pyload/plugins/internal/DeadHoster.py
+++ b/pyload/plugins/internal/DeadHoster.py
@@ -19,8 +19,7 @@ class DeadHoster(_Hoster):
__pattern__ = None
__description__ = """Hoster is no longer available"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
def setup(self):
diff --git a/pyload/plugins/internal/MultiHoster.py b/pyload/plugins/internal/MultiHoster.py
index 1781cb17f..087edb6af 100644
--- a/pyload/plugins/internal/MultiHoster.py
+++ b/pyload/plugins/internal/MultiHoster.py
@@ -12,8 +12,8 @@ class MultiHoster(Addon):
__version__ = "0.20"
__description__ = """Generic MultiHoster plugin"""
- __author_name__ = "pyLoad Team"
- __author_mail__ = "admin@pyload.org"
+ __authors__ = [("pyLoad Team", "admin@pyload.org")]
+
replacements = [("2shared.com", "twoshared.com"), ("4shared.com", "fourshared.com"), ("cloudnator.com", "shragle.com"),
("ifile.it", "filecloud.io"), ("easy-share.com", "crocko.com"), ("freakshare.net", "freakshare.com"),
diff --git a/pyload/plugins/internal/SimpleCrypter.py b/pyload/plugins/internal/SimpleCrypter.py
index 454a95e84..6c5c9593f 100644
--- a/pyload/plugins/internal/SimpleCrypter.py
+++ b/pyload/plugins/internal/SimpleCrypter.py
@@ -2,30 +2,32 @@
import re
-from pyload.plugins.base.Crypter import Crypter
+from pyload.plugins.Crypter import Crypter
from pyload.plugins.internal.SimpleHoster import PluginParseError, replace_patterns, set_cookies
-from pyload.utils import html_unescape
+from pyload.utils import fixup, html_unescape
class SimpleCrypter(Crypter):
__name__ = "SimpleCrypter"
__type__ = "crypter"
- __version__ = "0.12"
+ __version__ = "0.13"
__pattern__ = None
__description__ = """Simple decrypter plugin"""
- __author_name__ = ("stickell", "zoidberg", "Walter Purcaro")
- __author_mail__ = ("l.stickell@yahoo.it", "zoidberg@mujmail.cz", "vuolter@gmail.com")
+ __authors__ = [("stickell", "l.stickell@yahoo.it"),
+ ("zoidberg", "zoidberg@mujmail.cz"),
+ ("Walter Purcaro", "vuolter@gmail.com")]
+
"""
Following patterns should be defined by each crypter:
LINK_PATTERN: group(1) must be a download link or a regex to catch more links
- example: LINK_PATTERN = r'<div class="link"><a href="(http://speedload.org/\w+)'
+ example: LINK_PATTERN = r'<div class="link"><a href="(.+?)"'
- TITLE_PATTERN: (optional) The group defined by 'title' should be the folder name or the webpage title
- example: TITLE_PATTERN = r'<title>Files of: (?P<title>[^<]+) folder</title>'
+ TITLE_PATTERN: (optional) group(1) should be the folder name or the webpage title
+ example: TITLE_PATTERN = r'<title>Files of: ([^<]+) folder</title>'
OFFLINE_PATTERN: (optional) Checks if the file is yet available online
example: OFFLINE_PATTERN = r'File (deleted|not found)'
@@ -39,8 +41,8 @@ class SimpleCrypter(Crypter):
If the links are splitted on multiple pages you can define the PAGES_PATTERN regex:
- PAGES_PATTERN: (optional) The group defined by 'pages' should be the number of overall pages containing the links
- example: PAGES_PATTERN = r'Pages: (?P<pages>\d+)'
+ PAGES_PATTERN: (optional) group(1) should be the number of overall pages containing the links
+ example: PAGES_PATTERN = r'Pages: (\d+)'
and its loadPage method:
@@ -48,7 +50,7 @@ class SimpleCrypter(Crypter):
return the html of the page number page_n
"""
-
+ TITLE_REPLACEMENTS = [("&#?\w+;", fixup)]
URL_REPLACEMENTS = []
TEXT_ENCODING = False #: Set to True or encoding name if encoding in http header is not correct
@@ -110,23 +112,28 @@ class SimpleCrypter(Crypter):
def getPackageNameAndFolder(self):
if hasattr(self, 'TITLE_PATTERN'):
- m = re.search(self.TITLE_PATTERN, self.html)
- if m:
- name = folder = html_unescape(m.group('title').strip())
+ try:
+ m = re.search(self.TITLE_PATTERN, self.html)
+ name = replace_patterns(m.group(1).strip(), self.TITLE_REPLACEMENTS)
+ folder = html_unescape(name)
+ except:
+ pass
+ else:
self.logDebug("Found name [%s] and folder [%s] in package info" % (name, folder))
return name, folder
name = self.pyfile.package().name
folder = self.pyfile.package().folder
self.logDebug("Package info not found, defaulting to pyfile name [%s] and folder [%s]" % (name, folder))
+
return name, folder
def handleMultiPages(self):
- pages = re.search(self.PAGES_PATTERN, self.html)
- if pages:
- pages = int(pages.group('pages'))
- else:
+ try:
+ m = re.search(self.PAGES_PATTERN, self.html)
+ pages = int(m.group(1))
+ except:
pages = 1
for p in xrange(2, pages + 1):
diff --git a/pyload/plugins/internal/SimpleHoster.py b/pyload/plugins/internal/SimpleHoster.py
index 8fdff5dd5..bc4cc3c88 100644
--- a/pyload/plugins/internal/SimpleHoster.py
+++ b/pyload/plugins/internal/SimpleHoster.py
@@ -106,15 +106,14 @@ def parseFileInfo(self, url='', html=''):
# File online, return name and size
info['status'] = 2
if 'N' in info:
- info['name'] = replace_patterns(info['N'], self.FILE_NAME_REPLACEMENTS)
+ info['name'] = replace_patterns(info['N'].strip(), self.FILE_NAME_REPLACEMENTS)
if 'S' in info:
size = replace_patterns(info['S'] + info['U'] if 'U' in info else info['S'],
self.FILE_SIZE_REPLACEMENTS)
info['size'] = parseFileSize(size)
elif isinstance(info['size'], basestring):
- if 'units' in info:
- info['size'] += info['units']
- info['size'] = parseFileSize(info['size'])
+ unit = info['units'] if 'units' in info else None
+ info['size'] = parseFileSize(info['size'], unit)
if hasattr(self, "file_info"):
self.file_info = info
@@ -153,13 +152,15 @@ class PluginParseError(Exception):
class SimpleHoster(Hoster):
__name__ = "SimpleHoster"
__type__ = "hoster"
- __version__ = "0.36"
+ __version__ = "0.38"
__pattern__ = None
__description__ = """Simple hoster plugin"""
- __author_name__ = ("zoidberg", "stickell", "Walter Purcaro")
- __author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it", "vuolter@gmail.com")
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("stickell", "l.stickell@yahoo.it"),
+ ("Walter Purcaro", "vuolter@gmail.com")]
+
"""
Following patterns should be defined by each hoster:
@@ -180,6 +181,15 @@ class SimpleHoster(Hoster):
PREMIUM_ONLY_PATTERN: (optional) Checks if the file can be downloaded only with a premium account
example: PREMIUM_ONLY_PATTERN = r'Premium account required'
+
+
+ Instead overriding handleFree and handlePremium methods now you can define patterns for direct download:
+
+ LINK_FREE_PATTERN: (optional) group(1) should be the direct link for free download
+ example: LINK_FREE_PATTERN = r'<div class="link"><a href="(.+?)"'
+
+ LINK_PREMIUM_PATTERN: (optional) group(1) should be the direct link for premium download
+ example: LINK_PREMIUM_PATTERN = r'<div class="link"><a href="(.+?)"'
"""
FILE_NAME_REPLACEMENTS = [("&#?\w+;", fixup)]
@@ -255,11 +265,35 @@ class SimpleHoster(Hoster):
def handleFree(self):
- self.fail("Free download not implemented")
+ if not hasattr(self, 'LINK_FREE_PATTERN'):
+ self.fail("Free download not implemented")
+
+ try:
+ m = re.search(self.LINK_FREE_PATTERN, self.html)
+ if m is None:
+ self.parseError("Free download link not found")
+
+ link = m.group(1)
+ except Exception, e:
+ self.logError(str(e))
+ else:
+ self.download(link, ref=True, cookies=True, disposition=True)
def handlePremium(self):
- self.fail("Premium download not implemented")
+ if not hasattr(self, 'LINK_PREMIUM_PATTERN'):
+ self.fail("Premium download not implemented")
+
+ try:
+ m = re.search(self.LINK_PREMIUM_PATTERN, self.html)
+ if m is None:
+ self.parseError("Premium download link not found")
+
+ link = m.group(1)
+ except Exception, e:
+ self.logError(str(e))
+ else:
+ self.download(link, ref=True, cookies=True, disposition=True)
def parseError(self, msg):
diff --git a/pyload/plugins/internal/UnRar.py b/pyload/plugins/internal/UnRar.py
index 0f54e75b9..df7557d0d 100644
--- a/pyload/plugins/internal/UnRar.py
+++ b/pyload/plugins/internal/UnRar.py
@@ -25,8 +25,7 @@ class UnRar(AbtractExtractor):
__version__ = "0.18"
__description__ = """Rar extractor plugin"""
- __author_name__ = "RaNaN"
- __author_mail__ = "RaNaN@pyload.org"
+ __authors__ = [("RaNaN", "RaNaN@pyload.org")]
CMD = "unrar"
diff --git a/pyload/plugins/internal/UnZip.py b/pyload/plugins/internal/UnZip.py
index 65a5a82bb..0fe50198f 100644
--- a/pyload/plugins/internal/UnZip.py
+++ b/pyload/plugins/internal/UnZip.py
@@ -11,8 +11,7 @@ class UnZip(AbtractExtractor):
__version__ = "0.1"
__description__ = """Zip extractor plugin"""
- __author_name__ = "RaNaN"
- __author_mail__ = "RaNaN@pyload.org"
+ __authors__ = [("RaNaN", "RaNaN@pyload.org")]
@staticmethod
diff --git a/pyload/plugins/internal/UpdateManager.py b/pyload/plugins/internal/UpdateManager.py
index 7848fa2de..f64a1e573 100644
--- a/pyload/plugins/internal/UpdateManager.py
+++ b/pyload/plugins/internal/UpdateManager.py
@@ -23,8 +23,7 @@ class UpdateManager(Addon):
("nodebugupdate", "bool", "Don't check for updates in debug mode", True)]
__description__ = """Check for updates"""
- __author_name__ = "Walter Purcaro"
- __author_mail__ = "vuolter@gmail.com"
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com")]
event_list = ["pluginConfigChanged"]
diff --git a/pyload/plugins/internal/XFSPAccount.py b/pyload/plugins/internal/XFSPAccount.py
index 058fdf2b5..edf6ad3cc 100644
--- a/pyload/plugins/internal/XFSPAccount.py
+++ b/pyload/plugins/internal/XFSPAccount.py
@@ -2,6 +2,7 @@
import re
+from urlparse import urljoin
from time import mktime, strptime
from pyload.plugins.base.Account import Account
@@ -12,62 +13,82 @@ from pyload.utils import parseFileSize
class XFSPAccount(Account):
__name__ = "XFSPAccount"
__type__ = "account"
- __version__ = "0.07"
+ __version__ = "0.09"
__description__ = """XFileSharingPro base account plugin"""
- __author_name__ = "zoidberg"
- __author_mail__ = "zoidberg@mujmail.cz"
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("Walter Purcaro", "vuolter@gmail.com")]
HOSTER_URL = None
COOKIES = None #: or list of tuples [(domain, name, value)]
- VALID_UNTIL_PATTERN = r'>Premium.[Aa]ccount expire:</TD><TD><b>([^<]+)</b>'
- TRAFFIC_LEFT_PATTERN = r'>Traffic available today:</TD><TD><b>([^<]+)</b>'
- LOGIN_FAIL_PATTERN = r'Incorrect Login or Password|>Error<'
- PREMIUM_PATTERN = r'>Renew premium<'
+ VALID_UNTIL_PATTERN = r'>Premium.[Aa]ccount expire:.*?<b>(.+?)</b>'
+ TRAFFIC_LEFT_PATTERN = r'>Traffic available today:.*?<b>(?P<S>.+?)</b>'
+ LOGIN_FAIL_PATTERN = r'>(Incorrect Login or Password|Error<)'
+ # PREMIUM_PATTERN = r'>Renew premium<'
def loadAccountInfo(self, user, req):
- html = req.load(self.HOSTER_URL + "?op=my_account", decode=True)
+ html = req.load(self.HOSTER_URL, get={'op': "my_account"}, decode=True)
- validuntil = trafficleft = None
- premium = True if re.search(self.PREMIUM_PATTERN, html) else False
+ validuntil = None
+ trafficleft = None
+ premium = None
+
+ if hasattr(self, "PREMIUM_PATTERN"):
+ premium = True if re.search(self.PREMIUM_PATTERN, html) else False
m = re.search(self.VALID_UNTIL_PATTERN, html)
if m:
- premium = True
- trafficleft = -1
+ expiredate = m.group(1)
+ self.logDebug("Expire date: " + expiredate)
+
try:
- self.logDebug(m.group(1))
- validuntil = mktime(strptime(m.group(1), "%d %B %Y"))
+ validuntil = mktime(strptime(expiredate, "%d %B %Y"))
except Exception, e:
self.logError(e)
- else:
- m = re.search(self.TRAFFIC_LEFT_PATTERN, html)
- if m:
- trafficleft = m.group(1)
- if "Unlimited" in trafficleft:
+ else:
+ if validuntil > mktime(gmtime()):
premium = True
+ trafficleft = -1
else:
- trafficleft = parseFileSize(trafficleft) / 1024
+ if premium is False: #: registered account type (not premium)
+ validuntil = -1
+ premium = False
+
+ try:
+ traffic = re.search(self.TRAFFIC_LEFT_PATTERN, html).groupdict()
+ trafficsize = traffic['S'] + traffic['U'] if 'U' in traffic else traffic['S']
+ if "Unlimited" in trafficsize:
+ trafficleft = -1
+ if premium is None:
+ premium = True
+ else:
+ trafficleft = parseFileSize(trafficsize)
+ except:
+ pass
+
+ if premium is None:
+ premium = False
- return {"validuntil": validuntil, "trafficleft": trafficleft, "premium": premium}
+ return {'validuntil': validuntil, 'trafficleft': trafficleft, 'premium': premium}
def login(self, user, data, req):
set_cookies(req.cj, self.COOKIES)
- html = req.load('%slogin.html' % self.HOSTER_URL, decode=True)
+ url = urljoin(self.HOSTER_URL, "login.html")
+ html = req.load(url, decode=True)
action, inputs = parseHtmlForm('name="FL"', html)
if not inputs:
- inputs = {"op": "login",
- "redirect": self.HOSTER_URL}
+ inputs = {'op': "login",
+ 'redirect': self.HOSTER_URL}
- inputs.update({"login": user,
- "password": data['password']})
+ inputs.update({'login': user,
+ 'password': data['password']})
html = req.load(self.HOSTER_URL, post=inputs, decode=True)
diff --git a/pyload/plugins/internal/XFSPHoster.py b/pyload/plugins/internal/XFSPHoster.py
index 3adae43c5..ae8065732 100644
--- a/pyload/plugins/internal/XFSPHoster.py
+++ b/pyload/plugins/internal/XFSPHoster.py
@@ -26,8 +26,9 @@ class XFSPHoster(SimpleHoster):
__pattern__ = r'^unmatchable$'
__description__ = """XFileSharingPro base hoster plugin"""
- __author_name__ = ("zoidberg", "stickell", "Walter Purcaro")
- __author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it", "vuolter@gmail.com")
+ __authors__ = [("zoidberg", "zoidberg@mujmail.cz"),
+ ("stickell", "l.stickell@yahoo.it"),
+ ("Walter Purcaro", "vuolter@gmail.com")]
HOSTER_NAME = None
@@ -242,7 +243,7 @@ class XFSPHoster(SimpleHoster):
self.retry(25)
elif 'countdown' in self.errmsg or 'Expired' in self.errmsg:
self.retry()
- elif 'maintenance' in self.errmsg:
+ elif 'maintenance' in self.errmsg or 'maintainance' in self.errmsg:
self.tempOffline()
elif 'download files up to' in self.errmsg:
self.fail("File too large for free download")
diff --git a/pyload/plugins/ocr/GigasizeCom.py b/pyload/plugins/ocr/GigasizeCom.py
index 424a23790..6fe6ffa2d 100644
--- a/pyload/plugins/ocr/GigasizeCom.py
+++ b/pyload/plugins/ocr/GigasizeCom.py
@@ -9,8 +9,7 @@ class GigasizeCom(OCR):
__version__ = "0.1"
__description__ = """Gigasize.com ocr plugin"""
- __author_name__ = "pyLoad Team"
- __author_mail__ = "admin@pyload.org"
+ __authors__ = [("pyLoad Team", "admin@pyload.org")]
def __init__(self):
diff --git a/pyload/plugins/ocr/LinksaveIn.py b/pyload/plugins/ocr/LinksaveIn.py
index 98906abbe..10f7354d9 100644
--- a/pyload/plugins/ocr/LinksaveIn.py
+++ b/pyload/plugins/ocr/LinksaveIn.py
@@ -1,7 +1,11 @@
# -*- coding: utf-8 -*-
+try:
+ from PIL import Image
+except ImportError:
+ import Image
+
from glob import glob
-from PIL import Image
from os import sep
from os.path import abspath, dirname
@@ -14,8 +18,7 @@ class LinksaveIn(OCR):
__version__ = "0.1"
__description__ = """Linksave.in ocr plugin"""
- __author_name__ = "pyLoad Team"
- __author_mail__ = "admin@pyload.org"
+ __authors__ = [("pyLoad Team", "admin@pyload.org")]
def __init__(self):
diff --git a/pyload/plugins/ocr/NetloadIn.py b/pyload/plugins/ocr/NetloadIn.py
index 7ea9f6671..05798c14e 100644
--- a/pyload/plugins/ocr/NetloadIn.py
+++ b/pyload/plugins/ocr/NetloadIn.py
@@ -9,8 +9,7 @@ class NetloadIn(OCR):
__version__ = "0.1"
__description__ = """Netload.in ocr plugin"""
- __author_name__ = "pyLoad Team"
- __author_mail__ = "admin@pyload.org"
+ __authors__ = [("pyLoad Team", "admin@pyload.org")]
def __init__(self):
diff --git a/pyload/plugins/ocr/ShareonlineBiz.py b/pyload/plugins/ocr/ShareonlineBiz.py
index 1410ccfd5..4839a3e0c 100644
--- a/pyload/plugins/ocr/ShareonlineBiz.py
+++ b/pyload/plugins/ocr/ShareonlineBiz.py
@@ -9,8 +9,7 @@ class ShareonlineBiz(OCR):
__version__ = "0.1"
__description__ = """Shareonline.biz ocr plugin"""
- __author_name__ = "RaNaN"
- __author_mail__ = "RaNaN@pyload.org"
+ __authors__ = [("RaNaN", "RaNaN@pyload.org")]
def __init__(self):