All pastes #1757269 Raw Edit

sec

public text v1 · immutable
#1757269 ·published 2010-01-19 11:05 UTC
rendered paste body
#!/usr/bin/env python# -*- coding: UTF-8 -*-import BaseHTTPServerimport osimport sysimport urllibfrom StringIO import StringIOdef my_set(d, line):    i = line.find('=')    if i != -1:        k = line[:i]        v = line[i+1:]        d[k] = v        return True    return Noneclass Deamon(BaseHTTPServer.BaseHTTPRequestHandler):    data = {}    ips = []    def do_HEAD(self):        return None    def do_GET(self):        if not self.client_address[0] in Deamon.ips:            return None        self.send_response(200)        self.send_header("Content-type", "text/plain")        d = urllib.unquote(self.path[1:])        if my_set(Deamon.data, d):            self.resp('OK')        else:            self.resp(Deamon.data.get(d))    def resp(self, w):        s = str(w)        length = len(s)        self.send_header("Content-Length", str(length))        self.end_headers()        self.wfile.write(s)with open('deamon.conf', 'rt') as f:    for line in f.readlines():        line = line.strip()        if not my_set(Deamon.data, line):            if line[0] == '+':                Deamon.ips.append(line[1:])            else:                port = int(line)s = BaseHTTPServer.HTTPServer(("", port), Deamon)s.serve_forever()