some changes
This commit is contained in:
@ -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):
|
||||
|
Reference in New Issue
Block a user