diff options
Diffstat (limited to 'module')
| -rw-r--r-- | module/plugins/crypter/GooGl.py | 15 | ||||
| -rw-r--r-- | module/plugins/crypter/NetfolderIn.py | 48 | ||||
| -rw-r--r-- | module/plugins/crypter/SpeedLoadOrgFolder.py | 15 | ||||
| -rw-r--r-- | module/plugins/crypter/UploadedToFolder.py | 18 | ||||
| -rw-r--r-- | module/plugins/hoster/DebridItaliaCom.py | 2 | ||||
| -rw-r--r-- | module/plugins/internal/SimpleCrypter.py | 2 | 
6 files changed, 52 insertions, 48 deletions
| diff --git a/module/plugins/crypter/GooGl.py b/module/plugins/crypter/GooGl.py index 07de5e008..bcb1d7494 100644 --- a/module/plugins/crypter/GooGl.py +++ b/module/plugins/crypter/GooGl.py @@ -1,5 +1,20 @@  # -*- coding: utf-8 -*- +############################################################################ +# This program is free software: you can redistribute it and/or modify     # +# it under the terms of the GNU Affero General Public License as           # +# published by the Free Software Foundation, either version 3 of the       # +# License, or (at your option) any later version.                          # +#                                                                          # +# This program is distributed in the hope that it will be useful,          # +# but WITHOUT ANY WARRANTY; without even the implied warranty of           # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            # +# GNU Affero General Public License for more details.                      # +#                                                                          # +# You should have received a copy of the GNU Affero General Public License # +# along with this program.  If not, see <http://www.gnu.org/licenses/>.    # +############################################################################ +  from module.plugins.Crypter import Crypter  from module.common.json_layer import json_loads diff --git a/module/plugins/crypter/NetfolderIn.py b/module/plugins/crypter/NetfolderIn.py index d71a73d0a..c5c602c27 100644 --- a/module/plugins/crypter/NetfolderIn.py +++ b/module/plugins/crypter/NetfolderIn.py @@ -1,22 +1,25 @@  # -*- coding: utf-8 -*- -from module.plugins.Crypter import Crypter  import re -class NetfolderIn(Crypter): +from module.plugins.internal.SimpleCrypter import SimpleCrypter + + +class NetfolderIn(SimpleCrypter):      __name__ = "NetfolderIn"      __type__ = "crypter"      __pattern__ = r"http://(?:www\.)?netfolder.in/((?P<id1>\w+)/\w+|folder.php\?folder_id=(?P<id2>\w+))" -    __version__ = "0.4" +    __version__ = "0.6"      __description__ = """NetFolder Crypter Plugin"""      __author_name__ = ("RaNaN", "fragonib")      __author_mail__ = ("RaNaN@pyload.org", "fragonib[AT]yahoo[DOT]es") +    TITLE_PATTERN = r'<div class="Text">Inhalt des Ordners <span(.*)>(?P<title>.+)</span></div>' +      def decrypt(self, pyfile): -                  # Request package          self.html = self.load(pyfile.url) -         +          # Check for password protection              if self.isPasswordProtected():              self.html = self.submitPassword() @@ -31,54 +34,37 @@ class NetfolderIn(Crypter):          # Set package          self.packages = [(package_name, package_links, folder_name)] -         -         +      def isPasswordProtected(self): -         +          if '<input type="password" name="password"' in self.html:              self.logDebug("Links are password protected")              return True          return False -      def submitPassword(self):          # Gather data          try:              m = re.match(self.__pattern__, self.pyfile.url) -            id = max(m.group('id1'), m.group('id2'))  +            id = max(m.group('id1'), m.group('id2'))          except AttributeError:              self.logDebug("Unable to get package id from url [%s]" % self.pyfile.url)              return          url = "http://netfolder.in/folder.php?folder_id=" + id          password = self.getPassword() -                    +          # Submit package password      -        post = { 'password' : password, 'save' : 'Absenden' } +        post = {'password': password, 'save': 'Absenden'}          self.logDebug("Submitting password [%s] for protected links with id [%s]" % (password, id))          html = self.load(url, {}, post) -         +          # Check for invalid password          if '<div class="InPage_Error">' in html:              self.logDebug("Incorrect password, please set right password on Edit package form and retry")              return None -         -        return html  -     -     -    def getPackageNameAndFolder(self): -        title_re = r'<div class="Text">Inhalt des Ordners <span(.*)>(?P<title>.+)</span></div>' -        m = re.search(title_re, self.html) -        if m is not None: -            name = folder = m.group('title') -            self.logDebug("Found name [%s] and folder [%s] in package info" % (name, folder)) -            return name, folder -        else: -            name = self.pyfile.package().name -            folder = self.pyfile.package().folder -            self.logDebug("Package info not found, defaulting to pyfile name [%s] and folder [%s]" % (name, folder)) -            return name, folder -         -         + +        return html +      def getLinks(self):          links = re.search(r'name="list" value="(.*?)"', self.html).group(1).split(",")          self.logDebug("Package has %d links" % len(links)) diff --git a/module/plugins/crypter/SpeedLoadOrgFolder.py b/module/plugins/crypter/SpeedLoadOrgFolder.py index 5b350787f..f85ede6f3 100644 --- a/module/plugins/crypter/SpeedLoadOrgFolder.py +++ b/module/plugins/crypter/SpeedLoadOrgFolder.py @@ -1,5 +1,20 @@  # -*- coding: utf-8 -*- +############################################################################ +# This program is free software: you can redistribute it and/or modify     # +# it under the terms of the GNU Affero General Public License as           # +# published by the Free Software Foundation, either version 3 of the       # +# License, or (at your option) any later version.                          # +#                                                                          # +# This program is distributed in the hope that it will be useful,          # +# but WITHOUT ANY WARRANTY; without even the implied warranty of           # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            # +# GNU Affero General Public License for more details.                      # +#                                                                          # +# You should have received a copy of the GNU Affero General Public License # +# along with this program.  If not, see <http://www.gnu.org/licenses/>.    # +############################################################################ +  from module.plugins.internal.SimpleCrypter import SimpleCrypter  class SpeedLoadOrgFolder(SimpleCrypter): diff --git a/module/plugins/crypter/UploadedToFolder.py b/module/plugins/crypter/UploadedToFolder.py index e92601b24..c514f23d0 100644 --- a/module/plugins/crypter/UploadedToFolder.py +++ b/module/plugins/crypter/UploadedToFolder.py @@ -17,14 +17,14 @@  import re
 -from module.plugins.Crypter import Crypter
 +from module.plugins.internal.SimpleCrypter import SimpleCrypter
 -class UploadedToFolder(Crypter):
 +class UploadedToFolder(SimpleCrypter):
      __name__ = "UploadedToFolder"
      __type__ = "crypter"
      __pattern__ = r"http://(?:www\.)?(uploaded|ul)\.(to|net)/(f|folder|list)/(?P<id>\w+)"
 -    __version__ = "0.2"
 +    __version__ = "0.3"
      __description__ = """UploadedTo Crypter Plugin"""
      __author_name__ = ("stickell")
      __author_mail__ = ("l.stickell@yahoo.it")
 @@ -48,15 +48,3 @@ class UploadedToFolder(Crypter):          self.logDebug('Package has %d links' % len(package_links))
          self.packages = [(package_name, package_links, folder_name)]
 -
 -    def getPackageNameAndFolder(self):
 -        m = re.search(self.TITLE_PATTERN, self.html)
 -        if m:
 -            name = folder = m.group('title')
 -            self.logDebug("Found name [%s] and folder [%s] in package info" % (name, folder))
 -            return name, folder
 -        else:
 -            name = self.pyfile.package().name
 -            folder = self.pyfile.package().folder
 -            self.logDebug("Package info not found, defaulting to pyfile name [%s] and folder [%s]" % (name, folder))
 -            return name, folder
 diff --git a/module/plugins/hoster/DebridItaliaCom.py b/module/plugins/hoster/DebridItaliaCom.py index 121a141b3..470c4ae5d 100644 --- a/module/plugins/hoster/DebridItaliaCom.py +++ b/module/plugins/hoster/DebridItaliaCom.py @@ -47,7 +47,7 @@ class DebridItaliaCom(Hoster):              self.logDebug("XML data: %s" % page)              if 'File not available' in page: -                self.offline() +                self.fail('File not available')              else:                  new_url = re.search(r'<a href="(?:[^"]+)">(?P<direct>[^<]+)</a>', page).group('direct') diff --git a/module/plugins/internal/SimpleCrypter.py b/module/plugins/internal/SimpleCrypter.py index b2cc03985..c9e350e86 100644 --- a/module/plugins/internal/SimpleCrypter.py +++ b/module/plugins/internal/SimpleCrypter.py @@ -57,7 +57,7 @@ class SimpleCrypter(Crypter):          if hasattr(self, 'TITLE_PATTERN'):              m = re.search(self.TITLE_PATTERN, self.html)              if m: -                name = folder = m.group('title') +                name = folder = m.group('title').strip()                  self.logDebug("Found name [%s] and folder [%s] in package info" % (name, folder))                  return name, folder | 
