From 2ba07aa53d2af572af2c5a43e77725abd46e1b13 Mon Sep 17 00:00:00 2001 From: RaNaN Date: Thu, 29 Jul 2010 12:09:42 +0200 Subject: many new stuff, some things already working --- module/web/ServerThread.py | 51 ++++++++++++++--------------- module/web/ajax/views.py | 3 +- module/web/pyload/views.py | 8 ++--- module/web/settings.py | 16 ++++++--- module/web/templates/default/collector.html | 16 ++++----- module/web/templates/default/queue.html | 20 +++++------ 6 files changed, 60 insertions(+), 54 deletions(-) (limited to 'module/web') diff --git a/module/web/ServerThread.py b/module/web/ServerThread.py index 4ced2e1e4..f7bf11b3c 100644 --- a/module/web/ServerThread.py +++ b/module/web/ServerThread.py @@ -12,13 +12,13 @@ import sys import logging core = None -logger = logging.getLogger("log") +log = logging.getLogger("log") class WebServer(threading.Thread): def __init__(self, pycore): global core threading.Thread.__init__(self) - self.pycore = pycore + self.core = pycore core = pycore self.running = True self.server = pycore.config['webinterface']['server'] @@ -26,23 +26,25 @@ class WebServer(threading.Thread): self.setDaemon(True) def run(self): - sys.path.append(join(self.pycore.path, "module", "web")) + sys.path.append(join(pypath, "module", "web")) avail = ["builtin"] - host = self.pycore.config['webinterface']['host'] - port = self.pycore.config['webinterface']['port'] - path = join(self.pycore.path, "module", "web") + host = self.core.config['webinterface']['host'] + port = self.core.config['webinterface']['port'] + path = join(pypath, "module", "web") out = StringIO() - if not exists(join(self.pycore.path, "module", "web", "pyload.db")): + #@TODO rewrite, maybe as hook + + if exists(join("module", "web", "pyload.db")): #print "########## IMPORTANT ###########" #print "### Database for Webinterface does not exitst, it will not be available." #print "### Please run: python %s syncdb" % join(self.pycore.path, "module", "web", "manage.py") #print "### You have to add at least one User, to gain access to webinterface: python %s createsuperuser" % join(self.pycore.path, "module", "web", "manage.py") #print "### Dont forget to restart pyLoad if you are done." - logger.warning(_("Database for Webinterface does not exitst, it will not be available.")) - logger.warning(_("Please run: python %s syncdb") % join(self.pycore.path, "module", "web", "manage.py")) - logger.warning(_("You have to add at least one User, to gain access to webinterface: python %s createsuperuser") % join(self.pycore.path, "module", "web", "manage.py")) - logger.warning(_("Dont forget to restart pyLoad if you are done.")) + log.warning(_("Database for Webinterface does not exitst, it will not be available.")) + log.warning(_("Please run: python %s syncdb") % join(pypath, "module", "web", "manage.py")) + log.warning(_("You have to add at least one User, to gain access to webinterface: python %s createsuperuser") % join(configdir, "module", "web", "manage.py")) + log.warning(_("Dont forget to restart pyLoad if you are done.")) return None try: @@ -68,10 +70,10 @@ class WebServer(threading.Thread): try: - if exists(self.pycore.config["ssl"]["cert"]) and exists(self.pycore.config["ssl"]["key"]): + if exists(self.core.config["ssl"]["cert"]) and exists(self.core.config["ssl"]["key"]): if not exists("ssl.pem"): - key = file(self.pycore.config["ssl"]["key"], "rb") - cert = file(self.pycore.config["ssl"]["cert"], "rb") + key = file(self.core.config["ssl"]["key"], "rb") + cert = file(self.core.config["ssl"]["cert"], "rb") pem = file("ssl.pem", "wb") pem.writelines(key.readlines()) @@ -94,7 +96,7 @@ class WebServer(threading.Thread): if self.server == "nginx": - self.pycore.logger.info(_("Starting nginx Webserver: %s:%s") % (host, port)) + self.core.logger.info(_("Starting nginx Webserver: %s:%s") % (host, port)) config = file(join(path, "servers", "nginx_default.conf"), "rb") content = config.readlines() config.close() @@ -111,7 +113,7 @@ class WebServer(threading.Thread): ssl on; ssl_certificate %s; ssl_certificate_key %s; - """ % (self.pycore.config["ssl"]["cert"], self.pycore.config["ssl"]["key"])) + """ % (self.core.config["ssl"]["cert"], self.core.config["ssl"]["key"])) else: content = content.replace("%(ssl)", "") @@ -127,7 +129,7 @@ class WebServer(threading.Thread): elif self.server == "lighttpd": - self.pycore.logger.info(_("Starting lighttpd Webserver: %s:%s") % (host, port)) + self.core.logger.info(_("Starting lighttpd Webserver: %s:%s") % (host, port)) config = file(join(path, "servers", "lighttpd_default.conf"), "rb") content = config.readlines() config.close() @@ -144,7 +146,7 @@ class WebServer(threading.Thread): ssl.engine = "enable" ssl.pemfile = "%s" ssl.ca-file = "%s" - """ % (join(self.pycore.path, "ssl.pem"), self.pycore.config["ssl"]["cert"])) + """ % (join(selcorere.path, "ssl.pem"), self.core.config["ssl"]["cert"])) else: content = content.replace("%(ssl)", "") new_config = file(join(path, "servers", "lighttpd.conf"), "wb") @@ -158,17 +160,14 @@ class WebServer(threading.Thread): run_fcgi.handle("daemonize=false", "method=threaded", "host=127.0.0.1", "port=9295") - elif self.server == "builtin": - self.pycore.logger.info(_("Starting django builtin Webserver: %s:%s") % (host, port)) - - import run_server - run_server.handle(host, port) - #command = ['python', join(self.pycore.path, "module", "web", "run_server.py"), "%s:%s" % (host, port)] - #self.p = Popen(command, stderr=Output(out), stdin=Output(out), stdout=Output(out)) - else: + elif self.server == "fastcgi": #run fastcgi on port import run_fcgi run_fcgi.handle("daemonize=false", "method=threaded", "host=127.0.0.1", "port=%s" % str(port)) + else: + self.core.log.info(_("Starting django builtin Webserver: %s:%s") % (host, port)) + import run_server + run_server.handle(host, port) def quit(self): diff --git a/module/web/ajax/views.py b/module/web/ajax/views.py index c52be119f..5e4d4710b 100644 --- a/module/web/ajax/views.py +++ b/module/web/ajax/views.py @@ -75,6 +75,7 @@ def add_package(request): links = map(lambda x: x.strip(), links) links = filter(lambda x: x != "", links) + settings.PYLOAD.add_package(name, links, queue) return JsonResponse("success") @@ -199,7 +200,7 @@ def remove_package(request, id): try: settings.PYLOAD.del_packages([int(id)]) return JsonResponse("sucess") - except: + except Exception, e: return HttpResponseServerError() @permission('pyload.can_add_dl') diff --git a/module/web/pyload/views.py b/module/web/pyload/views.py index 47ef0a864..52b58cd03 100644 --- a/module/web/pyload/views.py +++ b/module/web/pyload/views.py @@ -74,7 +74,7 @@ def home(request): @permission('pyload.can_see_dl') @check_server def queue(request): - queue = settings.PYLOAD.get_full_queue() + queue = settings.PYLOAD.get_queue() return render_to_response(join(settings.TEMPLATE, 'queue.html'), RequestContext(request, {'content': queue}, [status_proc])) @@ -159,10 +159,8 @@ def logs(request, page=0): @permission('pyload.can_add_dl') @check_server def collector(request): - coll = settings.PYLOAD.get_collector_packages() - for pack in coll: - pack["children"] = map(settings.PYLOAD.get_file_info, settings.PYLOAD.get_package_files(pack["id"])) - return render_to_response(join(settings.TEMPLATE, 'collector.html'), RequestContext(request, {'content': coll}, [status_proc])) + queue = settings.PYLOAD.get_collector() + return render_to_response(join(settings.TEMPLATE, 'collector.html'), RequestContext(request, {'content': queue}, [status_proc])) @login_required diff --git a/module/web/settings.py b/module/web/settings.py index 8f9425198..7380541e6 100644 --- a/module/web/settings.py +++ b/module/web/settings.py @@ -15,9 +15,17 @@ PROJECT_DIR = os.path.dirname(__file__) PYLOAD_DIR = os.path.join(PROJECT_DIR,"..","..") +sys.path.append(PYLOAD_DIR) + + sys.path.append(os.path.join(PYLOAD_DIR, "module")) -from XMLConfigParser import XMLConfigParser -config = XMLConfigParser(os.path.join(PYLOAD_DIR,"module","config","core.xml")) + +import InitHomeDir +sys.path.append(pypath) + + +from module.ConfigParser import ConfigParser +config = ConfigParser() #DEBUG = config.get("general","debug") @@ -35,8 +43,8 @@ except: server_url = "http%s://%s:%s@%s:%s/" % ( ssl, - config.get("remote", "username"), - config.get("remote", "password"), + config.username, + config.password, config.get("remote", "listenaddr"), config.get("remote", "port") ) diff --git a/module/web/templates/default/collector.html b/module/web/templates/default/collector.html index 73625136c..b0d5b1839 100644 --- a/module/web/templates/default/collector.html +++ b/module/web/templates/default/collector.html @@ -106,10 +106,10 @@ document.addEvent("domready", function(){ {% endblock %} {% block content %} -{% for package in content %} -
+{% for id,package in content.iteritems %} +
- {{ package.package_name }} + {{ package.name }}       @@ -117,15 +117,15 @@ document.addEvent("domready", function(){   
-