Moved all database stuff inside DBHandler, and some pylint cleanups

Change-Id: I593dad98cb862f886bd9a1fb758630aa1831d9d3
diff --git a/MANIFEST.in b/MANIFEST.in
index 9f951a3..a59b72f 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,4 +1,4 @@
-include etc/lavapdu.conf
+include etc/lavapdu/lavapdu.conf
 include etc/lavapdu-runner.init
 include etc/lavapdu-listen.init
-include etc/lavapdulogrotate
\ No newline at end of file
+include etc/lavapdulogrotate
diff --git a/lavapdu/dbhandler.py b/lavapdu/dbhandler.py
index 09c7058..1154fb7 100644
--- a/lavapdu/dbhandler.py
+++ b/lavapdu/dbhandler.py
@@ -42,6 +42,22 @@
         self.conn.commit()
         return row
 
+    def create_db(self):
+        logging.info("Creating db table if it doesn't exist")
+        sql = "create table if not exists pdu_queue (id serial, hostname " \
+              "text, port int, request text, exectime int)"
+        self.cursor.execute(sql)
+        self.conn.commit()
+        sql = "select column_name from information_schema.columns where " \
+              "table_name='pdu_queue' and column_name='exectime'"
+        self.cursor.execute(sql)
+        res = self.cursor.fetchone()
+        if not res:
+            logging.info("Old db schema discovered, upgrading")
+            sql = "alter table pdu_queue add column exectime int default 1"
+            self.cursor.execute(sql)
+        self.conn.commit()
+
     def delete_row(self, row_id):
         logging.debug("deleting row %i" % row_id)
         self.do_sql("delete from pdu_queue where id=%i" % row_id)
diff --git a/lavapdu/socketserver.py b/lavapdu/socketserver.py
index 4f103bf..c1b8c27 100644
--- a/lavapdu/socketserver.py
+++ b/lavapdu/socketserver.py
@@ -23,7 +23,7 @@
 import socket
 import time
 import json
-from dbhandler import DBHandler
+from lavapdu.dbhandler import DBHandler
 
 class ListenerServer(object):
 
@@ -34,25 +34,14 @@
         logging.getLogger().name = "ListenerServer"
         logging.getLogger().setLevel(settings["logging_level"])
         logging.debug("ListenerServer __init__")
-        logging.info("listening on %s:%s" % (listen_host, listen_port))
+        logging.info("listening on %s:%s", listen_host, listen_port)
 
         self.server = TCPServer((listen_host, listen_port), TCPRequestHandler)
         self.server.settings = settings
-        self.db = DBHandler(settings)
-        self.create_db()
-        self.db.close()
-        del(self.db)
-
-    def create_db(self):
-        sql = "create table if not exists pdu_queue (id serial, hostname text, port int, request text, exectime int)"
-        self.db.do_sql(sql)
-        sql = "select column_name from information_schema.columns where table_name='pdu_queue'" \
-              "and column_name='exectime'"
-        res = self.db.do_sql_with_fetch(sql)
-        if not res:
-            logging.info("Old db schema discovered, upgrading")
-            sql = "alter table pdu_queue add column exectime int default 1"
-            self.db.do_sql(sql)
+        dbh = DBHandler(settings)
+        dbh.create_db()
+        dbh.close()
+        del dbh
 
     def start(self):
         logging.info("Starting the ListenerServer")
@@ -77,27 +66,27 @@
         hostname = array[0]
         port = int(array[1])
         request = array[2]
-        if not (request in ["reboot","on","off"]):
+        if not (request in ["reboot", "on", "off"]):
             logging.info("Unknown request: %s" % request)
             raise Exception("Unknown request: %s" % request)
         if request == "reboot":
             logging.debug("reboot requested, submitting off/on")
-            self.queue_request(hostname,port,"off",now)
-            self.queue_request(hostname,port,"on",now+delay)
+            self.queue_request(hostname, port, "off", now)
+            self.queue_request(hostname, port, "on", now+delay)
         else:
             if custom_delay:
                 logging.debug("using delay as requested")
-                self.queue_request(hostname,port,request,now+delay)
+                self.queue_request(hostname, port, request, now+delay)
             else:
-                self.queue_request(hostname,port,request,now)
+                self.queue_request(hostname, port, request, now)
 
     def queue_request(self, hostname, port, request, exectime):
         db = DBHandler(self.server.settings)
         sql = "insert into pdu_queue (hostname,port,request,exectime) " \
-              "values ('%s',%i,'%s',%i)" % (hostname,port,request,exectime)
+              "values ('%s',%i,'%s',%i)" % (hostname, port, request, exectime)
         db.do_sql(sql)
         db.close()
-        del(db)
+        del db
 
 
     def handle(self):
@@ -111,7 +100,8 @@
             except socket.herror as e:
                 #logging.debug("Unable to resolve: %s error: %s" % (ip,e))
                 request_host = ip
-            logging.info("Received a request from %s: '%s'" % (request_host, data))
+            logging.info("Received a request from %s: '%s'"
+                         % (request_host, data))
             self.insert_request(data)
             self.request.sendall("ack\n")
         except Exception as e:
@@ -129,7 +119,6 @@
     logging.basicConfig(level=logging.DEBUG)
     logging.getLogger().setLevel(logging.DEBUG)
     logging.debug("Executing from __main__")
-    settings = {}
     filename = "/etc/lavapdu/lavapdu.conf"
     print("Reading settings from %s" % filename)
     with open(filename) as stream:
diff --git a/setup.py b/setup.py
index a74ae5f..d0d6cc2 100644
--- a/setup.py
+++ b/setup.py
@@ -4,14 +4,14 @@
 #
 # Author: Matthew Hart <matthew.hart@linaro.org>
 #
-# This file is part of LAVA-PDU.
+# This file is part of PDUDAEMON.
 #
-# LAVA Coordinator is free software; you can redistribute it and/or modify
+# PDUDAEMON is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 2 of the License, or
 # (at your option) any later version.
 #
-# LAVA Coordinator is distributed in the hope that it will be useful,
+# PDUDAEMON is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
diff --git a/var/lib/lavapdu/pdu.db b/var/lib/lavapdu/pdu.db
deleted file mode 100644
index 902f2e1..0000000
--- a/var/lib/lavapdu/pdu.db
+++ /dev/null
Binary files differ