some changes

This commit is contained in:
Wolfgang Hottgenroth
2009-02-19 10:58:56 +01:00
parent bba48f8d3a
commit beba6a5806
4 changed files with 24 additions and 8 deletions

View File

@ -18,9 +18,10 @@ class HttpCmdHandler(BaseHTTPServer.BaseHTTPRequestHandler):
server_version = "YadynCMDHTTP/1.0"
@classmethod
def setClassParams(cls, entries, adminPwd):
def setClassParams(cls, entries, adminPwd, dnsq):
cls.entries = entries
cls.adminPwd = adminPwd
cls.dnsq = dnsq
def do_GET(self):
Logger.log("Request: %s" % self.path)
@ -34,6 +35,10 @@ class HttpCmdHandler(BaseHTTPServer.BaseHTTPRequestHandler):
Logger.log("Cmd: " + cmd)
if cmd == 'register':
self.register(c)
elif cmd == 'start':
self.start(c)
elif cmd == 'stop':
self.stop(c)
else:
raise LocalException('unknown cmd')
@ -61,6 +66,18 @@ class HttpCmdHandler(BaseHTTPServer.BaseHTTPRequestHandler):
newEntry = Entry.Entry(dynid, sharedSecret, subdomain, zone)
HttpCmdHandler.entries[dynid] = newEntry
def start(self, c):
try:
dynId = c['dynid'][0]
sharedSecret = c['sharedsecret'][0]
except KeyError, e:
raise LocalException('Parameter missing: ' + str(e))
if not Event.entries.has_key(self.dynid):
raise IllegalEventException("unknown dynid in event %s" % str(self))
entry = Event.entries[self.dynid]
class HttpCmdServer(SocketServer.ThreadingTCPServer):
def __init__(self, serverAddr):
@ -69,10 +86,10 @@ class HttpCmdServer(SocketServer.ThreadingTCPServer):
class HttpCmdReceiver(threading.Thread):
def __init__(self, httpCmdRecvAddr, entries, adminPwd):
def __init__(self, httpCmdRecvAddr, entries, adminPwd, dnsq):
threading.Thread.__init__(self)
self.httpCmdRecvAddr = httpCmdRecvAddr
HttpCmdHandler.setClassParams(entries, adminPwd)
HttpCmdHandler.setClassParams(entries, adminPwd, dnsq)
self.setDaemon(True)
def run(self):