restructure library to be all classes, no globals
This commit is contained in:
parent
bd7301eae5
commit
0c823220eb
|
@ -8,46 +8,6 @@ import sqlite3
|
|||
delimeter = "|"
|
||||
|
||||
|
||||
def scanDB(filein):
|
||||
# try to open sqlite file
|
||||
try:
|
||||
(conn, cur) = __openDB(filein)
|
||||
except Exception, e:
|
||||
return -2
|
||||
|
||||
# read database schema
|
||||
try:
|
||||
dbSchema = DBSchema()
|
||||
dbSchema.readDatabase(cur)
|
||||
except Exception, e:
|
||||
print e
|
||||
return -3
|
||||
|
||||
return 1
|
||||
|
||||
|
||||
def __openDB(filein):
|
||||
conn = sqlite3.connect(filein)
|
||||
cur = conn.cursor()
|
||||
return (conn, cur)
|
||||
|
||||
|
||||
def writeFingerprint():
|
||||
return
|
||||
|
||||
|
||||
def printDB():
|
||||
return
|
||||
|
||||
def getErrorString(errorCode):
|
||||
retval = "ERROR: unknown error code: " + str(errorCode)
|
||||
if (errorCode == -2):
|
||||
retval = "ERROR: problem opening file, or not sqlite database"
|
||||
elif (errorCode == -3):
|
||||
retval = "ERROR: problem reading database"
|
||||
return retval
|
||||
|
||||
|
||||
#
|
||||
# Database Schema
|
||||
#
|
||||
|
@ -59,12 +19,39 @@ class DBSchema:
|
|||
sqlmaster = "SELECT name, sql FROM sqlite_master WHERE type='table'"
|
||||
|
||||
def __init__(self):
|
||||
self.conn = None
|
||||
self.cur = None
|
||||
self.tableNames = []
|
||||
self.tables = {}
|
||||
return
|
||||
|
||||
def readDatabase(self, cur):
|
||||
for row in cur.execute(self.sqlmaster):
|
||||
|
||||
def scanDBFile(self, filein):
|
||||
# try to open sqlite file
|
||||
try:
|
||||
(self.conn, self.cur) = self.__openDB(filein)
|
||||
except Exception, e:
|
||||
print e
|
||||
return -2
|
||||
|
||||
# read database schema
|
||||
try:
|
||||
self.__readDatabase()
|
||||
except Exception, e:
|
||||
print e
|
||||
return -3
|
||||
|
||||
return 1
|
||||
|
||||
|
||||
def __openDB(self, filein):
|
||||
conn = sqlite3.connect(filein)
|
||||
cur = conn.cursor()
|
||||
return (conn, cur)
|
||||
|
||||
|
||||
def __readDatabase(self):
|
||||
for row in self.cur.execute(self.sqlmaster):
|
||||
newTable = TableDefinition()
|
||||
newTable.loadTable(row[0], row[1])
|
||||
self.tableNames.append(newTable.name())
|
||||
|
@ -72,6 +59,20 @@ class DBSchema:
|
|||
return
|
||||
|
||||
|
||||
def writeFingerprint(self):
|
||||
|
||||
return
|
||||
|
||||
|
||||
def getErrorString(self, errorCode):
|
||||
retval = "ERROR: unknown error code: " + str(errorCode)
|
||||
if (errorCode == -2):
|
||||
retval = "ERROR: problem opening file, or not sqlite database"
|
||||
elif (errorCode == -3):
|
||||
retval = "ERROR: problem reading database"
|
||||
return retval
|
||||
|
||||
|
||||
#
|
||||
#
|
||||
#
|
||||
|
@ -188,15 +189,17 @@ class TableDefinition:
|
|||
|
||||
|
||||
def toJSON(self):
|
||||
|
||||
print json.dumps(self.fields)
|
||||
|
||||
|
||||
def __str__(self):
|
||||
global delimeter
|
||||
retstr = ""
|
||||
retstr = json.dumps(self.fields)
|
||||
|
||||
return retstr
|
||||
|
||||
|
||||
def name(self):
|
||||
return self.tableName
|
||||
|
||||
|
|
10
main.py
10
main.py
|
@ -9,11 +9,15 @@ from libs import fingerprint
|
|||
|
||||
def main():
|
||||
(filein, verbose) = parseArgs()
|
||||
retVal = fingerprint.scanDB(filein)
|
||||
#retVal = fingerprint.scanDB(filein)
|
||||
|
||||
db = fingerprint.DBSchema()
|
||||
retVal = db.scanDBFile(filein)
|
||||
|
||||
if (retVal > 0):
|
||||
fingerprint.writeFingerprint()
|
||||
db.writeFingerprint()
|
||||
else:
|
||||
print fingerprint.getErrorString(retVal)
|
||||
print db.getErrorString(retVal)
|
||||
|
||||
|
||||
def parseArgs():
|
||||
|
|
Loading…
Reference in New Issue