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 | 
