diff options
| -rwxr-xr-x | pyLoadCore.py | 57 | 
1 files changed, 26 insertions, 31 deletions
| diff --git a/pyLoadCore.py b/pyLoadCore.py index fc050a309..b78cf5b5c 100755 --- a/pyLoadCore.py +++ b/pyLoadCore.py @@ -46,15 +46,10 @@ from time import sleep  import urllib2  from imp import find_module  from re import sub -try:  -    find_module("Crypto") -except ImportError: -    print "Install pycrypto to use pyLoad" -    exit()  from module.file_list import File_List  from module.thread_list import Thread_List  from module.network.Request import Request -from module.web import WebServer +import module.remote.SecureXMLRPCServer as Server  import thread  class Core(object): @@ -117,6 +112,7 @@ class Core(object):          translation = gettext.translation("pyLoad", "locale", languages=[self.config['general']['language']])          translation.install(unicode=True) +        self.check_install("Crypto", "pycrypto to decode container files")          self.check_install("pycurl", "pycurl for lower memory footprint while downloading")          self.check_install("tesseract", "tesseract for captcha reading", False)          self.check_install("gocr", "gocr for captcha reading", False) @@ -144,8 +140,6 @@ class Core(object):          self.init_server() -        self.init_webserver() -                  self.logger.info(_("Downloadtime: %s") % self.server_methods.is_time_download()) # debug only          self.read_url_list(self.config['general']['link_file']) @@ -180,7 +174,6 @@ class Core(object):          try:              server_addr = (self.config['remote']['listenaddr'], int(self.config['remote']['port']))              usermap = { self.config['remote']['username']: self.config['remote']['password']} -            Server = __import__("module.remote.SecureXMLRPCServer", globals(), locals(), "SecureXMLRPCServer", -1)              if self.config['ssl']['activated']:                  self.server = Server.SecureXMLRPCServer(server_addr, self.config['ssl']['cert'], self.config['ssl']['key'], usermap)                  self.logger.info("Secure XMLRPC Server Started") @@ -247,19 +240,31 @@ class Core(object):      def check_update(self):          """checks newst version""" -        if not self.config['updates']['search_updates']: -            return False -         -        newst_version = Request().load("http://update.pyload.org/s/" + CURRENT_VERSION) -        if newst_version == "True": -            if not self.config['updates']['install_updates']: -                self.logger.info("New Version of pyLoad available") +        if self.config['updates']['search_updates']: +            version_check = Request().load("http://update.pyload.org/index.php?do=dev%s&download=%s" %(CURRENT_VERSION, self.config['updates']['install_updates'])) +            if version_check == "": +                self.logger.info("No Updates for pyLoad") +                return False              else: -                updater = __import__("pyLoadUpdater") -                updater.main() +                if self.config['updates']['install_updates']: +                    try: +                        tmp_zip_name = __import__("tempfile").NamedTemporaryFile(suffix=".zip").name +                        tmp_zip = open(tmp_zip_name, 'w') +                        tmp_zip.write(version_check) +                        tmp_zip.close() +                        __import__("module.Unzip", globals(), locals(), "Unzip", -1).Unzip().extract(tmp_zip_name,"Test/") +                        return True + +                    except: +                        self.logger.info("Auto install Faild") +                        return False + +                else: +                    self.logger.info("New pyLoad Version %s available" % version_check) +                    return True          else: -            self.logger.info("No Updates for pyLoad") - +            return False +                  def create_plugin_index(self):          for file_handler in glob(self.plugin_folder + sep + '*.py') + glob(self.plugin_folder + sep + 'DLC.pyc'):              plugin_pattern = "" @@ -284,15 +289,7 @@ class Core(object):          elif start > end and (now > start or now < end): return True          elif start < now and end < now and start > end: return True          else: return False -    -    -    def init_webserver(self): -        self.webserver = WebServer.WebServer(self) -        if self.config['webinterface']['activated']: -            self.webserver.start() -             - - +              ####################################      ########## XMLRPC Methods ##########      #################################### @@ -439,8 +436,6 @@ class ServerMethods():          end = self.core.config['reconnectTime']['end'].split(":")          return self.compare_time(start, end) - -  if __name__ == "__main__":      pyload_core = Core()      try: | 
