diff options
-rw-r--r-- | module/Api.py | 2 | ||||
-rw-r--r-- | module/plugins/Crypter.py | 2 | ||||
-rw-r--r-- | module/plugins/crypter/XfilesharingProFolder.py | 34 |
3 files changed, 36 insertions, 2 deletions
diff --git a/module/Api.py b/module/Api.py index 769fcdf0d..d707b18fc 100644 --- a/module/Api.py +++ b/module/Api.py @@ -301,7 +301,7 @@ class Api(Iface): else: folder = "" - folder = folder.replace("http://", "").replace(":", "").replace("/", "_").replace("\\", "_") + folder = folder.replace("http://", "").replace(":", "").replace("\\", "_") #.replace("/", "_") self.core.log.info(_("Added package %(name)s containing %(count)d links") % {"name": name, "count": len(links)}) pid = self.core.files.addPackage(name, folder, dest, password) diff --git a/module/plugins/Crypter.py b/module/plugins/Crypter.py index 3e423881e..6079ae8f6 100644 --- a/module/plugins/Crypter.py +++ b/module/plugins/Crypter.py @@ -12,7 +12,7 @@ from Base import Base, Retry class Package: """ Container that indicates new package should be created """ def __init__(self, name, urls=None, dest=Destination.Queue): - self.name = name, + self.name = name self.urls = urls if urls else [] self.dest = dest diff --git a/module/plugins/crypter/XfilesharingProFolder.py b/module/plugins/crypter/XfilesharingProFolder.py new file mode 100644 index 000000000..8e58c207d --- /dev/null +++ b/module/plugins/crypter/XfilesharingProFolder.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*-
+
+from module.plugins.Crypter import Crypter, Package
+import re
+
+class XfilesharingProFolder(Crypter):
+ __name__ = "XfilesharingProFolder"
+ __type__ = "crypter"
+ __pattern__ = r"http://(?:www\.)?((easybytez|turboupload|uploadville|file4safe|fileband|filebeep|grupload|247upload)\.com|(muchshare|annonhost).net|bzlink.us)/users/.*"
+ __version__ = "0.01"
+ __description__ = """Generic XfilesharingPro Folder Plugin"""
+ __author_name__ = ("zoidberg")
+ __author_mail__ = ("zoidberg@mujmail.cz")
+
+ LINK_PATTERN = r'<div class="link"><a href="([^"]+)" target="_blank">[^<]*</a></div>'
+ SUBFOLDER_PATTERN = r'<TD width="1%"><img src="[^"]*/images/folder2.gif"></TD><TD><a href="([^"]+)"><b>(?!\. \.<)([^<]+)</b></a></TD>'
+
+ def decryptURL(self, url):
+ return self.decryptFile(self.load(url, decode = True))
+
+ def decryptFile(self, html):
+ new_links = []
+
+ new_links.extend(re.findall(self.LINK_PATTERN, html))
+
+ subfolders = re.findall(self.SUBFOLDER_PATTERN, html)
+ #self.logDebug(subfolders)
+ for (url, name) in subfolders:
+ if self.package: name = "%s/%s" % (self.package.name, name)
+ new_links.append(Package(name, [url]))
+
+ if not new_links: self.fail('Could not extract any links')
+
+ return new_links
\ No newline at end of file |