old_contents: #!/usr/bin/env python
  # -*- coding: utf-8 -*-
  
  import re
  
  from module.plugins.Crypter import Crypter
  
  class NetfolderIn(Crypter):
      __name__ = "NetfolderIn"
      __type__ = "crypter"
      __pattern__ = r"http://(?:www\.)?netfolder.in/(\w+/\w+|folder.php)"
      __version__ = "0.1"
      __description__ = """NetFolder Download Plugin"""
      __author_name__ = ("RaNaN")
      __author_mail__ = ("RaNaN@pyload.org")
  
      def decrypt(self, pyfile):
          html = self.load(pyfile.url)
  
          name = re.findall(r'<span style="color: #ff9000;">([^<]+)', html)[0]
          new_links = re.findall(r'href="(http://.{0,3}netload\.in/(datei|index.php?id=10&file_id=)[^"]+)', html)
  
          new_links = [x[0] for x in new_links]
  
          self.packages.append((name, new_links, name))
new_contents: # -*- coding: utf-8 -*-
  
  from module.plugins.Crypter import Crypter
  import re
  
  
  class NetfolderIn(Crypter):
      __name__ = "NetfolderIn"
      __type__ = "crypter"
      __pattern__ = r"http://(?:www\.)?netfolder.in/((?P<id1>\w+)/\w+|folder.php\?folder_id=(?P<id2>.+))"
      __version__ = "0.1"
      __description__ = """NetFolder Crypter Plugin"""
      __author_name__ = ("RaNaN", "fragonib")
      __author_mail__ = ("RaNaN@pyload.org", "fragonib[AT]yahoo[DOT]es")
  
      def decrypt(self, pyfile):
          
          # Request package
          self.html = self.load(pyfile.url)
          
          # Check for password protection    
          if self.isPasswordProtected():
              self.html = self.submitPassword()
              if self.html is None:
                  self.fail("Incorrect password, please set right password on Add package form and retry")
  
          # Get package name and folder
          (package_name, folder_name) = self.getPackageNameAndFolder()
  
          # Get package links
          try:
              package_links = self.getLinks()
          except:
              self.fail("Unable to extract links package")
  
          # Set package
          self.packages = [(package_name, package_links, folder_name)]
          
          
      def isPasswordProtected(self):
          
          if '<input type="password" name="password"' in self.html:
              self.log.debug("NetfolderIn: 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')) 
          except AttributeError:
              self.log.debug("RelinkUs: Unable to get package id from url [%s]" % (url))
              return
          url = self.pyfile.url
          password = self.pyfile.package().password
                     
          # Submit package password     
          post = { 'password' : password, 'save' : 'Absenden' }
          self.log.debug("NetfolderIn: 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.log.debug("NetfolderIn: Incorrect password, please set right password on Add 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.log.debug("NetfolderIn: 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.log.debug("NetfolderIn: Package info not found, defaulting to pyfile name [%s] and folder [%s]" % (name, folder))
              return (name, folder)
          
          
      def getLinks(self):
          links = re.findall(r'href="(http://.{0,3}netload\.in/(datei|index.php?id=10&file_id=)[^"]+)', self.html)
          links = [x[0] for x in links]
          return links
subject: Add support for password protected packages