Updated to latest
diff --git a/socketserver.py b/socketserver.py
index bf72fd7..238dd69 100644
--- a/socketserver.py
+++ b/socketserver.py
@@ -2,47 +2,59 @@
 import sqlite3
 import logging
 
-logging.basicConfig(level=logging.DEBUG)
-log = logging.getLogger(__name__)
-conn=sqlite3.connect('pdu.db', check_same_thread = False)
-c=conn.cursor()
 
-class ListenerServer():
-    HOST='0.0.0.0'
-    PORT=16421
+class DBHandler(object):
+    db_file = "pdu.db"
 
     def __init__(self):
-        ### read loglevel here
-        self.server = TCPServer((self.HOST, self.PORT), TCPRequestHandler)
-        log.info("listening on %s:%s" % (self.HOST, self.PORT))
+        logging.debug("Creating new DBHandler: %s" % self.db_file)
+        self.conn = sqlite3.connect(self.db_file, check_same_thread = False)
+        self.cursor = self.conn.cursor()
+
+    def do_sql(self, sql):
+        logging.debug("executing sql: %s" % sql)
+        self.cursor.execute(sql)
+        self.conn.commit()
+
+    def close(self):
+        self.cursor.close()
+        self.conn.close()
+
+
+class ListenerServer(object):
+#    conn = sqlite3.connect("/var/lib/lava-pdu/pdu.db", check_same_thread = False)
+#    cursor = conn.cursor()
+    db = DBHandler()
+
+    def __init__(self, config):
+        self.server = TCPServer((config["hostname"], config["port"]), TCPRequestHandler)
+        logging.info("listening on %s:%s" % (config["hostname"], config["port"]))
         self.create_db()
 
     def create_db(self):
         sql = "create table if not exists pdu_queue (id integer primary key, hostname text, port int, request text)"
-        log.debug("Creating pdu_queue table: %s" % sql)
-        c.execute(sql)
-        conn.commit()
+        self.db.do_sql(sql)
 
     def start(self):
-        print("Starting the ListenerServer")
+        logging.info("Starting the ListenerServer")
         self.server.serve_forever()
 
+
 class TCPRequestHandler(SocketServer.BaseRequestHandler):
-    "One instance per connection.  Override handle(self) to customize action."
+    #"One instance per connection.  Override handle(self) to customize action."
     def insert_request(self, data):
         array = data.split(" ")
         hostname = array[0]
         port = int(array[1])
         request = array[2]
+        db = DBHandler()
         sql = "insert into pdu_queue values (NULL,'%s',%i,'%s')" % (hostname,port,request)
-        log.debug("executing sql: %s" % sql)
-        c.execute(sql)
-        conn.commit()
+        db.do_sql(sql)
+        db.close()
 
     def handle(self):
         data = self.request.recv(4096).strip()
-        #write to sql db here
-        log.debug("got request: %s" % data)
+        logging.debug("got request: %s" % data)
         self.insert_request(data)
         self.request.sendall("ack\n")
         self.request.close()
@@ -53,5 +65,9 @@
     pass
 
 if __name__ == "__main__":
-    ss = ListenerServer()
+    logging.basicConfig(level=logging.DEBUG)
+    logging.debug("Executing from __main__")
+    starter = {"hostname": "0.0.0.0",
+               "port":16421}
+    ss = ListenerServer(starter)
     ss.start()
\ No newline at end of file