MCPcopy Index your code
hub / github.com/pyload/pyload / WebServer

Class WebServer

module/web/ServerThread.py:13–109  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

11log = logging.getLogger("log")
12
13class WebServer(threading.Thread):
14 def __init__(self, pycore):
15 global core
16 threading.Thread.__init__(self)
17 self.core = pycore
18 core = pycore
19 self.running = True
20 self.server = pycore.config['webinterface']['server']
21 self.https = pycore.config['webinterface']['https']
22 self.cert = pycore.config["ssl"]["cert"]
23 self.key = pycore.config["ssl"]["key"]
24 self.host = pycore.config['webinterface']['host']
25 self.port = pycore.config['webinterface']['port']
26
27 self.setDaemon(True)
28
29 def run(self):
30 import webinterface
31 global webinterface
32
33 if self.https:
34 if not exists(self.cert) or not exists(self.key):
35 log.warning(_("SSL certificates not found."))
36 self.https = False
37
38 if self.server in ("lighttpd", "nginx"):
39 log.warning(_("Sorry, we dropped support for starting %s directly within pyLoad") % self.server)
40 log.warning(_("You can use the threaded server which offers good performance and ssl,"))
41 log.warning(_("of course you can still use your existing %s with pyLoads fastcgi server") % self.server)
42 log.warning(_("sample configs are located in the module/web/servers directory"))
43 self.server = "builtin"
44
45 if self.server == "fastcgi":
46 try:
47 import flup
48 except:
49 log.warning(_("Can't use %(server)s, python-flup is not installed!") % {
50 "server": self.server})
51 self.server = "builtin"
52 elif self.server == "lightweight":
53 try:
54 import bjoern
55 except Exception, e:
56 log.error(_("Error importing lightweight server: %s") % e)
57 log.warning(_("You need to download and compile bjoern, https://github.com/jonashaag/bjoern"))
58 log.warning(_("Copy the boern.so to module/lib folder or use setup.py install"))
59 log.warning(_("Of course you need to be familiar with linux and know how to compile software"))
60 self.server = "builtin"
61
62 if os.name == "nt":
63 self.core.log.info(_("Server set to threaded, due to known performance problems on windows."))
64 self.core.config['webinterface']['server'] = "threaded"
65 self.server = "threaded"
66
67
68 if self.server == "fastcgi":
69 self.start_fcgi()
70 elif self.server == "threaded":

Callers 1

init_webserverMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected