summaryrefslogtreecommitdiffstats
path: root/module/plugins/crypter
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/crypter')
-rw-r--r--module/plugins/crypter/BitshareComFolder.py16
-rw-r--r--module/plugins/crypter/C1NeonCom.py7
-rw-r--r--module/plugins/crypter/ChipDe.py14
-rw-r--r--module/plugins/crypter/CloudzillaToFolder.py16
-rw-r--r--module/plugins/crypter/CrockoComFolder.py16
-rw-r--r--module/plugins/crypter/CryptItCom.py7
-rw-r--r--module/plugins/crypter/CzshareComFolder.py14
-rw-r--r--module/plugins/crypter/DailymotionComFolder.py18
-rw-r--r--module/plugins/crypter/DataHuFolder.py16
-rw-r--r--module/plugins/crypter/DdlstorageComFolder.py7
-rw-r--r--module/plugins/crypter/DepositfilesComFolder.py16
-rw-r--r--module/plugins/crypter/Dereferer.py11
-rw-r--r--module/plugins/crypter/DevhostStFolder.py16
-rw-r--r--module/plugins/crypter/DlProtectCom.py27
-rw-r--r--module/plugins/crypter/DuckCryptInfo.py14
-rw-r--r--module/plugins/crypter/DuploadOrgFolder.py7
-rw-r--r--module/plugins/crypter/EasybytezComFolder.py16
-rw-r--r--module/plugins/crypter/EmbeduploadCom.py22
-rw-r--r--module/plugins/crypter/FilebeerInfoFolder.py7
-rw-r--r--module/plugins/crypter/FilecloudIoFolder.py16
-rw-r--r--module/plugins/crypter/FilecryptCc.py18
-rw-r--r--module/plugins/crypter/FilefactoryComFolder.py16
-rw-r--r--module/plugins/crypter/FilerNetFolder.py16
-rw-r--r--module/plugins/crypter/FileserveComFolder.py14
-rw-r--r--module/plugins/crypter/FilesonicComFolder.py7
-rw-r--r--module/plugins/crypter/FilestubeCom.py16
-rw-r--r--module/plugins/crypter/FiletramCom.py16
-rw-r--r--module/plugins/crypter/FiredriveComFolder.py7
-rw-r--r--module/plugins/crypter/FourChanOrg.py14
-rw-r--r--module/plugins/crypter/FreakhareComFolder.py16
-rw-r--r--module/plugins/crypter/FreetexthostCom.py16
-rw-r--r--module/plugins/crypter/FshareVnFolder.py16
-rw-r--r--module/plugins/crypter/FurLy.py16
-rwxr-xr-xmodule/plugins/crypter/Go4UpCom.py22
-rw-r--r--module/plugins/crypter/GooGl.py18
-rw-r--r--module/plugins/crypter/GoogledriveComFolder.py16
-rw-r--r--module/plugins/crypter/HflixIn.py15
-rw-r--r--module/plugins/crypter/HoerbuchIn.py14
-rw-r--r--module/plugins/crypter/HotfileComFolder.py7
-rw-r--r--module/plugins/crypter/ILoadTo.py7
-rw-r--r--module/plugins/crypter/ImgurCom.py30
-rw-r--r--module/plugins/crypter/ImgurComAlbum.py34
-rw-r--r--module/plugins/crypter/JDlist.py14
-rw-r--r--module/plugins/crypter/LetitbitNetFolder.py14
-rw-r--r--module/plugins/crypter/LinkCryptWs.py40
-rw-r--r--module/plugins/crypter/LinkSaveIn.py16
-rw-r--r--module/plugins/crypter/LinkdecrypterCom.py9
-rw-r--r--module/plugins/crypter/LixIn.py14
-rw-r--r--module/plugins/crypter/LofCc.py7
-rw-r--r--module/plugins/crypter/MBLinkInfo.py7
-rw-r--r--module/plugins/crypter/MediafireComFolder.py33
-rw-r--r--module/plugins/crypter/MegaCoNzFolder.py14
-rw-r--r--module/plugins/crypter/MegaRapidCzFolder.py16
-rw-r--r--module/plugins/crypter/MegauploadComFolder.py7
-rw-r--r--module/plugins/crypter/Movie2KTo.py7
-rw-r--r--module/plugins/crypter/MultiUpOrg.py16
-rw-r--r--module/plugins/crypter/MultiloadCz.py11
-rw-r--r--module/plugins/crypter/MultiuploadCom.py7
-rw-r--r--module/plugins/crypter/NCryptIn.py64
-rw-r--r--module/plugins/crypter/NetfolderIn.py7
-rw-r--r--module/plugins/crypter/NitroflareComFolder.py29
-rw-r--r--module/plugins/crypter/NosvideoCom.py16
-rw-r--r--module/plugins/crypter/OronComFolder.py7
-rw-r--r--module/plugins/crypter/PastebinCom.py16
-rw-r--r--module/plugins/crypter/PastedCo.py13
-rw-r--r--module/plugins/crypter/QuickshareCzFolder.py14
-rw-r--r--module/plugins/crypter/RSLayerCom.py7
-rw-r--r--module/plugins/crypter/RelinkUs.py54
-rw-r--r--module/plugins/crypter/SafelinkingNet.py18
-rw-r--r--module/plugins/crypter/SecuredIn.py7
-rw-r--r--module/plugins/crypter/SexuriaCom.py17
-rw-r--r--module/plugins/crypter/ShSt.py7
-rw-r--r--module/plugins/crypter/ShareLinksBiz.py50
-rw-r--r--module/plugins/crypter/SharingmatrixComFolder.py7
-rw-r--r--module/plugins/crypter/SpeedLoadOrgFolder.py7
-rw-r--r--module/plugins/crypter/StealthTo.py7
-rw-r--r--module/plugins/crypter/TNTVillageScambioeticoOrg.py16
-rw-r--r--module/plugins/crypter/TinyurlCom.py16
-rw-r--r--module/plugins/crypter/TnyCz.py16
-rw-r--r--module/plugins/crypter/TrailerzoneInfo.py7
-rw-r--r--module/plugins/crypter/TurbobitNetFolder.py18
-rw-r--r--module/plugins/crypter/TusfilesNetFolder.py16
-rw-r--r--module/plugins/crypter/UlozToFolder.py14
-rw-r--r--module/plugins/crypter/UploadableChFolder.py16
-rw-r--r--module/plugins/crypter/UploadedToFolder.py16
-rw-r--r--module/plugins/crypter/WiiReloadedOrg.py7
-rw-r--r--module/plugins/crypter/WuploadComFolder.py7
-rw-r--r--module/plugins/crypter/XFileSharingFolder.py18
-rw-r--r--module/plugins/crypter/XupPl.py14
-rw-r--r--module/plugins/crypter/YoutubeComFolder.py26
90 files changed, 554 insertions, 866 deletions
diff --git a/module/plugins/crypter/BitshareComFolder.py b/module/plugins/crypter/BitshareComFolder.py
index c1c4a915b..ab7cec80a 100644
--- a/module/plugins/crypter/BitshareComFolder.py
+++ b/module/plugins/crypter/BitshareComFolder.py
@@ -1,20 +1,19 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class BitshareComFolder(SimpleCrypter):
__name__ = "BitshareComFolder"
__type__ = "crypter"
- __version__ = "0.08"
+ __version__ = "0.09"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?bitshare\.com/\?d=\w+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Bitshare.com folder decrypter plugin"""
__license__ = "GPLv3"
@@ -23,6 +22,3 @@ class BitshareComFolder(SimpleCrypter):
LINK_PATTERN = r'<a href="(http://bitshare\.com/files/.+)">.+</a></td>'
NAME_PATTERN = r'View public folder "(?P<N>.+?)"</h1>'
-
-
-getInfo = create_getInfo(BitshareComFolder)
diff --git a/module/plugins/crypter/C1NeonCom.py b/module/plugins/crypter/C1NeonCom.py
index de0868fa1..b00fa1eae 100644
--- a/module/plugins/crypter/C1NeonCom.py
+++ b/module/plugins/crypter/C1NeonCom.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class C1NeonCom(DeadCrypter):
__name__ = "C1NeonCom"
__type__ = "crypter"
- __version__ = "0.08"
+ __version__ = "0.09"
__status__ = "stable"
__pattern__ = r'http://(?:www\.)?c1neon\.com/.+'
@@ -15,6 +15,3 @@ class C1NeonCom(DeadCrypter):
__description__ = """C1neon.com decrypter plugin"""
__license__ = "GPLv3"
__authors__ = [("godofdream", "soilfiction@gmail.com")]
-
-
-getInfo = create_getInfo(C1NeonCom)
diff --git a/module/plugins/crypter/ChipDe.py b/module/plugins/crypter/ChipDe.py
index ced06fe0c..66ef9c5bf 100644
--- a/module/plugins/crypter/ChipDe.py
+++ b/module/plugins/crypter/ChipDe.py
@@ -2,20 +2,19 @@
import re
-from module.plugins.internal.Crypter import Crypter, create_getInfo
+from module.plugins.internal.Crypter import Crypter
class ChipDe(Crypter):
__name__ = "ChipDe"
__type__ = "crypter"
- __version__ = "0.14"
+ __version__ = "0.15"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?chip\.de/video/.+\.html'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available", True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default")]
__description__ = """Chip.de decrypter plugin"""
__license__ = "GPLv3"
@@ -33,6 +32,3 @@ class ChipDe(Crypter):
else:
self.links = [f.group(1)]
self.log_debug("The file URL is %s" % self.links[0])
-
-
-getInfo = create_getInfo(ChipDe)
diff --git a/module/plugins/crypter/CloudzillaToFolder.py b/module/plugins/crypter/CloudzillaToFolder.py
index e8a2b5525..22f477300 100644
--- a/module/plugins/crypter/CloudzillaToFolder.py
+++ b/module/plugins/crypter/CloudzillaToFolder.py
@@ -2,21 +2,20 @@
import re
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class CloudzillaToFolder(SimpleCrypter):
__name__ = "CloudzillaToFolder"
__type__ = "crypter"
- __version__ = "0.08"
+ __version__ = "0.09"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?cloudzilla\.to/share/folder/(?P<ID>[\w^_]+)'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Cloudzilla.to folder decrypter plugin"""
__license__ = "GPLv3"
@@ -38,6 +37,3 @@ class CloudzillaToFolder(SimpleCrypter):
if re.search(self.PASSWORD_PATTERN, self.data):
self.retry(msg="Wrong password")
-
-
-getInfo = create_getInfo(CloudzillaToFolder)
diff --git a/module/plugins/crypter/CrockoComFolder.py b/module/plugins/crypter/CrockoComFolder.py
index b6d3ba214..c07773c0d 100644
--- a/module/plugins/crypter/CrockoComFolder.py
+++ b/module/plugins/crypter/CrockoComFolder.py
@@ -1,20 +1,19 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class CrockoComFolder(SimpleCrypter):
__name__ = "CrockoComFolder"
__type__ = "crypter"
- __version__ = "0.05"
+ __version__ = "0.06"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?crocko\.com/f/.+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Crocko.com folder decrypter plugin"""
__license__ = "GPLv3"
@@ -22,6 +21,3 @@ class CrockoComFolder(SimpleCrypter):
LINK_PATTERN = r'<td class="last"><a href="(.+?)">download</a>'
-
-
-getInfo = create_getInfo(CrockoComFolder)
diff --git a/module/plugins/crypter/CryptItCom.py b/module/plugins/crypter/CryptItCom.py
index 742483017..c30595f29 100644
--- a/module/plugins/crypter/CryptItCom.py
+++ b/module/plugins/crypter/CryptItCom.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class CryptItCom(DeadCrypter):
__name__ = "CryptItCom"
__type__ = "crypter"
- __version__ = "0.14"
+ __version__ = "0.15"
__status__ = "stable"
__pattern__ = r'http://(?:www\.)?crypt-it\.com/(s|e|d|c)/\w+'
@@ -15,6 +15,3 @@ class CryptItCom(DeadCrypter):
__description__ = """Crypt-it.com decrypter plugin"""
__license__ = "GPLv3"
__authors__ = [("jeix", "jeix@hasnomail.de")]
-
-
-getInfo = create_getInfo(CryptItCom)
diff --git a/module/plugins/crypter/CzshareComFolder.py b/module/plugins/crypter/CzshareComFolder.py
index 07c8471d5..4bf2c2a8e 100644
--- a/module/plugins/crypter/CzshareComFolder.py
+++ b/module/plugins/crypter/CzshareComFolder.py
@@ -2,20 +2,19 @@
import re
-from module.plugins.internal.Crypter import Crypter, create_getInfo
+from module.plugins.internal.Crypter import Crypter
class CzshareComFolder(Crypter):
__name__ = "CzshareComFolder"
__type__ = "crypter"
- __version__ = "0.25"
+ __version__ = "0.26"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/folders/.+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available", True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default")]
__description__ = """Czshare.com folder decrypter plugin, now Sdilej.cz"""
__license__ = "GPLv3"
@@ -34,6 +33,3 @@ class CzshareComFolder(Crypter):
self.error(_("FOLDER_PATTERN not found"))
self.links.extend(re.findall(self.LINK_PATTERN, m.group(1)))
-
-
-getInfo = create_getInfo(CzshareComFolder)
diff --git a/module/plugins/crypter/DailymotionComFolder.py b/module/plugins/crypter/DailymotionComFolder.py
index 35db79a0d..04eb4d939 100644
--- a/module/plugins/crypter/DailymotionComFolder.py
+++ b/module/plugins/crypter/DailymotionComFolder.py
@@ -3,21 +3,20 @@
import re
import urlparse
-from module.plugins.internal.Crypter import Crypter, create_getInfo
-from module.plugins.internal.utils import fs_join, json
+from module.plugins.internal.Crypter import Crypter
+from module.plugins.internal.misc import fsjoin, json
class DailymotionComFolder(Crypter):
__name__ = "DailymotionComFolder"
__type__ = "crypter"
- __version__ = "0.06"
+ __version__ = "0.07"
__status__ = "testing"
__pattern__ = r'https?://(?:www\.)?dailymotion\.com/((playlists/)?(?P<TYPE>playlist|user)/)?(?P<ID>[\w^_]+)(?(TYPE)|#)'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available", True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default")]
__description__ = """Dailymotion.com channel & playlist decrypter"""
__license__ = "GPLv3"
@@ -101,9 +100,6 @@ class DailymotionComFolder(Crypter):
for p_id, p_name, p_owner in playlists:
p_videos = self.get_videos(p_id)
- p_folder = fs_join(self.pyload.config.get("general", "download_folder"), p_owner, p_name)
+ p_folder = fsjoin(self.pyload.config.get("general", "download_folder"), p_owner, p_name)
self.log_debug("%s video\s found on playlist \"%s\"" % (len(p_videos), p_name))
self.packages.append((p_name, p_videos, p_folder)) #@NOTE: Folder is NOT recognized by pyload 0.4.9!
-
-
-getInfo = create_getInfo(DailymotionComFolder)
diff --git a/module/plugins/crypter/DataHuFolder.py b/module/plugins/crypter/DataHuFolder.py
index ff8ae6b74..270a41b3c 100644
--- a/module/plugins/crypter/DataHuFolder.py
+++ b/module/plugins/crypter/DataHuFolder.py
@@ -2,21 +2,20 @@
import re
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class DataHuFolder(SimpleCrypter):
__name__ = "DataHuFolder"
__type__ = "crypter"
- __version__ = "0.11"
+ __version__ = "0.12"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?data\.hu/dir/\w+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Data.hu folder decrypter plugin"""
__license__ = "GPLv3"
@@ -42,6 +41,3 @@ class DataHuFolder(SimpleCrypter):
if u'Hib\xe1s jelsz\xf3' in self.data: #: Wrong password
self.fail(_("Wrong password"))
-
-
-getInfo = create_getInfo(DataHuFolder)
diff --git a/module/plugins/crypter/DdlstorageComFolder.py b/module/plugins/crypter/DdlstorageComFolder.py
index cf0b72071..62751503b 100644
--- a/module/plugins/crypter/DdlstorageComFolder.py
+++ b/module/plugins/crypter/DdlstorageComFolder.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class DdlstorageComFolder(DeadCrypter):
__name__ = "DdlstorageComFolder"
__type__ = "crypter"
- __version__ = "0.07"
+ __version__ = "0.08"
__status__ = "stable"
__pattern__ = r'https?://(?:www\.)?ddlstorage\.com/folder/\w+'
@@ -16,6 +16,3 @@ class DdlstorageComFolder(DeadCrypter):
__license__ = "GPLv3"
__authors__ = [("godofdream", "soilfiction@gmail.com"),
("stickell", "l.stickell@yahoo.it")]
-
-
-getInfo = create_getInfo(DdlstorageComFolder)
diff --git a/module/plugins/crypter/DepositfilesComFolder.py b/module/plugins/crypter/DepositfilesComFolder.py
index 5b5a096ea..e34b07486 100644
--- a/module/plugins/crypter/DepositfilesComFolder.py
+++ b/module/plugins/crypter/DepositfilesComFolder.py
@@ -1,20 +1,19 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class DepositfilesComFolder(SimpleCrypter):
__name__ = "DepositfilesComFolder"
__type__ = "crypter"
- __version__ = "0.05"
+ __version__ = "0.06"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?depositfiles\.com/folders/\w+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Depositfiles.com folder decrypter plugin"""
__license__ = "GPLv3"
@@ -22,6 +21,3 @@ class DepositfilesComFolder(SimpleCrypter):
LINK_PATTERN = r'<div class="progressName".*?>\s*<a href="(.+?)" title=".+?" target="_blank">'
-
-
-getInfo = create_getInfo(DepositfilesComFolder)
diff --git a/module/plugins/crypter/Dereferer.py b/module/plugins/crypter/Dereferer.py
index 8581134c0..52898eb62 100644
--- a/module/plugins/crypter/Dereferer.py
+++ b/module/plugins/crypter/Dereferer.py
@@ -8,15 +8,14 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter
class Dereferer(SimpleCrypter):
__name__ = "Dereferer"
__type__ = "crypter"
- __version__ = "0.24"
+ __version__ = "0.25"
__status__ = "testing"
__pattern__ = r'https?://(?:www\.)?(?:\w+\.)*?(?P<DOMAIN>(?:[\d.]+|[\w\-]{3,63}(?:\.[a-zA-Z]{2,}){1,2})(?:\:\d+)?)/.*?(?P<LINK>[\w^_]+://.+)'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Universal link dereferer"""
__license__ = "GPLv3"
diff --git a/module/plugins/crypter/DevhostStFolder.py b/module/plugins/crypter/DevhostStFolder.py
index 68c069cfc..0d6753baa 100644
--- a/module/plugins/crypter/DevhostStFolder.py
+++ b/module/plugins/crypter/DevhostStFolder.py
@@ -6,21 +6,20 @@
import re
import urlparse
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class DevhostStFolder(SimpleCrypter):
__name__ = "DevhostStFolder"
__type__ = "crypter"
- __version__ = "0.09"
+ __version__ = "0.10"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?d-h\.st/users/(?P<USER>\w+)(/\?fld_id=(?P<ID>\d+))?'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """D-h.st folder decrypter plugin"""
__license__ = "GPLv3"
@@ -63,6 +62,3 @@ class DevhostStFolder(SimpleCrypter):
self.log_debug("File name: %s" % self.pyfile.name,
"File folder: %s" % self.pyfile.name)
-
-
-getInfo = create_getInfo(DevhostStFolder)
diff --git a/module/plugins/crypter/DlProtectCom.py b/module/plugins/crypter/DlProtectCom.py
index 874815eee..c9c28ba48 100644
--- a/module/plugins/crypter/DlProtectCom.py
+++ b/module/plugins/crypter/DlProtectCom.py
@@ -1,26 +1,23 @@
# -*- coding: utf-8 -*-
+import base64
import re
import time
-import base64
-from base64 import urlsafe_b64encode
-
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class DlProtectCom(SimpleCrypter):
__name__ = "DlProtectCom"
__type__ = "crypter"
- __version__ = "0.08"
+ __version__ = "0.09"
__status__ = "testing"
__pattern__ = r'https?://(?:www\.)?dl-protect\.com/((en|fr)/)?\w+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Dl-protect.com decrypter plugin"""
__license__ = "GPLv3"
@@ -31,6 +28,7 @@ class DlProtectCom(SimpleCrypter):
OFFLINE_PATTERN = r'Unfortunately, the link you are looking for is not found'
+
# Information decoding
# For test purposes
def info_decode(self, i):
@@ -43,7 +41,7 @@ class DlProtectCom(SimpleCrypter):
i = base64.b64decode(i)
# Split information
infos = i.split('|')
- assert(len(infos) == 4)
+ assert(len(infos) is 4)
res = infos[0]
user_agent = infos[1]
plugins = [x.split(';') for x in infos[2].split('&')]
@@ -72,7 +70,7 @@ class DlProtectCom(SimpleCrypter):
# Sample configuration
def conf(self):
- useragent = self.get_config('useragent', plugin="UserAgentSwitcher")
+ useragent = self.pyload.api.getConfigValue("UserAgentSwitcher", "useragent", "plugin")
conf = {'res': '1280x611x24',
'java': True,
'user_agent': useragent,
@@ -98,7 +96,7 @@ class DlProtectCom(SimpleCrypter):
else:
mstime = int(round(time.time() * 1000))
- b64time = "_" + urlsafe_b64encode(str(mstime)).replace("=", "%3D")
+ b64time = "_" + base64.urlsafe_b64encode(str(mstime)).replace("=", "%3D")
post_req.update({'i' : b64time,
'submitform': "Decrypt+link"})
@@ -124,6 +122,3 @@ class DlProtectCom(SimpleCrypter):
# Filters interesting urls from ads
return re.findall(r'<a href="(?P<id>[^/].+?)" target="_blank">(?P=id)</a>', self.data)
-
-
-getInfo = create_getInfo(DlProtectCom)
diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py
index c12ffc977..d16a0287d 100644
--- a/module/plugins/crypter/DuckCryptInfo.py
+++ b/module/plugins/crypter/DuckCryptInfo.py
@@ -4,20 +4,19 @@ import re
import BeautifulSoup
-from module.plugins.internal.Crypter import Crypter, create_getInfo
+from module.plugins.internal.Crypter import Crypter
class DuckCryptInfo(Crypter):
__name__ = "DuckCryptInfo"
__type__ = "crypter"
- __version__ = "0.06"
+ __version__ = "0.07"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?duckcrypt\.info/(folder|wait|link)/(\w+)/?(\w*)'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available", True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default")]
__description__ = """DuckCrypt.info decrypter plugin"""
__license__ = "GPLv3"
@@ -60,6 +59,3 @@ class DuckCryptInfo(Crypter):
self.links = [soup.find("iframe")['src']]
if not self.links:
self.log_info(_("No link found"))
-
-
-getInfo = create_getInfo(DuckCryptInfo)
diff --git a/module/plugins/crypter/DuploadOrgFolder.py b/module/plugins/crypter/DuploadOrgFolder.py
index 897736669..3f96012ca 100644
--- a/module/plugins/crypter/DuploadOrgFolder.py
+++ b/module/plugins/crypter/DuploadOrgFolder.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class DuploadOrgFolder(DeadCrypter):
__name__ = "DuploadOrgFolder"
__type__ = "crypter"
- __version__ = "0.06"
+ __version__ = "0.07"
__status__ = "stable"
__pattern__ = r'http://(?:www\.)?dupload\.org/folder/\d+'
@@ -15,6 +15,3 @@ class DuploadOrgFolder(DeadCrypter):
__description__ = """Dupload.org folder decrypter plugin"""
__license__ = "GPLv3"
__authors__ = [("stickell", "l.stickell@yahoo.it")]
-
-
-getInfo = create_getInfo(DuploadOrgFolder)
diff --git a/module/plugins/crypter/EasybytezComFolder.py b/module/plugins/crypter/EasybytezComFolder.py
index 9fa2740b8..ef874dc1e 100644
--- a/module/plugins/crypter/EasybytezComFolder.py
+++ b/module/plugins/crypter/EasybytezComFolder.py
@@ -1,20 +1,19 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.XFSCrypter import XFSCrypter, create_getInfo
+from module.plugins.internal.XFSCrypter import XFSCrypter
class EasybytezComFolder(XFSCrypter):
__name__ = "EasybytezComFolder"
__type__ = "crypter"
- __version__ = "0.15"
+ __version__ = "0.16"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?easybytez\.com/users/\d+/\d+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Easybytez.com folder decrypter plugin"""
__license__ = "GPLv3"
@@ -24,6 +23,3 @@ class EasybytezComFolder(XFSCrypter):
PLUGIN_DOMAIN = "easybytez.com"
LOGIN_ACCOUNT = True
-
-
-getInfo = create_getInfo(EasybytezComFolder)
diff --git a/module/plugins/crypter/EmbeduploadCom.py b/module/plugins/crypter/EmbeduploadCom.py
index 4e232f38e..b0805aa80 100644
--- a/module/plugins/crypter/EmbeduploadCom.py
+++ b/module/plugins/crypter/EmbeduploadCom.py
@@ -2,23 +2,22 @@
import re
-from module.plugins.internal.Crypter import Crypter, create_getInfo
+from module.plugins.internal.Crypter import Crypter
from module.network.HTTPRequest import BadHeader
class EmbeduploadCom(Crypter):
__name__ = "EmbeduploadCom"
__type__ = "crypter"
- __version__ = "0.06"
+ __version__ = "0.07"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?embedupload\.com/\?d=.+'
- __config__ = [("activated" , "bool", "Activated" , True ),
- ("use_premium" , "bool", "Use premium account if available" , True ),
- ("use_subfolder" , "bool", "Save package to subfolder" , True ),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True ),
- ("preferedHoster" , "str" , "Prefered hoster list (bar-separated)", "embedupload"),
- ("ignoredHoster" , "str" , "Ignored hoster list (bar-separated)" , "" )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default" ),
+ ("preferedHoster" , "str" , "Prefered hoster list (bar-separated)", "embedupload"),
+ ("ignoredHoster" , "str" , "Ignored hoster list (bar-separated)" , "" )]
__description__ = """EmbedUpload.com decrypter plugin"""
__license__ = "GPLv3"
@@ -34,7 +33,7 @@ class EmbeduploadCom(Crypter):
m = re.findall(self.LINK_PATTERN, self.data)
if m is not None:
- prefered_set = set(self.get_config('preferedHoster').split('|'))
+ prefered_set = set(self.config.get('preferedHoster').split('|'))
prefered_set = map(lambda s: s.lower().split('.')[0], prefered_set)
self.log_debug("PF: %s" % prefered_set)
@@ -43,7 +42,7 @@ class EmbeduploadCom(Crypter):
self.links = self.get_location(tmp_links)
if not self.links:
- ignored_set = set(self.get_config('ignoredHoster').split('|'))
+ ignored_set = set(self.config.get('ignoredHoster').split('|'))
ignored_set = map(lambda s: s.lower().split('.')[0], ignored_set)
self.log_debug("IG: %s" % ignored_set)
@@ -62,6 +61,3 @@ class EmbeduploadCom(Crypter):
except BadHeader:
pass
return new_links
-
-
-getInfo = create_getInfo(EmbeduploadCom)
diff --git a/module/plugins/crypter/FilebeerInfoFolder.py b/module/plugins/crypter/FilebeerInfoFolder.py
index b3c2e1903..ed2abf7ce 100644
--- a/module/plugins/crypter/FilebeerInfoFolder.py
+++ b/module/plugins/crypter/FilebeerInfoFolder.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class FilebeerInfoFolder(DeadCrypter):
__name__ = "FilebeerInfoFolder"
__type__ = "crypter"
- __version__ = "0.06"
+ __version__ = "0.07"
__status__ = "stable"
__pattern__ = r'http://(?:www\.)?filebeer\.info/\d*~f\w+'
@@ -15,6 +15,3 @@ class FilebeerInfoFolder(DeadCrypter):
__description__ = """Filebeer.info folder decrypter plugin"""
__license__ = "GPLv3"
__authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
-
-
-getInfo = create_getInfo(FilebeerInfoFolder)
diff --git a/module/plugins/crypter/FilecloudIoFolder.py b/module/plugins/crypter/FilecloudIoFolder.py
index 61ff1de5c..d7f576559 100644
--- a/module/plugins/crypter/FilecloudIoFolder.py
+++ b/module/plugins/crypter/FilecloudIoFolder.py
@@ -1,20 +1,19 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class FilecloudIoFolder(SimpleCrypter):
__name__ = "FilecloudIoFolder"
__type__ = "crypter"
- __version__ = "0.07"
+ __version__ = "0.08"
__status__ = "testing"
__pattern__ = r'https?://(?:www\.)?(filecloud\.io|ifile\.it)/_\w+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Filecloud.io folder decrypter plugin"""
__license__ = "GPLv3"
@@ -23,6 +22,3 @@ class FilecloudIoFolder(SimpleCrypter):
LINK_PATTERN = r'href="(http://filecloud\.io/\w+)" title'
NAME_PATTERN = r'>(?P<N>.+?) - filecloud\.io<'
-
-
-getInfo = create_getInfo(FilecloudIoFolder)
diff --git a/module/plugins/crypter/FilecryptCc.py b/module/plugins/crypter/FilecryptCc.py
index d435f4b9d..517dc7652 100644
--- a/module/plugins/crypter/FilecryptCc.py
+++ b/module/plugins/crypter/FilecryptCc.py
@@ -7,9 +7,9 @@ import binascii
import re
import urlparse
-from Crypto.Cipher import AES
+import Crypto.Cipher
-from module.plugins.internal.Crypter import Crypter, create_getInfo
+from module.plugins.internal.Crypter import Crypter
from module.plugins.captcha.ReCaptcha import ReCaptcha
from module.plugins.captcha.SolveMedia import SolveMedia
@@ -17,7 +17,7 @@ from module.plugins.captcha.SolveMedia import SolveMedia
class FilecryptCc(Crypter):
__name__ = "FilecryptCc"
__type__ = "crypter"
- __version__ = "0.22"
+ __version__ = "0.23"
__status__ = "testing"
__pattern__ = r'https?://(?:www\.)?filecrypt\.cc/Container/\w+'
@@ -119,10 +119,11 @@ class FilecryptCc(Crypter):
elif m3: #: Solvemedia captcha
self.log_debug("Solvemedia Captcha URL: %s" % urlparse.urljoin(self.pyfile.url, m3.group(1)))
- solvemedia = SolveMedia(self)
+ solvemedia = SolveMedia(self.pyfile)
captcha_key = solvemedia.detect_key()
if captcha_key:
+ self.captcha = solvemedia
response, challenge = solvemedia.challenge(captcha_key)
self.site_with_links = self.load(self.pyfile.url,
post={'adcopy_response' : response,
@@ -133,10 +134,12 @@ class FilecryptCc(Crypter):
self.retry()
else:
- recaptcha = ReCaptcha(self)
+ recaptcha = ReCaptcha(self.pyfile)
captcha_key = recaptcha.detect_key()
if captcha_key:
+ self.captcha = recaptcha
+
try:
response, challenge = recaptcha.challenge(captcha_key)
@@ -202,7 +205,7 @@ class FilecryptCc(Crypter):
#: Decrypt
Key = key
IV = key
- obj = AES.new(Key, AES.MODE_CBC, IV)
+ obj = Crypto.Cipher.AES.new(Key, Crypto.Cipher.AES.MODE_CBC, IV)
text = obj.decrypt(crypted.decode('base64'))
#: Extract links
@@ -210,6 +213,3 @@ class FilecryptCc(Crypter):
links = filter(bool, text.split('\n'))
return links
-
-
-getInfo = create_getInfo(FilecryptCc)
diff --git a/module/plugins/crypter/FilefactoryComFolder.py b/module/plugins/crypter/FilefactoryComFolder.py
index e5623435f..f1793890f 100644
--- a/module/plugins/crypter/FilefactoryComFolder.py
+++ b/module/plugins/crypter/FilefactoryComFolder.py
@@ -1,20 +1,19 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class FilefactoryComFolder(SimpleCrypter):
__name__ = "FilefactoryComFolder"
__type__ = "crypter"
- __version__ = "0.36"
+ __version__ = "0.37"
__status__ = "testing"
__pattern__ = r'https?://(?:www\.)?filefactory\.com/(?:f|folder)/\w+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Filefactory.com folder decrypter plugin"""
__license__ = "GPLv3"
@@ -30,6 +29,3 @@ class FilefactoryComFolder(SimpleCrypter):
def load_page(self, page_n):
return self.load(self.pyfile.url, get={'page': page_n, 'show': 100})
-
-
-getInfo = create_getInfo(FilefactoryComFolder)
diff --git a/module/plugins/crypter/FilerNetFolder.py b/module/plugins/crypter/FilerNetFolder.py
index b48b8b38e..6049485a4 100644
--- a/module/plugins/crypter/FilerNetFolder.py
+++ b/module/plugins/crypter/FilerNetFolder.py
@@ -1,20 +1,19 @@
import re
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class FilerNetFolder(SimpleCrypter):
__name__ = "FilerNetFolder"
__type__ = "crypter"
- __version__ = "0.46"
+ __version__ = "0.47"
__status__ = "testing"
__pattern__ = r'https?://filer\.net/folder/\w{16}'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Filer.net decrypter plugin"""
__license__ = "GPLv3"
@@ -26,6 +25,3 @@ class FilerNetFolder(SimpleCrypter):
NAME_PATTERN = r'<h3>(?P<N>.+?) - <small'
OFFLINE_PATTERN = r'Nicht gefunden'
-
-
-getInfo = create_getInfo(FilerNetFolder)
diff --git a/module/plugins/crypter/FileserveComFolder.py b/module/plugins/crypter/FileserveComFolder.py
index 80b1f974d..eff80fde1 100644
--- a/module/plugins/crypter/FileserveComFolder.py
+++ b/module/plugins/crypter/FileserveComFolder.py
@@ -2,20 +2,19 @@
import re
-from module.plugins.internal.Crypter import Crypter, create_getInfo
+from module.plugins.internal.Crypter import Crypter
class FileserveComFolder(Crypter):
__name__ = "FileserveComFolder"
__type__ = "crypter"
- __version__ = "0.16"
+ __version__ = "0.17"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?fileserve\.com/list/\w+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available", True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default")]
__description__ = """FileServe.com folder decrypter plugin"""
__license__ = "GPLv3"
@@ -39,6 +38,3 @@ class FileserveComFolder(Crypter):
if new_links:
self.links = [map(lambda s: "http://fileserve.com%s" % s, new_links)]
-
-
-getInfo = create_getInfo(FileserveComFolder)
diff --git a/module/plugins/crypter/FilesonicComFolder.py b/module/plugins/crypter/FilesonicComFolder.py
index e9f0e9c4d..088c3ad82 100644
--- a/module/plugins/crypter/FilesonicComFolder.py
+++ b/module/plugins/crypter/FilesonicComFolder.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class FilesonicComFolder(DeadCrypter):
__name__ = "FilesonicComFolder"
__type__ = "crypter"
- __version__ = "0.16"
+ __version__ = "0.17"
__status__ = "stable"
__pattern__ = r'http://(?:www\.)?filesonic\.com/folder/\w+'
@@ -15,6 +15,3 @@ class FilesonicComFolder(DeadCrypter):
__description__ = """Filesonic.com folder decrypter plugin"""
__license__ = "GPLv3"
__authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
-
-
-getInfo = create_getInfo(FilesonicComFolder)
diff --git a/module/plugins/crypter/FilestubeCom.py b/module/plugins/crypter/FilestubeCom.py
index 4e93e6aac..b56a4cc87 100644
--- a/module/plugins/crypter/FilestubeCom.py
+++ b/module/plugins/crypter/FilestubeCom.py
@@ -1,20 +1,19 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class FilestubeCom(SimpleCrypter):
__name__ = "FilestubeCom"
__type__ = "crypter"
- __version__ = "0.09"
+ __version__ = "0.10"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?filestube\.(?:com|to)/\w+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Filestube.com decrypter plugin"""
__license__ = "GPLv3"
@@ -23,6 +22,3 @@ class FilestubeCom(SimpleCrypter):
LINK_PATTERN = r'<a class=\"file-link-main(?: noref)?\" [^>]* href=\"(http://[^\"]+)'
NAME_PATTERN = r'<h1\s*> (?P<N>.+?) download\s*</h1>'
-
-
-getInfo = create_getInfo(FilestubeCom)
diff --git a/module/plugins/crypter/FiletramCom.py b/module/plugins/crypter/FiletramCom.py
index aacedf9ee..eb19c45e1 100644
--- a/module/plugins/crypter/FiletramCom.py
+++ b/module/plugins/crypter/FiletramCom.py
@@ -1,20 +1,19 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class FiletramCom(SimpleCrypter):
__name__ = "FiletramCom"
__type__ = "crypter"
- __version__ = "0.06"
+ __version__ = "0.07"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?filetram\.com/[^/]+/.+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Filetram.com decrypter plugin"""
__license__ = "GPLv3"
@@ -24,6 +23,3 @@ class FiletramCom(SimpleCrypter):
LINK_PATTERN = r'\s+(http://.+)'
NAME_PATTERN = r'<title>(?P<N>.+?) - Free Download'
-
-
-getInfo = create_getInfo(FiletramCom)
diff --git a/module/plugins/crypter/FiredriveComFolder.py b/module/plugins/crypter/FiredriveComFolder.py
index 0b9290e2e..b51c74845 100644
--- a/module/plugins/crypter/FiredriveComFolder.py
+++ b/module/plugins/crypter/FiredriveComFolder.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class FiredriveComFolder(DeadCrypter):
__name__ = "FiredriveComFolder"
__type__ = "crypter"
- __version__ = "0.07"
+ __version__ = "0.08"
__status__ = "stable"
__pattern__ = r'https?://(?:www\.)?(firedrive|putlocker)\.com/share/.+'
@@ -15,6 +15,3 @@ class FiredriveComFolder(DeadCrypter):
__description__ = """Firedrive.com folder decrypter plugin"""
__license__ = "GPLv3"
__authors__ = [("Walter Purcaro", "vuolter@gmail.com")]
-
-
-getInfo = create_getInfo(FiredriveComFolder)
diff --git a/module/plugins/crypter/FourChanOrg.py b/module/plugins/crypter/FourChanOrg.py
index 7fa38a736..c6a5fc5d6 100644
--- a/module/plugins/crypter/FourChanOrg.py
+++ b/module/plugins/crypter/FourChanOrg.py
@@ -5,20 +5,19 @@
import re
import urlparse
-from module.plugins.internal.Crypter import Crypter, create_getInfo
+from module.plugins.internal.Crypter import Crypter
class FourChanOrg(Crypter):
__name__ = "FourChanOrg"
__type__ = "crypter"
- __version__ = "0.36"
+ __version__ = "0.37"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?boards\.4chan\.org/\w+/res/(\d+)'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available", True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default")]
__description__ = """4chan.org folder decrypter plugin"""
__license__ = "GPLv3"
@@ -29,6 +28,3 @@ class FourChanOrg(Crypter):
pagehtml = self.load(pyfile.url)
images = set(re.findall(r'(images\.4chan\.org/[^/]*/src/[^"<]+)', pagehtml))
self.links = [urlparse.urljoin("http://", image) for image in images]
-
-
-getInfo = create_getInfo(FourChanOrg)
diff --git a/module/plugins/crypter/FreakhareComFolder.py b/module/plugins/crypter/FreakhareComFolder.py
index 23f235205..7afd44ec7 100644
--- a/module/plugins/crypter/FreakhareComFolder.py
+++ b/module/plugins/crypter/FreakhareComFolder.py
@@ -2,21 +2,20 @@
import re
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class FreakhareComFolder(SimpleCrypter):
__name__ = "FreakhareComFolder"
__type__ = "crypter"
- __version__ = "0.07"
+ __version__ = "0.08"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?freakshare\.com/folder/.+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Freakhare.com folder decrypter plugin"""
__license__ = "GPLv3"
@@ -40,6 +39,3 @@ class FreakhareComFolder(SimpleCrypter):
'entrys': '20',
'page': page_n - 1,
'order': ''})
-
-
-getInfo = create_getInfo(FreakhareComFolder)
diff --git a/module/plugins/crypter/FreetexthostCom.py b/module/plugins/crypter/FreetexthostCom.py
index f9822bb0d..c3d8fe06d 100644
--- a/module/plugins/crypter/FreetexthostCom.py
+++ b/module/plugins/crypter/FreetexthostCom.py
@@ -2,21 +2,20 @@
import re
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class FreetexthostCom(SimpleCrypter):
__name__ = "FreetexthostCom"
__type__ = "crypter"
- __version__ = "0.04"
+ __version__ = "0.05"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?freetexthost\.com/\w+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Freetexthost.com decrypter plugin"""
__license__ = "GPLv3"
@@ -29,6 +28,3 @@ class FreetexthostCom(SimpleCrypter):
self.error(_("Unable to extract links"))
links = m.group(1)
return links.strip().split("<br />\r\n")
-
-
-getInfo = create_getInfo(FreetexthostCom)
diff --git a/module/plugins/crypter/FshareVnFolder.py b/module/plugins/crypter/FshareVnFolder.py
index 0e0b8b4cc..1818c11c2 100644
--- a/module/plugins/crypter/FshareVnFolder.py
+++ b/module/plugins/crypter/FshareVnFolder.py
@@ -1,20 +1,19 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class FshareVnFolder(SimpleCrypter):
__name__ = "FshareVnFolder"
__type__ = "crypter"
- __version__ = "0.05"
+ __version__ = "0.06"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?fshare\.vn/folder/.+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Fshare.vn folder decrypter plugin"""
__license__ = "GPLv3"
@@ -22,6 +21,3 @@ class FshareVnFolder(SimpleCrypter):
LINK_PATTERN = r'<li class="w_80pc"><a href="(.+?)" target="_blank">'
-
-
-getInfo = create_getInfo(FshareVnFolder)
diff --git a/module/plugins/crypter/FurLy.py b/module/plugins/crypter/FurLy.py
index 582c2dca0..75c799224 100644
--- a/module/plugins/crypter/FurLy.py
+++ b/module/plugins/crypter/FurLy.py
@@ -1,20 +1,19 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class FurLy(SimpleCrypter):
__name__ = "FurLy"
__type__ = "crypter"
- __version__ = "0.04"
+ __version__ = "0.05"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?fur\.ly/(\d/)?\w+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Fur.ly decrypter plugin"""
__license__ = "GPLv3"
@@ -25,6 +24,3 @@ class FurLy(SimpleCrypter):
LINK_PATTERN = r'urls\[\d+\] = "(.+?)"'
OFFLINE_PATTERN = r'var output;\s*var total'
-
-
-getInfo = create_getInfo(FurLy)
diff --git a/module/plugins/crypter/Go4UpCom.py b/module/plugins/crypter/Go4UpCom.py
index 9a3315399..33bde9889 100755
--- a/module/plugins/crypter/Go4UpCom.py
+++ b/module/plugins/crypter/Go4UpCom.py
@@ -3,22 +3,21 @@
import re
import urlparse
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
-from module.plugins.internal.utils import json
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
+from module.plugins.internal.misc import json
class Go4UpCom(SimpleCrypter):
__name__ = "Go4UpCom"
__type__ = "crypter"
- __version__ = "0.16"
+ __version__ = "0.17"
__status__ = "testing"
__pattern__ = r'http://go4up\.com/(dl/\w{12}|rd/\w{12}/\d+)'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Go4Up.com decrypter plugin"""
__license__ = "GPLv3"
@@ -35,13 +34,13 @@ class Go4UpCom(SimpleCrypter):
def get_links(self):
links = []
- preference = self.get_config("preferred_hoster")
+ preference = self.config.get("preferred_hoster")
hosterslink_re = re.search(r'(/download/gethosts/.+?)"', self.data)
if hosterslink_re:
hosters = self.load(urlparse.urljoin("http://go4up.com/", hosterslink_re.group(1)))
for hoster in json.loads(hosters):
- if preference != 0 and preference != int(hoster["hostId"]):
+ if preference is not 0 and preference != int(hoster["hostId"]):
continue
pagelink_re = re.search(self.LINK_PATTERN, hoster["link"])
if pagelink_re:
@@ -51,6 +50,3 @@ class Go4UpCom(SimpleCrypter):
links.append(link_re.group(1))
return links
-
-
-getInfo = create_getInfo(Go4UpCom)
diff --git a/module/plugins/crypter/GooGl.py b/module/plugins/crypter/GooGl.py
index 5d5a42274..68e99d1c6 100644
--- a/module/plugins/crypter/GooGl.py
+++ b/module/plugins/crypter/GooGl.py
@@ -1,21 +1,20 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
-from module.plugins.internal.utils import json
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
+from module.plugins.internal.misc import json
class GooGl(SimpleCrypter):
__name__ = "GooGl"
__type__ = "crypter"
- __version__ = "0.06"
+ __version__ = "0.07"
__status__ = "testing"
__pattern__ = r'https?://(?:www\.)?goo\.gl/([a-zA-Z]+/)?\w+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Goo.gl decrypter plugin"""
__license__ = "GPLv3"
@@ -33,6 +32,3 @@ class GooGl(SimpleCrypter):
self.log_debug("JSON data: " + rep)
rep = json.loads(rep)
return [rep['longUrl']] if "longUrl" in rep else None
-
-
-getInfo = create_getInfo(GooGl)
diff --git a/module/plugins/crypter/GoogledriveComFolder.py b/module/plugins/crypter/GoogledriveComFolder.py
index fe517c222..44fcb76d3 100644
--- a/module/plugins/crypter/GoogledriveComFolder.py
+++ b/module/plugins/crypter/GoogledriveComFolder.py
@@ -1,20 +1,19 @@
# -*- coding: utf-8 -*
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class GoogledriveComFolder(SimpleCrypter):
__name__ = "GoogledriveComFolder"
__type__ = "crypter"
- __version__ = "0.06"
+ __version__ = "0.07"
__status__ = "testing"
__pattern__ = r'https?://(?:www\.)?drive\.google\.com/folderview\?.*id=\w+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Drive.google.com folder decrypter plugin"""
__license__ = "GPLv3"
@@ -24,6 +23,3 @@ class GoogledriveComFolder(SimpleCrypter):
NAME_PATTERN = r"folderName: '(?P<N>.+?)'"
LINK_PATTERN = r'\[,"\w+"(?:,,".+?")?,"(.+?)"'
OFFLINE_PATTERN = r'<TITLE>'
-
-
-getInfo = create_getInfo(GoogledriveComFolder)
diff --git a/module/plugins/crypter/HflixIn.py b/module/plugins/crypter/HflixIn.py
index f0bcd7d3a..ebb140353 100644
--- a/module/plugins/crypter/HflixIn.py
+++ b/module/plugins/crypter/HflixIn.py
@@ -2,17 +2,18 @@
import re
-from module.plugins.internal.Crypter import Crypter
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
-class HflixIn(Crypter):
- __name__ = "HflixIn"
- __type__ = "crypter"
- __version__ = "0.1"
+
+class HflixIn(SimpleCrypter):
+ __name__ = "HflixIn"
+ __type__ = "crypter"
+ __version__ = "0.11"
__status__ = "testing"
- __pattern__ = r"http://hflix.in/\w{5}"
+ __pattern__ = r'http://(www\.)?hflix\.in/\w+'
- __description__ = """Hflix.in Decrypter Plugin"""
+ __description__ = """Hflix.in decrypter plugin"""
__license__ = "GPLv3"
__authors__ = [("GammaC0de", "nitzo2001[AT]yahoo[DOT]com")]
diff --git a/module/plugins/crypter/HoerbuchIn.py b/module/plugins/crypter/HoerbuchIn.py
index 6ed600f4d..ad9c8cce3 100644
--- a/module/plugins/crypter/HoerbuchIn.py
+++ b/module/plugins/crypter/HoerbuchIn.py
@@ -4,20 +4,19 @@ import re
import BeautifulSoup
-from module.plugins.internal.Crypter import Crypter, create_getInfo
+from module.plugins.internal.Crypter import Crypter
class HoerbuchIn(Crypter):
__name__ = "HoerbuchIn"
__type__ = "crypter"
- __version__ = "0.64"
+ __version__ = "0.65"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?hoerbuch\.in/(wp/horbucher/\d+/.+/|tp/out\.php\?.+|protection/folder_\d+\.html)'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available", True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default")]
__description__ = """Hoerbuch.in decrypter plugin"""
__license__ = "GPLv3"
@@ -63,6 +62,3 @@ class HoerbuchIn(Crypter):
links.append(self.req.lastEffectiveURL)
return links
-
-
-getInfo = create_getInfo(HoerbuchIn)
diff --git a/module/plugins/crypter/HotfileComFolder.py b/module/plugins/crypter/HotfileComFolder.py
index a06a24a54..a97fdf3f1 100644
--- a/module/plugins/crypter/HotfileComFolder.py
+++ b/module/plugins/crypter/HotfileComFolder.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class HotfileComFolder(DeadCrypter):
__name__ = "HotfileComFolder"
__type__ = "crypter"
- __version__ = "0.34"
+ __version__ = "0.35"
__status__ = "stable"
__pattern__ = r'https?://(?:www\.)?hotfile\.com/list/\w+/\w+'
@@ -15,6 +15,3 @@ class HotfileComFolder(DeadCrypter):
__description__ = """Hotfile.com folder decrypter plugin"""
__license__ = "GPLv3"
__authors__ = [("RaNaN", "RaNaN@pyload.org")]
-
-
-getInfo = create_getInfo(HotfileComFolder)
diff --git a/module/plugins/crypter/ILoadTo.py b/module/plugins/crypter/ILoadTo.py
index 7fdbeeaa0..e3c0c644c 100644
--- a/module/plugins/crypter/ILoadTo.py
+++ b/module/plugins/crypter/ILoadTo.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class ILoadTo(DeadCrypter):
__name__ = "ILoadTo"
__type__ = "crypter"
- __version__ = "0.14"
+ __version__ = "0.15"
__status__ = "stable"
__pattern__ = r'http://(?:www\.)?iload\.to/go/\d+\-[\w\-.]+/'
@@ -15,6 +15,3 @@ class ILoadTo(DeadCrypter):
__description__ = """Iload.to decrypter plugin"""
__license__ = "GPLv3"
__authors__ = [("hzpz", None)]
-
-
-getInfo = create_getInfo(ILoadTo)
diff --git a/module/plugins/crypter/ImgurCom.py b/module/plugins/crypter/ImgurCom.py
new file mode 100644
index 000000000..710f556c9
--- /dev/null
+++ b/module/plugins/crypter/ImgurCom.py
@@ -0,0 +1,30 @@
+import re
+
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
+from module.plugins.internal.misc import uniqify
+
+
+class ImgurCom(SimpleCrypter):
+ __name__ = "ImgurCom"
+ __type__ = "crypter"
+ __version__ = "0.55"
+ __status__ = "testing"
+
+ __pattern__ = r'https?://(?:www\.|m\.)?imgur\.com/(a|gallery|)/?\w{5,7}'
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+
+ __description__ = """Imgur.com decrypter plugin"""
+ __license__ = "GPLv3"
+ __authors__ = [("nath_schwarz", "nathan.notwhite@gmail.com")]
+
+
+ NAME_PATTERN = r'(?P<N>.+?) - Imgur'
+ LINK_PATTERN = r'i\.imgur\.com/\w{7}s?\.(?:jpeg|jpg|png|gif|apng)'
+
+
+ def get_links(self):
+ f = lambda url: "http://" + re.sub(r'(\w{7})s\.', r'\1.', url)
+ return uniqify(map(f, re.findall(self.LINK_PATTERN, self.data)))
diff --git a/module/plugins/crypter/ImgurComAlbum.py b/module/plugins/crypter/ImgurComAlbum.py
deleted file mode 100644
index 620b0e036..000000000
--- a/module/plugins/crypter/ImgurComAlbum.py
+++ /dev/null
@@ -1,34 +0,0 @@
-import re
-
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
-from module.plugins.internal.utils import uniqify
-
-
-class ImgurComAlbum(SimpleCrypter):
- __name__ = "ImgurComAlbum"
- __type__ = "crypter"
- __version__ = "0.54"
- __status__ = "testing"
-
- __pattern__ = r'https?://(?:www\.|m\.)?imgur\.com/(a|gallery|)/?\w{5,7}'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
-
- __description__ = """Imgur.com decrypter plugin"""
- __license__ = "GPLv3"
- __authors__ = [("nath_schwarz", "nathan.notwhite@gmail.com")]
-
-
- NAME_PATTERN = r'(?P<N>.+?) - Imgur'
- LINK_PATTERN = r'i\.imgur\.com/\w{7}s?\.(?:jpeg|jpg|png|gif|apng)'
-
-
- def get_links(self):
- f = lambda url: "http://" + re.sub(r'(\w{7})s\.', r'\1.', url)
- return uniqify(map(f, re.findall(self.LINK_PATTERN, self.data)))
-
-
-getInfo = create_getInfo(ImgurComAlbum)
diff --git a/module/plugins/crypter/JDlist.py b/module/plugins/crypter/JDlist.py
index 29ad0d5fe..0c321ef80 100644
--- a/module/plugins/crypter/JDlist.py
+++ b/module/plugins/crypter/JDlist.py
@@ -1,19 +1,18 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.Crypter import Crypter, create_getInfo
+from module.plugins.internal.Crypter import Crypter
class JDlist(Crypter):
__name__ = "JDlist"
__type__ = "crypter"
- __version__ = "0.03"
+ __version__ = "0.04"
__status__ = "testing"
__pattern__ = r'jdlist://(?P<LIST>[\w\+^_]+==)'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available", True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default")]
__description__ = """JDlist decrypter plugin"""
__license__ = "GPLv3"
@@ -22,6 +21,3 @@ class JDlist(Crypter):
def decrypt(self, pyfile):
self.links.extend(self.info['pattern']['LIST'].decode('base64').split(','))
-
-
-getInfo = create_getInfo(JDlist)
diff --git a/module/plugins/crypter/LetitbitNetFolder.py b/module/plugins/crypter/LetitbitNetFolder.py
index 635dc1737..03d656189 100644
--- a/module/plugins/crypter/LetitbitNetFolder.py
+++ b/module/plugins/crypter/LetitbitNetFolder.py
@@ -2,20 +2,19 @@
import re
-from module.plugins.internal.Crypter import Crypter, create_getInfo
+from module.plugins.internal.Crypter import Crypter
class LetitbitNetFolder(Crypter):
__name__ = "LetitbitNet"
__type__ = "crypter"
- __version__ = "0.15"
+ __version__ = "0.16"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?letitbit\.net/folder/\w+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available", True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default")]
__description__ = """Letitbit.net folder decrypter plugin"""
__license__ = "GPLv3"
@@ -35,6 +34,3 @@ class LetitbitNetFolder(Crypter):
self.error(_("FOLDER_PATTERN not found"))
self.links.extend(re.findall(self.LINK_PATTERN, folder.group(0)))
-
-
-getInfo = create_getInfo(LetitbitNetFolder)
diff --git a/module/plugins/crypter/LinkCryptWs.py b/module/plugins/crypter/LinkCryptWs.py
index 9d421ad03..0cdfa1e34 100644
--- a/module/plugins/crypter/LinkCryptWs.py
+++ b/module/plugins/crypter/LinkCryptWs.py
@@ -3,12 +3,11 @@
import binascii
import re
+import Crypto.Cipher
import pycurl
-from Crypto.Cipher import AES
-
-from module.plugins.internal.Crypter import Crypter, create_getInfo
-from module.plugins.internal.utils import html_unescape
+from module.plugins.internal.Crypter import Crypter
+from module.plugins.internal.misc import html_unescape, set_cookie
class LinkCryptWs(Crypter):
@@ -41,7 +40,7 @@ class LinkCryptWs(Crypter):
#: Init
self.fileid = re.match(self.__pattern__, self.pyfile.url).group('ID')
- self.req.cj.setCookie("linkcrypt.ws", "language", "en")
+ set_cookie(req.cj, "linkcrypt.ws", "language", "en")
#: Request package
self.req.http.c.setopt(pycurl.USERAGENT, "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko") #: Better chance to not get those key-captchas
@@ -74,7 +73,7 @@ class LinkCryptWs(Crypter):
self.getunrarpw()
#: Get package name and folder
- package_name, folder_name = self.get_package_info()
+ pack_name, folder_name = self.get_package_info()
#: Get the container definitions from script section
self.get_container_html()
@@ -88,7 +87,7 @@ class LinkCryptWs(Crypter):
break
if self.urls:
- self.packages = [(package_name, self.urls, folder_name)]
+ self.packages = [(pack_name, self.urls, folder_name)]
def is_online(self):
@@ -183,7 +182,7 @@ class LinkCryptWs(Crypter):
def handle_web_links(self):
self.log_debug("Search for Web links ")
- package_links = []
+ pack_links = []
pattern = r'<form action="http://linkcrypt.ws/out.html"[^>]*?>.*?<input[^>]*?value="(.+?)"[^>]*?name="file"'
ids = re.findall(pattern, self.data, re.I | re.S)
@@ -199,12 +198,12 @@ class LinkCryptWs(Crypter):
link2 = res[indexs:indexe]
link2 = html_unescape(link2)
- package_links.append(link2)
+ pack_links.append(link2)
except Exception, detail:
self.log_debug("Error decrypting Web link %s, %s" % (weblink_id, detail))
- return package_links
+ return pack_links
def get_container_html(self):
@@ -223,7 +222,7 @@ class LinkCryptWs(Crypter):
def handle_container(self, type):
- package_links = []
+ pack_links = []
type = type.lower()
self.log_debug('Search for %s Container links' % type.upper())
@@ -241,18 +240,18 @@ class LinkCryptWs(Crypter):
self.log_debug("clink found")
- package_name, folder_name = self.get_package_info()
- self.log_debug("Added package with name %s.%s and container link %s" %( package_name, type, clink.group(1)))
- self.pyload.api.uploadContainer('.'.join([package_name, type]), self.load(clink.group(1)))
+ pack_name, folder_name = self.get_package_info()
+ self.log_debug("Added package with name %s.%s and container link %s" %( pack_name, type, clink.group(1)))
+ self.pyload.api.uploadContainer('.'.join([pack_name, type]), self.load(clink.group(1)))
return "Found it"
- return package_links
+ return pack_links
def handle_CNL2(self):
self.log_debug("Search for CNL links")
- package_links = []
+ pack_links = []
cnl_line = None
for line in self.container_html:
@@ -267,13 +266,13 @@ class LinkCryptWs(Crypter):
cnl_section = self.handle_javascript(cnl_line)
(vcrypted, vjk) = self._get_cipher_params(cnl_section)
for (crypted, jk) in zip(vcrypted, vjk):
- package_links.extend(self._get_links(crypted, jk))
+ pack_links.extend(self._get_links(crypted, jk))
except Exception:
self.log_error(_("Unable to decrypt CNL links (JS Error) try to get over links"), trace=True)
return self.handle_web_links()
- return package_links
+ return pack_links
def _get_cipher_params(self, cnl_section):
@@ -299,7 +298,7 @@ class LinkCryptWs(Crypter):
#: Decrypt
Key = key
IV = key
- obj = AES.new(Key, AES.MODE_CBC, IV)
+ obj = Crypto.Cipher.AES.new(Key, Crypto.Cipher.AES.MODE_CBC, IV)
text = obj.decrypt(crypted.decode('base64'))
#: Extract links
@@ -310,6 +309,3 @@ class LinkCryptWs(Crypter):
self.log_debug("Package has %d links" % len(links))
return links
-
-
-getInfo = create_getInfo(LinkCryptWs)
diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py
index 45ef59063..06d1c48f8 100644
--- a/module/plugins/crypter/LinkSaveIn.py
+++ b/module/plugins/crypter/LinkSaveIn.py
@@ -1,20 +1,19 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class LinkSaveIn(SimpleCrypter):
__name__ = "LinkSaveIn"
__type__ = "crypter"
- __version__ = "2.08"
+ __version__ = "2.09"
__status__ = "testing"
__pattern__ = r'https?://(?:www\.)?linksave\.in/\w+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """LinkSave.in decrypter plugin"""
__license__ = "GPLv3"
@@ -24,6 +23,3 @@ class LinkSaveIn(SimpleCrypter):
COOKIES = [("linksave.in", "Linksave_Language", "english")]
OFFLINE_PATTERN = r'>(Error )?404 -'
-
-
-getInfo = create_getInfo(LinkSaveIn)
diff --git a/module/plugins/crypter/LinkdecrypterCom.py b/module/plugins/crypter/LinkdecrypterCom.py
index ad55ce55d..b3b0048e1 100644
--- a/module/plugins/crypter/LinkdecrypterCom.py
+++ b/module/plugins/crypter/LinkdecrypterCom.py
@@ -8,14 +8,13 @@ from module.plugins.internal.MultiCrypter import MultiCrypter
class LinkdecrypterCom(MultiCrypter):
__name__ = "LinkdecrypterCom"
__type__ = "crypter"
- __version__ = "0.35"
+ __version__ = "0.36"
__status__ = "testing"
__pattern__ = r'^unmatchable$'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available", True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default")]
__description__ = """Linkdecrypter.com decrypter plugin"""
__license__ = "GPLv3"
diff --git a/module/plugins/crypter/LixIn.py b/module/plugins/crypter/LixIn.py
index e3dcf9d89..3398ce87a 100644
--- a/module/plugins/crypter/LixIn.py
+++ b/module/plugins/crypter/LixIn.py
@@ -3,20 +3,19 @@
import re
import urlparse
-from module.plugins.internal.Crypter import Crypter, create_getInfo
+from module.plugins.internal.Crypter import Crypter
class LixIn(Crypter):
__name__ = "LixIn"
__type__ = "crypter"
- __version__ = "0.26"
+ __version__ = "0.27"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?lix\.in/(?P<ID>.+)'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available", True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default")]
__description__ = """Lix.in decrypter plugin"""
__license__ = "GPLv3"
@@ -61,6 +60,3 @@ class LixIn(Crypter):
else:
self.links = [m.group(1)]
self.log_debug("Found link %s, adding to package" % self.links[0])
-
-
-getInfo = create_getInfo(LixIn)
diff --git a/module/plugins/crypter/LofCc.py b/module/plugins/crypter/LofCc.py
index 4836bbb67..16d3c0d63 100644
--- a/module/plugins/crypter/LofCc.py
+++ b/module/plugins/crypter/LofCc.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class LofCc(DeadCrypter):
__name__ = "LofCc"
__type__ = "crypter"
- __version__ = "0.24"
+ __version__ = "0.25"
__status__ = "stable"
__pattern__ = r'http://(?:www\.)?lof\.cc/(.+)'
@@ -15,6 +15,3 @@ class LofCc(DeadCrypter):
__description__ = """Lof.cc decrypter plugin"""
__license__ = "GPLv3"
__authors__ = [("mkaay", "mkaay@mkaay.de")]
-
-
-getInfo = create_getInfo(LofCc)
diff --git a/module/plugins/crypter/MBLinkInfo.py b/module/plugins/crypter/MBLinkInfo.py
index ba0952d7d..2e765b2c9 100644
--- a/module/plugins/crypter/MBLinkInfo.py
+++ b/module/plugins/crypter/MBLinkInfo.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class MBLinkInfo(DeadCrypter):
__name__ = "MBLinkInfo"
__type__ = "crypter"
- __version__ = "0.06"
+ __version__ = "0.07"
__status__ = "stable"
__pattern__ = r'http://(?:www\.)?mblink\.info/?\?id=(\d+)'
@@ -16,6 +16,3 @@ class MBLinkInfo(DeadCrypter):
__license__ = "GPLv3"
__authors__ = [("Gummibaer", "Gummibaer@wiki-bierkiste.de"),
("stickell", "l.stickell@yahoo.it")]
-
-
-getInfo = create_getInfo(MBLinkInfo)
diff --git a/module/plugins/crypter/MediafireComFolder.py b/module/plugins/crypter/MediafireComFolder.py
index 604d78687..b0e2e5e51 100644
--- a/module/plugins/crypter/MediafireComFolder.py
+++ b/module/plugins/crypter/MediafireComFolder.py
@@ -2,21 +2,20 @@
import re
-from module.plugins.internal.Crypter import Crypter, create_getInfo
-from module.plugins.internal.utils import json
+from module.plugins.internal.Crypter import Crypter
+from module.plugins.internal.misc import json
class MediafireComFolder(Crypter):
__name__ = "MediafireComFolder"
__type__ = "crypter"
- __version__ = "0.20"
+ __version__ = "0.21"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?mediafire\.com/(folder/|\?sharekey=|\?\w{13}($|[/#]))'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available", True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default")]
__description__ = """Mediafire.com folder decrypter plugin"""
__license__ = "GPLv3"
@@ -73,22 +72,20 @@ class MediafireComFolder(Crypter):
folder_key = m.group(1)
self.log_debug("FOLDER KEY: %s" % folder_key)
- json_resp = json.loads(self.load("http://www.mediafire.com/api/folder/get_info.php",
- get={'folder_key' : folder_key,
- 'response_format': "json",
- 'version' : 1}))
- # self.log_info(json_resp)
- if json_resp['response']['result'] == "Success":
- for link in json_resp['response']['folder_info']['files']:
+ html = self.load("http://www.mediafire.com/api/folder/get_info.php",
+ get={'folder_key' : folder_key,
+ 'response_format': "json",
+ 'version' : 1})
+ json_data = json.loads(html)
+ # self.log_info(json_data)
+ if json_data['response']['result'] == "Success":
+ for link in json_data['response']['folder_info']['files']:
self.links.append("http://www.mediafire.com/file/%s" % link['quickkey'])
else:
- self.fail(json_resp['response']['message'])
+ self.fail(json_data['response']['message'])
elif result is 1:
self.offline()
else:
self.links.append(url)
-
-
-getInfo = create_getInfo(MediafireComFolder)
diff --git a/module/plugins/crypter/MegaCoNzFolder.py b/module/plugins/crypter/MegaCoNzFolder.py
index 01e8338ac..442e6beea 100644
--- a/module/plugins/crypter/MegaCoNzFolder.py
+++ b/module/plugins/crypter/MegaCoNzFolder.py
@@ -2,20 +2,19 @@
import re
-from module.plugins.internal.Crypter import Crypter, create_getInfo
+from module.plugins.internal.Crypter import Crypter
class MegaCoNzFolder(Crypter):
__name__ = "MegaCoNzFolder"
__type__ = "crypter"
- __version__ = "0.09"
+ __version__ = "0.10"
__status__ = "broken"
__pattern__ = r'(https?://(?:www\.)?mega(\.co)?\.nz/|mega:|chrome:.+?)#F!(?P<ID>[\w^_]+)!(?P<KEY>[\w,\\-]+)'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available", True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default")]
__description__ = """Mega.co.nz folder decrypter plugin"""
__license__ = "GPLv3"
@@ -30,6 +29,3 @@ class MegaCoNzFolder(Crypter):
url = "https://mega.co.nz/#F!%s!%s" % re.match(self.__pattern__, pyfile.url).groups()
self.data = self.load("http://rapidgen.org/linkfinder", post={'linklisturl': url})
self.links = re.findall(r'(https://mega(\.co)?\.nz/#N!.+?)<', self.data)
-
-
-getInfo = create_getInfo(MegaCoNzFolder)
diff --git a/module/plugins/crypter/MegaRapidCzFolder.py b/module/plugins/crypter/MegaRapidCzFolder.py
index c49f6297e..05dec6e16 100644
--- a/module/plugins/crypter/MegaRapidCzFolder.py
+++ b/module/plugins/crypter/MegaRapidCzFolder.py
@@ -1,20 +1,19 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class MegaRapidCzFolder(SimpleCrypter):
__name__ = "MegaRapidCzFolder"
__type__ = "crypter"
- __version__ = "0.06"
+ __version__ = "0.07"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?(share|mega)rapid\.cz/slozka/\d+/\w+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Share-Rapid.com folder decrypter plugin"""
__license__ = "GPLv3"
@@ -22,6 +21,3 @@ class MegaRapidCzFolder(SimpleCrypter):
LINK_PATTERN = r'<td class="soubor".*?><a href="(.+?)">'
-
-
-getInfo = create_getInfo(MegaRapidCzFolder)
diff --git a/module/plugins/crypter/MegauploadComFolder.py b/module/plugins/crypter/MegauploadComFolder.py
index 532ab9b88..9161b228c 100644
--- a/module/plugins/crypter/MegauploadComFolder.py
+++ b/module/plugins/crypter/MegauploadComFolder.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class MegauploadComFolder(DeadCrypter):
__name__ = "MegauploadComFolder"
__type__ = "crypter"
- __version__ = "0.06"
+ __version__ = "0.07"
__status__ = "stable"
__pattern__ = r'http://(?:www\.)?megaupload\.com/(\?f|xml/folderfiles\.php\?.*&?folderid)=\w+'
@@ -15,6 +15,3 @@ class MegauploadComFolder(DeadCrypter):
__description__ = """Megaupload.com folder decrypter plugin"""
__license__ = "GPLv3"
__authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
-
-
-getInfo = create_getInfo(MegauploadComFolder)
diff --git a/module/plugins/crypter/Movie2KTo.py b/module/plugins/crypter/Movie2KTo.py
index 6c0abfd88..d2b365178 100644
--- a/module/plugins/crypter/Movie2KTo.py
+++ b/module/plugins/crypter/Movie2KTo.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class Movie2KTo(DeadCrypter):
__name__ = "Movie2KTo"
__type__ = "crypter"
- __version__ = "0.54"
+ __version__ = "0.55"
__status__ = "stable"
__pattern__ = r'http://(?:www\.)?movie2k\.to/(.+)\.html'
@@ -15,6 +15,3 @@ class Movie2KTo(DeadCrypter):
__description__ = """Movie2k.to decrypter plugin"""
__license__ = "GPLv3"
__authors__ = [("4Christopher", "4Christopher@gmx.de")]
-
-
-getInfo = create_getInfo(Movie2KTo)
diff --git a/module/plugins/crypter/MultiUpOrg.py b/module/plugins/crypter/MultiUpOrg.py
index 82dd64eb0..a546ecc22 100644
--- a/module/plugins/crypter/MultiUpOrg.py
+++ b/module/plugins/crypter/MultiUpOrg.py
@@ -3,21 +3,20 @@
import re
import urlparse
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class MultiUpOrg(SimpleCrypter):
__name__ = "MultiUpOrg"
__type__ = "crypter"
- __version__ = "0.07"
+ __version__ = "0.08"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?multiup\.org/(en|fr)/(?P<TYPE>project|download|mirror)/\w+(/\w+)?'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """MultiUp.org crypter plugin"""
__license__ = "GPLv3"
@@ -40,6 +39,3 @@ class MultiUpOrg(SimpleCrypter):
self.data = self.load(mirror_page)
return re.findall(pattern, self.data)
-
-
-getInfo = create_getInfo(MultiUpOrg)
diff --git a/module/plugins/crypter/MultiloadCz.py b/module/plugins/crypter/MultiloadCz.py
index 87a900a2a..657f101d6 100644
--- a/module/plugins/crypter/MultiloadCz.py
+++ b/module/plugins/crypter/MultiloadCz.py
@@ -2,13 +2,13 @@
import re
-from module.plugins.internal.Crypter import Crypter, create_getInfo
+from module.plugins.internal.Crypter import Crypter
class MultiloadCz(Crypter):
__name__ = "MultiloadCz"
__type__ = "crypter"
- __version__ = "0.44"
+ __version__ = "0.45"
__status__ = "testing"
__pattern__ = r'http://(?:[^/]*\.)?multiload\.cz/(stahnout|slozka)/.+'
@@ -38,12 +38,9 @@ class MultiloadCz(Crypter):
else:
m = re.findall(self.LINK_PATTERN, self.data)
if m is not None:
- prefered_set = set(self.get_config('usedHoster').split('|'))
+ prefered_set = set(self.config.get('usedHoster').split('|'))
self.links.extend(x[1] for x in m if x[0] in prefered_set)
if not self.links:
- ignored_set = set(self.get_config('ignoredHoster').split('|'))
+ ignored_set = set(self.config.get('ignoredHoster').split('|'))
self.links.extend(x[1] for x in m if x[0] not in ignored_set)
-
-
-getInfo = create_getInfo(MultiloadCz)
diff --git a/module/plugins/crypter/MultiuploadCom.py b/module/plugins/crypter/MultiuploadCom.py
index 6b7ea9f16..662c624d0 100644
--- a/module/plugins/crypter/MultiuploadCom.py
+++ b/module/plugins/crypter/MultiuploadCom.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class MultiuploadCom(DeadCrypter):
__name__ = "MultiuploadCom"
__type__ = "crypter"
- __version__ = "0.05"
+ __version__ = "0.06"
__status__ = "stable"
__pattern__ = r'http://(?:www\.)?multiupload\.(com|nl)/\w+'
@@ -15,6 +15,3 @@ class MultiuploadCom(DeadCrypter):
__description__ = """MultiUpload.com decrypter plugin"""
__license__ = "GPLv3"
__authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
-
-
-getInfo = create_getInfo(MultiuploadCom)
diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py
index a60e99ce7..d1a2b3bcc 100644
--- a/module/plugins/crypter/NCryptIn.py
+++ b/module/plugins/crypter/NCryptIn.py
@@ -3,23 +3,22 @@
import binascii
import re
-from Crypto.Cipher import AES
+import Crypto.Cipher
-from module.plugins.internal.Crypter import Crypter, create_getInfo
+from module.plugins.internal.Crypter import Crypter
from module.plugins.captcha.ReCaptcha import ReCaptcha
class NCryptIn(Crypter):
__name__ = "NCryptIn"
__type__ = "crypter"
- __version__ = "1.39"
+ __version__ = "1.40"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?ncrypt\.in/(?P<TYPE>folder|link|frame)-([^/\?]+)'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available", True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default")]
__description__ = """NCrypt.in decrypter plugin"""
__license__ = "GPLv3"
@@ -43,13 +42,13 @@ class NCryptIn(Crypter):
def decrypt(self, pyfile):
#: Init
self.package = pyfile.package()
- package_links = []
- package_name = self.package.name
+ pack_links = []
+ pack_name = self.package.name
folder_name = self.package.folder
#: Deal with single links
if self.is_single_link():
- package_links.extend(self.handle_single_link())
+ pack_links.extend(self.handle_single_link())
#: Deal with folders
else:
@@ -67,18 +66,18 @@ class NCryptIn(Crypter):
self.handle_errors()
#: Prepare package name and folder
- (package_name, folder_name) = self.get_package_info()
+ (pack_name, folder_name) = self.get_package_info()
#: Extract package links
for link_source_type in self.links_source_order:
- package_links.extend(self.handle_link_source(link_source_type))
- if package_links: #: Use only first source which provides links
+ pack_links.extend(self.handle_link_source(link_source_type))
+ if pack_links: #: Use only first source which provides links
break
- package_links = set(package_links)
+ pack_links = set(pack_links)
#: Pack and return links
- if package_links:
- self.packages = [(package_name, package_links, folder_name)]
+ if pack_links:
+ self.packages = [(pack_name, pack_links, folder_name)]
def is_single_link(self):
@@ -157,8 +156,8 @@ class NCryptIn(Crypter):
self.log_debug("ReCaptcha protected")
captcha_key = re.search(r'\?k=(.*?)"', form).group(1)
self.log_debug("Resolving ReCaptcha with key [%s]" % captcha_key)
- recaptcha = ReCaptcha(self)
- response, challenge = recaptcha.challenge(captcha_key)
+ self.captcha = ReCaptcha(self.pyfile)
+ response, challenge = self.captcha.challenge(captcha_key)
postData['recaptcha_challenge_field'] = challenge
postData['recaptcha_response_field'] = response
@@ -210,44 +209,44 @@ class NCryptIn(Crypter):
def handle_single_link(self):
self.log_debug("Handling Single link")
- package_links = []
+ pack_links = []
#: Decrypt single link
decrypted_link = self.decrypt_link(self.pyfile.url)
if decrypted_link:
- package_links.append(decrypted_link)
+ pack_links.append(decrypted_link)
- return package_links
+ return pack_links
def handle_CNL2(self):
self.log_debug("Handling CNL2 links")
- package_links = []
+ pack_links = []
if 'cnl2_output' in self.cleaned_html:
try:
(vcrypted, vjk) = self._get_cipher_params()
for (crypted, jk) in zip(vcrypted, vjk):
- package_links.extend(self._get_links(crypted, jk))
+ pack_links.extend(self._get_links(crypted, jk))
except Exception:
self.fail(_("Unable to decrypt CNL2 links"))
- return package_links
+ return pack_links
def handle_containers(self):
self.log_debug("Handling Container links")
- package_links = []
+ pack_links = []
pattern = r'/container/(rsdf|dlc|ccf)/(\w+)'
containersLinks = re.findall(pattern, self.data)
self.log_debug("Decrypting %d Container links" % len(containersLinks))
for containerLink in containersLinks:
link = "http://ncrypt.in/container/%s/%s.%s" % (containerLink[0], containerLink[1], containerLink[0])
- package_links.append(link)
+ pack_links.append(link)
- return package_links
+ return pack_links
def handle_web_links(self):
@@ -255,15 +254,15 @@ class NCryptIn(Crypter):
pattern = r'(http://ncrypt\.in/link-.*?=)'
links = re.findall(pattern, self.data)
- package_links = []
+ pack_links = []
self.log_debug("Decrypting %d Web links" % len(links))
for i, link in enumerate(links):
self.log_debug("Decrypting Web link %d, %s" % (i + 1, link))
decrypted_link = self.decrypt(link)
if decrypted_link:
- package_links.append(decrypted_link)
+ pack_links.append(decrypted_link)
- return package_links
+ return pack_links
def decrypt_link(self, link):
@@ -301,7 +300,7 @@ class NCryptIn(Crypter):
#: Decrypt
Key = key
IV = key
- obj = AES.new(Key, AES.MODE_CBC, IV)
+ obj = Crypto.Cipher.AES.new(Key, Crypto.Cipher.AES.MODE_CBC, IV)
text = obj.decrypt(crypted.decode('base64'))
#: Extract links
@@ -311,6 +310,3 @@ class NCryptIn(Crypter):
#: Log and return
self.log_debug("Block has %d links" % len(links))
return links
-
-
-getInfo = create_getInfo(NCryptIn)
diff --git a/module/plugins/crypter/NetfolderIn.py b/module/plugins/crypter/NetfolderIn.py
index eba13d1b6..1e25ee0d1 100644
--- a/module/plugins/crypter/NetfolderIn.py
+++ b/module/plugins/crypter/NetfolderIn.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class NetfolderIn(DeadCrypter):
__name__ = "NetfolderIn"
__type__ = "crypter"
- __version__ = "0.76"
+ __version__ = "0.77"
__status__ = "stable"
__pattern__ = r'http://(?:www\.)?netfolder\.(in|me)/(folder\.php\?folder_id=)?(?P<ID>\w+)(?(1)|/\w+)'
@@ -16,6 +16,3 @@ class NetfolderIn(DeadCrypter):
__license__ = "GPLv3"
__authors__ = [("RaNaN", "RaNaN@pyload.org"),
("fragonib", "fragonib[AT]yahoo[DOT]es")]
-
-
-getInfo = create_getInfo(NetfolderIn)
diff --git a/module/plugins/crypter/NitroflareComFolder.py b/module/plugins/crypter/NitroflareComFolder.py
index ae7ca27da..df6564e18 100644
--- a/module/plugins/crypter/NitroflareComFolder.py
+++ b/module/plugins/crypter/NitroflareComFolder.py
@@ -1,21 +1,20 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
-from module.plugins.internal.utils import json
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
+from module.plugins.internal.misc import json
class NitroflareComFolder(SimpleCrypter):
__name__ = "NitroflareComFolder"
__type__ = "crypter"
- __version__ = "0.06"
+ __version__ = "0.07"
__status__ = "testing"
__pattern__ = r'https?://(?:www\.)?nitroflare\.com/folder/(?P<USER>\d+)/(?P<ID>[\w=]+)'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Nitroflare.com folder decrypter plugin"""
__license__ = "GPLv3"
@@ -23,17 +22,15 @@ class NitroflareComFolder(SimpleCrypter):
def get_links(self):
- res = json.loads(self.load("http://nitroflare.com/ajax/folder.php",
- post={'userId' : self.info['pattern']['USER'],
- 'folder' : self.info['pattern']['ID'],
- 'page' : 1,
- 'perPage': 10000}))
+ html = self.load("http://nitroflare.com/ajax/folder.php",
+ post={'userId' : self.info['pattern']['USER'],
+ 'folder' : self.info['pattern']['ID'],
+ 'page' : 1,
+ 'perPage': 10000})
+ res = json.loads(html)
if res['name']:
self.pyfile.name = res['name']
else:
self.offline()
return [link['url'] for link in res['files']] if 'files' in res else None
-
-
-getInfo = create_getInfo(NitroflareComFolder)
diff --git a/module/plugins/crypter/NosvideoCom.py b/module/plugins/crypter/NosvideoCom.py
index a8d5d741d..fe989420f 100644
--- a/module/plugins/crypter/NosvideoCom.py
+++ b/module/plugins/crypter/NosvideoCom.py
@@ -1,20 +1,19 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class NosvideoCom(SimpleCrypter):
__name__ = "NosvideoCom"
__type__ = "crypter"
- __version__ = "0.06"
+ __version__ = "0.07"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?nosvideo\.com/\?v=\w+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Nosvideo.com decrypter plugin"""
__license__ = "GPLv3"
@@ -23,6 +22,3 @@ class NosvideoCom(SimpleCrypter):
LINK_PATTERN = r'href="(http://(?:w{3}\.)?nosupload\.com/\?d=\w+)"'
NAME_PATTERN = r'<[tT]itle>Watch (?P<N>.+?)<'
-
-
-getInfo = create_getInfo(NosvideoCom)
diff --git a/module/plugins/crypter/OronComFolder.py b/module/plugins/crypter/OronComFolder.py
index ad650d751..85b61f437 100644
--- a/module/plugins/crypter/OronComFolder.py
+++ b/module/plugins/crypter/OronComFolder.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class OronComFolder(DeadCrypter):
__name__ = "OronComFolder"
__type__ = "crypter"
- __version__ = "0.15"
+ __version__ = "0.16"
__status__ = "stable"
__pattern__ = r'http://(?:www\.)?oron\.com/folder/\w+'
@@ -15,6 +15,3 @@ class OronComFolder(DeadCrypter):
__description__ = """Oron.com folder decrypter plugin"""
__license__ = "GPLv3"
__authors__ = [("DHMH", "webmaster@pcProfil.de")]
-
-
-getInfo = create_getInfo(OronComFolder)
diff --git a/module/plugins/crypter/PastebinCom.py b/module/plugins/crypter/PastebinCom.py
index fe759320f..8b0f9ecf0 100644
--- a/module/plugins/crypter/PastebinCom.py
+++ b/module/plugins/crypter/PastebinCom.py
@@ -1,20 +1,19 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class PastebinCom(SimpleCrypter):
__name__ = "PastebinCom"
__type__ = "crypter"
- __version__ = "0.07"
+ __version__ = "0.08"
__status__ = "testing"
__pattern__ = r'https://(?:www\.)?pastebin\.com/(.+i=)?(?P<ID>\w{8})'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Pastebin.com decrypter plugin"""
__license__ = "GPLv3"
@@ -25,6 +24,3 @@ class PastebinCom(SimpleCrypter):
NAME_PATTERN = r'<div class="paste_box_line1" title="(?P<N>.+?)"'
LINK_PATTERN = r'<div class="de\d+">(.+?)<'
-
-
-getInfo = create_getInfo(PastebinCom)
diff --git a/module/plugins/crypter/PastedCo.py b/module/plugins/crypter/PastedCo.py
index 204853ed1..f6988ed11 100644
--- a/module/plugins/crypter/PastedCo.py
+++ b/module/plugins/crypter/PastedCo.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.Crypter import Crypter, create_getInfo
+from module.plugins.internal.Crypter import Crypter
import re
@@ -8,7 +8,7 @@ import re
class PastedCo(Crypter):
__name__ = "PastedCo"
__type__ = "crypter"
- __version__ = "0.04"
+ __version__ = "0.05"
__status__ = "testing"
__pattern__ = r'http://pasted\.co/\w+'
@@ -27,8 +27,8 @@ class PastedCo(Crypter):
def decrypt(self, pyfile):
package = pyfile.package()
- package_name = package.name
- package_folder = package.folder
+ pack_name = package.name
+ pack_folder = package.folder
html = self.load(pyfile.url, decode = True).splitlines()
fs_url = None
FS_URL_RE = re.compile('%s/fullscreen\.php\?hash=[0-9a-f]*' % pyfile.url)
@@ -42,7 +42,4 @@ class PastedCo(Crypter):
urls = self.load(fs_url, decode = True)
urls = urls[urls.find(PastedCo.FS_URL_PREFIX) + len(PastedCo.FS_URL_PREFIX):]
urls = urls[:urls.find(PastedCo.FS_URL_SUFFIX)].splitlines()
- self.packages.append((package_name, urls, package_folder))
-
-
-getInfo = create_getInfo(PastedCo)
+ self.packages.append((pack_name, urls, pack_folder))
diff --git a/module/plugins/crypter/QuickshareCzFolder.py b/module/plugins/crypter/QuickshareCzFolder.py
index c2ab3e144..ad0bf5704 100644
--- a/module/plugins/crypter/QuickshareCzFolder.py
+++ b/module/plugins/crypter/QuickshareCzFolder.py
@@ -2,20 +2,19 @@
import re
-from module.plugins.internal.Crypter import Crypter, create_getInfo
+from module.plugins.internal.Crypter import Crypter
class QuickshareCzFolder(Crypter):
__name__ = "QuickshareCzFolder"
__type__ = "crypter"
- __version__ = "0.15"
+ __version__ = "0.16"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?quickshare\.cz/slozka-\d+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available", True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default")]
__description__ = """Quickshare.cz folder decrypter plugin"""
__license__ = "GPLv3"
@@ -33,6 +32,3 @@ class QuickshareCzFolder(Crypter):
if m is None:
self.error(_("FOLDER_PATTERN not found"))
self.links.extend(re.findall(self.LINK_PATTERN, m.group(1)))
-
-
-getInfo = create_getInfo(QuickshareCzFolder)
diff --git a/module/plugins/crypter/RSLayerCom.py b/module/plugins/crypter/RSLayerCom.py
index b59b4f108..02d97b4c8 100644
--- a/module/plugins/crypter/RSLayerCom.py
+++ b/module/plugins/crypter/RSLayerCom.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class RSLayerCom(DeadCrypter):
__name__ = "RSLayerCom"
__type__ = "crypter"
- __version__ = "0.24"
+ __version__ = "0.25"
__status__ = "stable"
__pattern__ = r'http://(?:www\.)?rs-layer\.com/directory-'
@@ -15,6 +15,3 @@ class RSLayerCom(DeadCrypter):
__description__ = """RS-Layer.com decrypter plugin"""
__license__ = "GPLv3"
__authors__ = [("hzpz", None)]
-
-
-getInfo = create_getInfo(RSLayerCom)
diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py
index d8933be0a..621c80216 100644
--- a/module/plugins/crypter/RelinkUs.py
+++ b/module/plugins/crypter/RelinkUs.py
@@ -6,23 +6,22 @@ import binascii
import os
import re
-from Crypto.Cipher import AES
+import Crypto.Cipher
-from module.plugins.internal.Crypter import Crypter, create_getInfo
-from module.plugins.internal.utils import fs_join
+from module.plugins.internal.Crypter import Crypter
+from module.plugins.internal.misc import fsjoin
class RelinkUs(Crypter):
__name__ = "RelinkUs"
__type__ = "crypter"
- __version__ = "3.16"
+ __version__ = "3.17"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?relink\.us/(f/|((view|go)\.php\?id=))(?P<ID>.+)'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available", True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default")]
__description__ = """Relink.us decrypter plugin"""
__license__ = "GPLv3"
@@ -87,19 +86,19 @@ class RelinkUs(Crypter):
self.handle_errors()
#: Get package name and folder
- (package_name, folder_name) = self.get_package_info()
+ (pack_name, folder_name) = self.get_package_info()
#: Extract package links
- package_links = []
+ pack_links = []
for sources in self.PREFERRED_LINK_SOURCES:
- package_links.extend(self.handle_link_source(sources))
- if package_links: #: Use only first source which provides links
+ pack_links.extend(self.handle_link_source(sources))
+ if pack_links: #: Use only first source which provides links
break
- package_links = set(package_links)
+ pack_links = set(pack_links)
#: Pack
- if package_links:
- self.packages = [(package_name, package_links, folder_name)]
+ if pack_links:
+ self.packages = [(pack_name, pack_links, folder_name)]
def init_package(self, pyfile):
@@ -197,24 +196,24 @@ class RelinkUs(Crypter):
def handle_CNL2Links(self):
self.log_debug("Search for CNL2 links")
- package_links = []
+ pack_links = []
m = re.search(self.CNL2_FORM_REGEX, self.data, re.S)
if m is not None:
cnl2_form = m.group(1)
try:
(vcrypted, vjk) = self._get_cipher_params(cnl2_form)
for (crypted, jk) in zip(vcrypted, vjk):
- package_links.extend(self._get_links(crypted, jk))
+ pack_links.extend(self._get_links(crypted, jk))
except Exception:
self.log_debug("Unable to decrypt CNL2 links", trace=True)
- return package_links
+ return pack_links
def handle_DLC_links(self):
self.log_debug("Search for DLC links")
- package_links = []
+ pack_links = []
m = re.search(self.DLC_LINK_REGEX, self.data)
if m is not None:
container_url = self.DLC_DOWNLOAD_URL + "?id=%s&dlc=1" % self.fileid
@@ -222,21 +221,21 @@ class RelinkUs(Crypter):
try:
dlc = self.load(container_url)
dlc_filename = self.fileid + ".dlc"
- dlc_filepath = fs_join(self.pyload.config.get("general", "download_folder"), dlc_filename)
+ dlc_filepath = fsjoin(self.pyload.config.get("general", "download_folder"), dlc_filename)
with open(dlc_filepath, "wb") as f:
f.write(dlc)
- package_links.append(dlc_filepath)
+ pack_links.append(dlc_filepath)
except Exception:
self.fail(_("Unable to download DLC container"))
- return package_links
+ return pack_links
def handle_WEB_links(self):
self.log_debug("Search for WEB links")
- package_links = []
+ pack_links = []
params = re.findall(self.WEB_FORWARD_REGEX, self.data)
self.log_debug("Decrypting %d Web links" % len(params))
@@ -250,14 +249,14 @@ class RelinkUs(Crypter):
res = self.load(url)
link = re.search(self.WEB_LINK_REGEX, res).group(1)
- package_links.append(link)
+ pack_links.append(link)
except Exception, detail:
self.log_debug("Error decrypting Web link %s, %s" % (index, detail))
self.wait(4)
- return package_links
+ return pack_links
def _get_cipher_params(self, cnl2_form):
@@ -283,7 +282,7 @@ class RelinkUs(Crypter):
#: Decrypt
Key = key
IV = key
- obj = AES.new(Key, AES.MODE_CBC, IV)
+ obj = Crypto.Cipher.AES.new(Key, Crypto.Cipher.AES.MODE_CBC, IV)
text = obj.decrypt(crypted.decode('base64'))
#: Extract links
@@ -293,6 +292,3 @@ class RelinkUs(Crypter):
#: Log and return
self.log_debug("Package has %d links" % len(links))
return links
-
-
-getInfo = create_getInfo(RelinkUs)
diff --git a/module/plugins/crypter/SafelinkingNet.py b/module/plugins/crypter/SafelinkingNet.py
index 98af1522f..d1c23d14f 100644
--- a/module/plugins/crypter/SafelinkingNet.py
+++ b/module/plugins/crypter/SafelinkingNet.py
@@ -4,22 +4,21 @@ import re
import BeautifulSoup
-from module.plugins.internal.utils import json
-from module.plugins.internal.Crypter import Crypter, create_getInfo
+from module.plugins.internal.misc import json
+from module.plugins.internal.Crypter import Crypter
from module.plugins.captcha.SolveMedia import SolveMedia
class SafelinkingNet(Crypter):
__name__ = "SafelinkingNet"
__type__ = "crypter"
- __version__ = "0.19"
+ __version__ = "0.20"
__status__ = "testing"
__pattern__ = r'https?://(?:www\.)?safelinking\.net/([pd])/\w+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available", True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default")]
__description__ = """Safelinking.net decrypter plugin"""
__license__ = "GPLv3"
@@ -52,7 +51,7 @@ class SafelinkingNet(Crypter):
m = re.search(self.SOLVEMEDIA_PATTERN, self.data)
if m is not None:
captchaKey = m.group(1)
- captcha = SolveMedia(self)
+ captcha = SolveMedia(pyfile)
captchaProvider = "Solvemedia"
else:
self.fail(_("Error parsing captcha"))
@@ -83,6 +82,3 @@ class SafelinkingNet(Crypter):
self.links.append("https://safelinking.net/d/" + link['full'])
else:
self.links.append(link['full'])
-
-
-getInfo = create_getInfo(SafelinkingNet)
diff --git a/module/plugins/crypter/SecuredIn.py b/module/plugins/crypter/SecuredIn.py
index 62ec9ea7d..cb219c41c 100644
--- a/module/plugins/crypter/SecuredIn.py
+++ b/module/plugins/crypter/SecuredIn.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class SecuredIn(DeadCrypter):
__name__ = "SecuredIn"
__type__ = "crypter"
- __version__ = "0.24"
+ __version__ = "0.25"
__status__ = "stable"
__pattern__ = r'http://(?:www\.)?secured\.in/download-[\d]+\-\w{8}\.html'
@@ -15,6 +15,3 @@ class SecuredIn(DeadCrypter):
__description__ = """Secured.in decrypter plugin"""
__license__ = "GPLv3"
__authors__ = [("mkaay", "mkaay@mkaay.de")]
-
-
-getInfo = create_getInfo(SecuredIn)
diff --git a/module/plugins/crypter/SexuriaCom.py b/module/plugins/crypter/SexuriaCom.py
index 8ccf0c83a..edeecf80b 100644
--- a/module/plugins/crypter/SexuriaCom.py
+++ b/module/plugins/crypter/SexuriaCom.py
@@ -2,19 +2,19 @@
import re
-from module.plugins.internal.Crypter import Crypter, create_getInfo
+from module.plugins.internal.Crypter import Crypter
class SexuriaCom(Crypter):
__name__ = "SexuriaCom"
__type__ = "crypter"
- __version__ = "0.12"
+ __version__ = "0.13"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?sexuria\.com/(v1/)?(Pornos_Kostenlos_.+?_(\d+)\.html|dl_links_\d+_\d+\.html|id=\d+\&part=\d+\&link=\d+)'
__config__ = [("activated" , "bool", "Activated" , True),
("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default")]
__description__ = """Sexuria.com decrypter plugin"""
__license__ = "GPLv3"
@@ -36,10 +36,10 @@ class SexuriaCom(Crypter):
self.package = pyfile.package()
#: Decrypt and add links
- package_name, self.urls, folder_name, package_pwd = self.decrypt_links(self.pyfile.url)
- if package_pwd:
- self.pyfile.package().password = package_pwd
- self.packages = [(package_name, self.urls, folder_name)]
+ pack_name, self.urls, folder_name, pack_pwd = self.decrypt_links(self.pyfile.url)
+ if pack_pwd:
+ self.pyfile.package().password = pack_pwd
+ self.packages = [(pack_name, self.urls, folder_name)]
def decrypt_links(self, url):
@@ -107,6 +107,3 @@ class SexuriaCom(Crypter):
#: All done, return to caller
return name, linklist, folder, password
-
-
-getInfo = create_getInfo(SexuriaCom)
diff --git a/module/plugins/crypter/ShSt.py b/module/plugins/crypter/ShSt.py
index be2fea9e1..fdb40bd76 100644
--- a/module/plugins/crypter/ShSt.py
+++ b/module/plugins/crypter/ShSt.py
@@ -4,13 +4,13 @@ import re
import pycurl
-from module.plugins.internal.Crypter import Crypter, create_getInfo
+from module.plugins.internal.Crypter import Crypter
class ShSt(Crypter):
__name__ = "ShSt"
__type__ = "crypter"
- __version__ = "0.07"
+ __version__ = "0.08"
__status__ = "testing"
__pattern__ = r'http://sh\.st/\w+'
@@ -31,6 +31,3 @@ class ShSt(Crypter):
header = self.load(self.pyfile.url, just_header = True, decode = False)
target_url = header.get('location')
self.links.append(target_url)
-
-
-getInfo = create_getInfo(ShSt)
diff --git a/module/plugins/crypter/ShareLinksBiz.py b/module/plugins/crypter/ShareLinksBiz.py
index e2ddfd926..2aa670a7e 100644
--- a/module/plugins/crypter/ShareLinksBiz.py
+++ b/module/plugins/crypter/ShareLinksBiz.py
@@ -3,9 +3,9 @@
import binascii
import re
-from Crypto.Cipher import AES
+import Crypto.Cipher
-from module.plugins.internal.Crypter import Crypter, create_getInfo
+from module.plugins.internal.Crypter import Crypter
class ShareLinksBiz(Crypter):
@@ -15,10 +15,9 @@ class ShareLinksBiz(Crypter):
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?(share-links|s2l)\.biz/(?P<ID>_?\w+)'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available", True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default")]
__description__ = """Share-Links.biz decrypter plugin"""
__license__ = "GPLv3"
@@ -53,17 +52,17 @@ class ShareLinksBiz(Crypter):
self.handle_errors()
#: Extract package links
- package_links = []
- package_links.extend(self.handle_web_links())
- package_links.extend(self.handle_containers())
- package_links.extend(self.handle_CNL2())
- package_links = set(package_links)
+ pack_links = []
+ pack_links.extend(self.handle_web_links())
+ pack_links.extend(self.handle_containers())
+ pack_links.extend(self.handle_CNL2())
+ pack_links = set(pack_links)
#: Get package info
- package_name, package_folder = self.get_package_info()
+ pack_name, pack_folder = self.get_package_info()
#: Pack
- self.packages = [(package_name, package_links, package_folder)]
+ self.packages = [(pack_name, pack_links, pack_folder)]
def init_file(self, pyfile):
@@ -71,7 +70,7 @@ class ShareLinksBiz(Crypter):
if 's2l.biz' in url:
header = self.load(url, just_header=True)
-
+
if not 'location' in header:
self.fail(_("Unable to initialize download"))
else:
@@ -200,7 +199,7 @@ class ShareLinksBiz(Crypter):
def handle_web_links(self):
- package_links = []
+ pack_links = []
self.log_debug("Handling Web links")
#@TODO: Gather paginated web links
@@ -226,16 +225,16 @@ class ShareLinksBiz(Crypter):
self.log_debug("JsEngine returns value [%s] for redirection link" % dlLink)
- package_links.append(dlLink)
+ pack_links.append(dlLink)
except Exception, detail:
self.log_debug("Error decrypting Web link [%s], %s" % (ID, detail))
- return package_links
+ return pack_links
def handle_containers(self):
- package_links = []
+ pack_links = []
self.log_debug("Handling Container links")
pattern = r'javascript:_get\(\'(.*?)\', 0, \'(rsdf|ccf|dlc)\'\)'
@@ -243,23 +242,23 @@ class ShareLinksBiz(Crypter):
self.log_debug("Decrypting %d Container links" % len(containersLinks))
for containerLink in containersLinks:
link = "%s/get/%s/%s" % (self.base_url, containerLink[1], containerLink[0])
- package_links.append(link)
- return package_links
+ pack_links.append(link)
+ return pack_links
def handle_CNL2(self):
- package_links = []
+ pack_links = []
self.log_debug("Handling CNL2 links")
if '/lib/cnl2/ClicknLoad.swf' in self.data:
try:
(crypted, jk) = self._get_cipher_params()
- package_links.extend(self._get_links(crypted, jk))
+ pack_links.extend(self._get_links(crypted, jk))
except Exception:
self.fail(_("Unable to decrypt CNL2 links"))
- return package_links
+ return pack_links
def _get_cipher_params(self):
@@ -290,7 +289,7 @@ class ShareLinksBiz(Crypter):
#: Decrypt
Key = key
IV = key
- obj = AES.new(Key, AES.MODE_CBC, IV)
+ obj = Crypto.Cipher.AES.new(Key, Crypto.Cipher.AES.MODE_CBC, IV)
text = obj.decrypt(crypted.decode('base64'))
#: Extract links
@@ -300,6 +299,3 @@ class ShareLinksBiz(Crypter):
#: Log and return
self.log_debug("Block has %d links" % len(links))
return links
-
-
-getInfo = create_getInfo(ShareLinksBiz)
diff --git a/module/plugins/crypter/SharingmatrixComFolder.py b/module/plugins/crypter/SharingmatrixComFolder.py
index 2fb24bca3..1b76e32fd 100644
--- a/module/plugins/crypter/SharingmatrixComFolder.py
+++ b/module/plugins/crypter/SharingmatrixComFolder.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class SharingmatrixComFolder(DeadCrypter):
__name__ = "SharingmatrixComFolder"
__type__ = "crypter"
- __version__ = "0.05"
+ __version__ = "0.06"
__status__ = "stable"
__pattern__ = r'http://(?:www\.)?sharingmatrix\.com/folder/\w+'
@@ -15,6 +15,3 @@ class SharingmatrixComFolder(DeadCrypter):
__description__ = """Sharingmatrix.com folder decrypter plugin"""
__license__ = "GPLv3"
__authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
-
-
-getInfo = create_getInfo(SharingmatrixComFolder)
diff --git a/module/plugins/crypter/SpeedLoadOrgFolder.py b/module/plugins/crypter/SpeedLoadOrgFolder.py
index bc01d50dd..bda010205 100644
--- a/module/plugins/crypter/SpeedLoadOrgFolder.py
+++ b/module/plugins/crypter/SpeedLoadOrgFolder.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class SpeedLoadOrgFolder(DeadCrypter):
__name__ = "SpeedLoadOrgFolder"
__type__ = "crypter"
- __version__ = "0.34"
+ __version__ = "0.35"
__status__ = "stable"
__pattern__ = r'http://(?:www\.)?speedload\.org/(\d+~f$|folder/\d+/)'
@@ -15,6 +15,3 @@ class SpeedLoadOrgFolder(DeadCrypter):
__description__ = """Speedload decrypter plugin"""
__license__ = "GPLv3"
__authors__ = [("stickell", "l.stickell@yahoo.it")]
-
-
-getInfo = create_getInfo(SpeedLoadOrgFolder)
diff --git a/module/plugins/crypter/StealthTo.py b/module/plugins/crypter/StealthTo.py
index 7d52b34dc..2df6612c2 100644
--- a/module/plugins/crypter/StealthTo.py
+++ b/module/plugins/crypter/StealthTo.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class StealthTo(DeadCrypter):
__name__ = "StealthTo"
__type__ = "crypter"
- __version__ = "0.23"
+ __version__ = "0.24"
__status__ = "stable"
__pattern__ = r'http://(?:www\.)?stealth\.to/folder/.+'
@@ -15,6 +15,3 @@ class StealthTo(DeadCrypter):
__description__ = """Stealth.to decrypter plugin"""
__license__ = "GPLv3"
__authors__ = [("spoob", "spoob@pyload.org")]
-
-
-getInfo = create_getInfo(StealthTo)
diff --git a/module/plugins/crypter/TNTVillageScambioeticoOrg.py b/module/plugins/crypter/TNTVillageScambioeticoOrg.py
index 81e18e697..416b2091e 100644
--- a/module/plugins/crypter/TNTVillageScambioeticoOrg.py
+++ b/module/plugins/crypter/TNTVillageScambioeticoOrg.py
@@ -1,20 +1,19 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class TNTVillageScambioeticoOrg(SimpleCrypter):
__name__ = "TNTVillageScambioeticoOrg"
__type__ = "crypter"
- __version__ = "0.05"
+ __version__ = "0.06"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?forum\.tntvillage\.scambioetico\.org/index\.php\?.*showtopic=\d+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """TNTVillage.scambioetico.org decrypter plugin"""
__license__ = "GPLv3"
@@ -30,6 +29,3 @@ class TNTVillageScambioeticoOrg(SimpleCrypter):
links = super(TNTVillageScambioeticoOrg, self).getLinks()
if links:
return links
-
-
-getInfo = create_getInfo(TNTVillageScambioeticoOrg)
diff --git a/module/plugins/crypter/TinyurlCom.py b/module/plugins/crypter/TinyurlCom.py
index e11fa5e8f..9cec99807 100644
--- a/module/plugins/crypter/TinyurlCom.py
+++ b/module/plugins/crypter/TinyurlCom.py
@@ -1,20 +1,19 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class TinyurlCom(SimpleCrypter):
__name__ = "TinyurlCom"
__type__ = "crypter"
- __version__ = "0.05"
+ __version__ = "0.06"
__status__ = "testing"
__pattern__ = r'https?://(?:www\.)?(preview\.)?tinyurl\.com/[\w\-]+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Tinyurl.com decrypter plugin"""
__license__ = "GPLv3"
@@ -24,6 +23,3 @@ class TinyurlCom(SimpleCrypter):
URL_REPLACEMENTS = [(r'preview\.', r'')]
OFFLINE_PATTERN = r">Error: Unable to find site's URL to redirect to"
-
-
-getInfo = create_getInfo(TinyurlCom)
diff --git a/module/plugins/crypter/TnyCz.py b/module/plugins/crypter/TnyCz.py
index cba2df0c9..c7680a272 100644
--- a/module/plugins/crypter/TnyCz.py
+++ b/module/plugins/crypter/TnyCz.py
@@ -2,21 +2,20 @@
import re
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class TnyCz(SimpleCrypter):
__name__ = "TnyCz"
__type__ = "crypter"
- __version__ = "0.07"
+ __version__ = "0.08"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?tny\.cz/\w+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Tny.cz decrypter plugin"""
__license__ = "GPLv3"
@@ -29,6 +28,3 @@ class TnyCz(SimpleCrypter):
def get_links(self):
m = re.search(r'<a id=\'save_paste\' href="(.+save\.php\?hash=.+)">', self.data)
return re.findall(".+", self.load(m.group(1))) if m else None
-
-
-getInfo = create_getInfo(TnyCz)
diff --git a/module/plugins/crypter/TrailerzoneInfo.py b/module/plugins/crypter/TrailerzoneInfo.py
index 6c3485a14..66edd32df 100644
--- a/module/plugins/crypter/TrailerzoneInfo.py
+++ b/module/plugins/crypter/TrailerzoneInfo.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class TrailerzoneInfo(DeadCrypter):
__name__ = "TrailerzoneInfo"
__type__ = "crypter"
- __version__ = "0.06"
+ __version__ = "0.07"
__status__ = "stable"
__pattern__ = r'http://(?:www\.)?trailerzone\.info/.+'
@@ -15,6 +15,3 @@ class TrailerzoneInfo(DeadCrypter):
__description__ = """TrailerZone.info decrypter plugin"""
__license__ = "GPLv3"
__authors__ = [("godofdream", "soilfiction@gmail.com")]
-
-
-getInfo = create_getInfo(TrailerzoneInfo)
diff --git a/module/plugins/crypter/TurbobitNetFolder.py b/module/plugins/crypter/TurbobitNetFolder.py
index 20f664526..32320414b 100644
--- a/module/plugins/crypter/TurbobitNetFolder.py
+++ b/module/plugins/crypter/TurbobitNetFolder.py
@@ -2,22 +2,21 @@
import re
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
-from module.plugins.internal.utils import json
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
+from module.plugins.internal.misc import json
class TurbobitNetFolder(SimpleCrypter):
__name__ = "TurbobitNetFolder"
__type__ = "crypter"
- __version__ = "0.09"
+ __version__ = "0.10"
__status__ = "broken"
__pattern__ = r'http://(?:www\.)?turbobit\.net/download/folder/(?P<ID>\w+)'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Turbobit.net folder decrypter plugin"""
__license__ = "GPLv3"
@@ -44,6 +43,3 @@ class TurbobitNetFolder(SimpleCrypter):
def get_links(self):
return ["http://turbobit.net/%s.html" % id for id in self._get_links(self.info['pattern']['ID'])]
-
-
-getInfo = create_getInfo(TurbobitNetFolder)
diff --git a/module/plugins/crypter/TusfilesNetFolder.py b/module/plugins/crypter/TusfilesNetFolder.py
index 8a524306d..2138e0007 100644
--- a/module/plugins/crypter/TusfilesNetFolder.py
+++ b/module/plugins/crypter/TusfilesNetFolder.py
@@ -4,21 +4,20 @@ import math
import re
import urlparse
-from module.plugins.internal.XFSCrypter import XFSCrypter, create_getInfo
+from module.plugins.internal.XFSCrypter import XFSCrypter
class TusfilesNetFolder(XFSCrypter):
__name__ = "TusfilesNetFolder"
__type__ = "crypter"
- __version__ = "0.13"
+ __version__ = "0.14"
__status__ = "testing"
__pattern__ = r'https?://(?:www\.)?tusfiles\.net/go/(?P<ID>\w+)'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Tusfiles.net folder decrypter plugin"""
__license__ = "GPLv3"
@@ -47,6 +46,3 @@ class TusfilesNetFolder(XFSCrypter):
for p in xrange(2, pages + 1):
self.data = self.load_page(p)
self.links.append(self.get_links())
-
-
-getInfo = create_getInfo(TusfilesNetFolder)
diff --git a/module/plugins/crypter/UlozToFolder.py b/module/plugins/crypter/UlozToFolder.py
index a57544db6..22fcac7d9 100644
--- a/module/plugins/crypter/UlozToFolder.py
+++ b/module/plugins/crypter/UlozToFolder.py
@@ -2,20 +2,19 @@
import re
-from module.plugins.internal.Crypter import Crypter, create_getInfo
+from module.plugins.internal.Crypter import Crypter
class UlozToFolder(Crypter):
__name__ = "UlozToFolder"
__type__ = "crypter"
- __version__ = "0.25"
+ __version__ = "0.26"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj\.cz|zachowajto\.pl)/(m|soubory)/.+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available", True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default")]
__description__ = """Uloz.to folder decrypter plugin"""
__license__ = "GPLv3"
@@ -48,6 +47,3 @@ class UlozToFolder(Crypter):
if new_links:
self.links = [map(lambda s: "http://ulozto.net/%s" % s, new_links)]
-
-
-getInfo = create_getInfo(UlozToFolder)
diff --git a/module/plugins/crypter/UploadableChFolder.py b/module/plugins/crypter/UploadableChFolder.py
index 320dbc0d9..f108f0a4a 100644
--- a/module/plugins/crypter/UploadableChFolder.py
+++ b/module/plugins/crypter/UploadableChFolder.py
@@ -1,20 +1,19 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class UploadableChFolder(SimpleCrypter):
__name__ = "UploadableChFolder"
__type__ = "crypter"
- __version__ = "0.07"
+ __version__ = "0.08"
__status__ = "testing"
__pattern__ = r'http://(?:www\.)?uploadable\.ch/list/\w+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """Uploadable.ch folder decrypter plugin"""
__license__ = "GPLv3"
@@ -26,6 +25,3 @@ class UploadableChFolder(SimpleCrypter):
NAME_PATTERN = r'<div class="folder"><span>&nbsp;</span>(?P<N>.+?)</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">'
-
-
-getInfo = create_getInfo(UploadableChFolder)
diff --git a/module/plugins/crypter/UploadedToFolder.py b/module/plugins/crypter/UploadedToFolder.py
index 8c55beda9..5b1f7a688 100644
--- a/module/plugins/crypter/UploadedToFolder.py
+++ b/module/plugins/crypter/UploadedToFolder.py
@@ -2,21 +2,20 @@
import re
-from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
class UploadedToFolder(SimpleCrypter):
__name__ = "UploadedToFolder"
__type__ = "crypter"
- __version__ = "0.47"
+ __version__ = "0.48"
__status__ = "testing"
__pattern__ = r'https?://(?:www\.)?(uploaded|ul)\.(to|net)/(f|folder|list)/\w+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """UploadedTo decrypter plugin"""
__license__ = "GPLv3"
@@ -28,6 +27,3 @@ class UploadedToFolder(SimpleCrypter):
TEMP_OFFLINE_PATTERN = r'<title>uploaded\.net - Maintenance'
LINK_PATTERN = r'<h2><a href="(.+?)"'
-
-
-getInfo = create_getInfo(UploadedToFolder)
diff --git a/module/plugins/crypter/WiiReloadedOrg.py b/module/plugins/crypter/WiiReloadedOrg.py
index ebacdd953..4c3c5f82d 100644
--- a/module/plugins/crypter/WiiReloadedOrg.py
+++ b/module/plugins/crypter/WiiReloadedOrg.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class WiiReloadedOrg(DeadCrypter):
__name__ = "WiiReloadedOrg"
__type__ = "crypter"
- __version__ = "0.14"
+ __version__ = "0.15"
__status__ = "stable"
__pattern__ = r'http://(?:www\.)?wii-reloaded\.org/protect/get\.php\?i=.+'
@@ -15,6 +15,3 @@ class WiiReloadedOrg(DeadCrypter):
__description__ = """Wii-Reloaded.org decrypter plugin"""
__license__ = "GPLv3"
__authors__ = [("hzpz", None)]
-
-
-getInfo = create_getInfo(WiiReloadedOrg)
diff --git a/module/plugins/crypter/WuploadComFolder.py b/module/plugins/crypter/WuploadComFolder.py
index 92cf7bae0..738ba0fe3 100644
--- a/module/plugins/crypter/WuploadComFolder.py
+++ b/module/plugins/crypter/WuploadComFolder.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.DeadCrypter import DeadCrypter, create_getInfo
+from module.plugins.internal.DeadCrypter import DeadCrypter
class WuploadComFolder(DeadCrypter):
__name__ = "WuploadComFolder"
__type__ = "crypter"
- __version__ = "0.05"
+ __version__ = "0.06"
__status__ = "stable"
__pattern__ = r'http://(?:www\.)?wupload\.com/folder/\w+'
@@ -15,6 +15,3 @@ class WuploadComFolder(DeadCrypter):
__description__ = """Wupload.com folder decrypter plugin"""
__license__ = "GPLv3"
__authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
-
-
-getInfo = create_getInfo(WuploadComFolder)
diff --git a/module/plugins/crypter/XFileSharingFolder.py b/module/plugins/crypter/XFileSharingFolder.py
index 927a0f6bc..26ba286c0 100644
--- a/module/plugins/crypter/XFileSharingFolder.py
+++ b/module/plugins/crypter/XFileSharingFolder.py
@@ -2,21 +2,20 @@
import re
-from module.plugins.internal.XFSCrypter import XFSCrypter, create_getInfo
+from module.plugins.internal.XFSCrypter import XFSCrypter
class XFileSharingFolder(XFSCrypter):
__name__ = "XFileSharingFolder"
__type__ = "crypter"
- __version__ = "0.23"
+ __version__ = "0.24"
__status__ = "testing"
__pattern__ = r'^unmatchable$'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package" , True),
- ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )]
__description__ = """XFileSharing dummy folder decrypter plugin for hook"""
__license__ = "GPLv3"
@@ -39,7 +38,7 @@ class XFileSharingFolder(XFSCrypter):
def setup_base(self):
if self.account:
self.req = self.pyload.requestFactory.getRequest(self.PLUGIN_NAME, self.account.user)
- self.premium = self.account.info['data']['premium'] #@NOTE: Avoid one unnecessary get_info call by `self.account.premium` here
+ self.premium = self.account.info['data']['premium'] #@NOTE: Don't call get_info here to reduce overhead
else:
self.req = self.pyload.requestFactory.getRequest(self.classname)
self.premium = False
@@ -53,6 +52,3 @@ class XFileSharingFolder(XFSCrypter):
self.__class__.__name__ = str(self.PLUGIN_NAME)
super(XFileSharingFolder, self).load_account()
self.__class__.__name__ = class_name
-
-
-getInfo = create_getInfo(XFileSharingFolder)
diff --git a/module/plugins/crypter/XupPl.py b/module/plugins/crypter/XupPl.py
index 39d168379..c47be0645 100644
--- a/module/plugins/crypter/XupPl.py
+++ b/module/plugins/crypter/XupPl.py
@@ -1,19 +1,18 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.Crypter import Crypter, create_getInfo
+from module.plugins.internal.Crypter import Crypter
class XupPl(Crypter):
__name__ = "XupPl"
__type__ = "crypter"
- __version__ = "0.14"
+ __version__ = "0.15"
__status__ = "testing"
__pattern__ = r'https?://(?:[^/]*\.)?xup\.pl/.+'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True),
- ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available", True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default")]
__description__ = """Xup.pl decrypter plugin"""
__license__ = "GPLv3"
@@ -26,6 +25,3 @@ class XupPl(Crypter):
self.links = [header.get('location')]
else:
self.fail(_("Unable to find link"))
-
-
-getInfo = create_getInfo(XupPl)
diff --git a/module/plugins/crypter/YoutubeComFolder.py b/module/plugins/crypter/YoutubeComFolder.py
index b7b51aeef..dc605ffce 100644
--- a/module/plugins/crypter/YoutubeComFolder.py
+++ b/module/plugins/crypter/YoutubeComFolder.py
@@ -3,24 +3,23 @@
import re
import urlparse
-from module.plugins.internal.Crypter import Crypter, create_getInfo
-from module.plugins.internal.utils import fs_join, json
+from module.plugins.internal.Crypter import Crypter
+from module.plugins.internal.misc import fsjoin, json
class YoutubeComFolder(Crypter):
__name__ = "YoutubeComFolder"
__type__ = "crypter"
- __version__ = "1.07"
+ __version__ = "1.08"
__status__ = "testing"
__pattern__ = r'https?://(?:www\.|m\.)?youtube\.com/(?P<TYPE>user|playlist|view_play_list)(/|.*?[?&](?:list|p)=)(?P<ID>[\w\-]+)'
- __config__ = [("activated" , "bool", "Activated" , True ),
- ("use_premium" , "bool", "Use premium account if available" , True ),
- ("use_subfolder" , "bool", "Save package to subfolder" , True ),
- ("subfolder_per_package", "bool", "Create a subfolder for each package", True ),
- ("likes" , "bool", "Grab user (channel) liked videos" , False),
- ("favorites" , "bool", "Grab user (channel) favorite videos", False),
- ("uploads" , "bool", "Grab channel unplaylisted videos" , True )]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available" , True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default"),
+ ("likes" , "bool" , "Grab user (channel) liked videos" , False ),
+ ("favorites" , "bool" , "Grab user (channel) favorite videos", False ),
+ ("uploads" , "bool" , "Grab channel unplaylisted videos" , True )]
__description__ = """Youtube.com channel & playlist decrypter plugin"""
__license__ = "GPLv3"
@@ -117,7 +116,7 @@ class YoutubeComFolder(Crypter):
relatedplaylist['uploads']['checkDups'] = True #: checkDups flag
for p_name, p_data in relatedplaylist.items():
- if self.get_config(p_name):
+ if self.config.get(p_name):
p_data['title'] += " of " + user
playlists.append(p_data)
else:
@@ -134,7 +133,7 @@ class YoutubeComFolder(Crypter):
for p in playlists:
p_name = p['title']
p_videos = self.get_videos_id(p['id'])
- p_folder = fs_join(self.pyload.config.get("general", "download_folder"), p['channelTitle'], p_name)
+ p_folder = fsjoin(self.pyload.config.get("general", "download_folder"), p['channelTitle'], p_name)
self.log_debug("%s video\s found on playlist \"%s\"" % (len(p_videos), p_name))
if not p_videos:
@@ -148,6 +147,3 @@ class YoutubeComFolder(Crypter):
self.packages.append((p_name, p_urls, p_folder)) #: Folder is NOT recognized by pyload 0.4.9!
addedvideos.extend(p_videos)
-
-
-getInfo = create_getInfo(YoutubeComFolder)