]> git.phdru.name Git - xsetbg.git/blobdiff - xsetbg-wsgi.py
Style: Fix `flake8` error E261 at least two spaces before inline comment
[xsetbg.git] / xsetbg-wsgi.py
index c90da9258c13df1d2c7b7001c2c1ee389182f1a5..92d125395c58c051f6c808fc797ea637ecc41d1d 100755 (executable)
@@ -3,25 +3,30 @@
 
 """
 
-__version__ = "$Revision$"[11:-2]
-__revision__ = "$Id$"[5:-2]
-__date__ = "$Date$"[7:-2]
-
-__author__ = "Oleg Broytman <phd@phdru.name>"
-__copyright__ = "Copyright (C) 2000-2011 PhiloSoft Design"
-__license__ = "GNU GPL"
-
-
 from wsgiref import simple_server
 from wsgiref.handlers import SimpleHandler
 from wsgiref.simple_server import WSGIServer, make_server
-simple_server.ServerHandler = SimpleHandler # Stop logging to stdout
+simple_server.ServerHandler = SimpleHandler  # Stop logging to stdout
+
+from xsetbg_conf import xsetbg_conf
+from xsetbg import change as _change
 
-from xsetbg import host, port, change as _change
+# get httpd settings from config
+if xsetbg_conf.has_option("httpd", "host"):
+    host = xsetbg_conf.get("httpd", "host")
+else:
+    host = 'localhost'
 
+if xsetbg_conf.has_option("httpd", "port"):
+    port = xsetbg_conf.getint("httpd", "port")
+else:
+    error("Config must specify a port to listen. Abort.")
+
+
+commands = {}
 
 def published(func):
-    func._wsgi_published = True
+    commands[func.__name__] = func
     return func
 
 @published
@@ -37,11 +42,6 @@ def stop():
     QuitWSGIServer._quit_flag = True
 
 
-g = globals().copy()
-commands = dict([(name, g[name]) for name in g
-    if getattr(g[name], '_wsgi_published', False)])
-del g
-
 class QuitWSGIServer(WSGIServer):
     _quit_flag = False
 
@@ -50,7 +50,7 @@ class QuitWSGIServer(WSGIServer):
             self.handle_request()
 
 def app(env, start_response):
-    command = env['PATH_INFO'][1:] # Remove the leading slash
+    command = env['PATH_INFO'][1:]  # Remove the leading slash
     if command not in commands:
         status = '404 Not found'
         response_headers = [('Content-type', 'text/plain')]