cli instead of web
This commit is contained in:
@ -18,8 +18,10 @@ TEMPLATE_DIR='./templates'
|
||||
|
||||
class YaDynWebApp(object):
|
||||
@classmethod
|
||||
def setSessionContainer(cls, sessionContainer):
|
||||
def setClassParams(cls, sessionContainer, adminPwd, entries):
|
||||
cls.sessionContainer = sessionContainer
|
||||
cls.adminPwd = adminPwd
|
||||
cls.entries = entries
|
||||
|
||||
def __init__(self, sid):
|
||||
self.buf = StringIO.StringIO()
|
||||
@ -88,7 +90,7 @@ class YaDynWebApp(object):
|
||||
|
||||
def processAction(self):
|
||||
if self.params.action == "Login":
|
||||
authTuple = getAuthTuple(self.params.username, self.params.password)
|
||||
authTuple = self.getAuthTuple(self.params.username, self.params.password)
|
||||
if authTuple:
|
||||
self.params = Params({})
|
||||
self.sid = str(uuid.uuid1())
|
||||
@ -131,13 +133,16 @@ class YaDynWebApp(object):
|
||||
return self.buf.getvalue()
|
||||
|
||||
|
||||
def getAuthTuple(self, username, password):
|
||||
if username == "admin" and password == self.adminPwd:
|
||||
return {'username': username, 'password': password, 'role': 'admin'}
|
||||
elif self.entries.has_key(username) and self.entries[username].sharedSecret == password:
|
||||
return {'username': username, 'password': password, 'role': 'user'}
|
||||
|
||||
|
||||
class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler):
|
||||
server_version = "YaDynWebAppHTTP/1.0"
|
||||
|
||||
@classmethod
|
||||
def setParams(cls, entries):
|
||||
cls.entries = entries
|
||||
|
||||
def log_message(self, format, *args):
|
||||
Logger.log(format%args)
|
||||
|
||||
@ -206,17 +211,18 @@ class MyServer(SocketServer.ThreadingTCPServer):
|
||||
|
||||
|
||||
class WebReceiver(threading.Thread):
|
||||
def __init__(self, webAddr, entries):
|
||||
def __init__(self, webAddr, entries, adminPwd):
|
||||
threading.Thread.__init__(self)
|
||||
self.webAddr = webAddr
|
||||
MyHandler.setParams(entries)
|
||||
self.entries = entries
|
||||
self.adminPwd = adminPwd
|
||||
self.setDaemon(True)
|
||||
|
||||
def run(self):
|
||||
self.sessionContainer = SessionContainer(60, 600)
|
||||
self.sessionContainer.setDaemon(True)
|
||||
self.sessionContainer.start()
|
||||
YaDynWebApp.setSessionContainer(self.sessionContainer)
|
||||
YaDynWebApp.setClassParams(self.sessionContainer, self.adminPwd, self.entries)
|
||||
|
||||
MyServer(self.webAddr, MyHandler).serve_forever()
|
||||
|
||||
|
Reference in New Issue
Block a user