libsaria: Run server based on stored stetting

I have a toggle_state() function to toggle the server and save the state
for the next session.
This commit is contained in:
Bryan Schumaker 2011-06-18 14:09:27 -04:00
parent 868359a4a4
commit f87f5f25cf
2 changed files with 23 additions and 7 deletions

View File

@ -7,10 +7,7 @@ import path
import sources import sources
import controls import controls
import server
server = None
if version.__dev__ == True:
import server
from path import lastfm from path import lastfm
#plugin = None #plugin = None
@ -27,8 +24,7 @@ def startup():
def shutdown(): def shutdown():
audio.shutdown() audio.shutdown()
if server != None: server.shutdown()
server.shutdown()
## import plugin ## import plugin
## plugin.quit() ## plugin.quit()

View File

@ -3,19 +3,39 @@
from BaseHTTPServer import HTTPServer from BaseHTTPServer import HTTPServer
import threading import threading
from libsaria import prefs
import request import request
server = None server = None
PREF_KEY="libsaria.server.enabled"
prefs.init(PREF_KEY, False)
def setup_server(): def setup_server():
global server global server
if prefs.get(PREF_KEY) == False:
return
try: try:
server = HTTPServer(('', 4242), request.Handler) server = HTTPServer(('', 4242), request.Handler)
server.serve_forever() server.serve_forever()
except Exception,e: except Exception,e:
print "Error starting server:", e print "Error starting server:", e
threading.Thread(target=setup_server).start()
def startup():
threading.Thread(target=setup_server).start()
startup()
def shutdown(): def shutdown():
global server
if server != None: if server != None:
server.shutdown() server.shutdown()
server = None
def get_state():
return prefs.get(PREF_KEY)
def toggle_state(active):
prefs.set(PREF_KEY, active)
if active == True:
startup()
else:
shutdown()