From 82651d5388ef72dd71290e0808cba6eb784cfd2a Mon Sep 17 00:00:00 2001 From: JohnE Date: Thu, 17 Sep 2015 02:50:01 -0700 Subject: [PATCH] FIX: parsing of PRIMARY KEY (field_name_111, field_name_222) --- libs/fingerprint.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/libs/fingerprint.py b/libs/fingerprint.py index 7db6fda..11a5668 100644 --- a/libs/fingerprint.py +++ b/libs/fingerprint.py @@ -32,8 +32,8 @@ class DBSchema: """ sqlmaster = "SELECT name, sql FROM sqlite_master WHERE type='table'" - scanner_ver = ".85" - format_ver = ".90" + scanner_ver = "0.85" + format_ver = "0.90" def __init__(self): self.conn = None @@ -296,8 +296,6 @@ class TableDefinition: if newField: self.fields[newField['name']] = newField del newField['name'] - else: - print "WARN: <{}> ] failed to parse]".format(tableName) # def importTable(self, tbName, sqlStr, fields): @@ -391,10 +389,10 @@ class TableDefinition: newField['datatype'] = results.group(2) return newField # field_name) - results = re.match(r'(?:[`|\"|\'])*(\w+)(?:[`|\"|\'])*(\)?)', sqltext) + # results = re.match(r'(?:[`|\"|\'])*(\w+)(?:[`|\"|\'])*(\)?)', sqltext) + results = re.match(r'(?:[`|\"|\'])*(\w+)(?:[`|\"|\'])*\)', sqltext) if results: field = self.fields[results.group(1)] - field = self.fields[results.group(2)] if (self.primarykeyFlag): field['primarykey'] = True if (field): @@ -408,6 +406,7 @@ class TableDefinition: print 'WARN: field definition not recognized: "{}"'.format(sqltext) except Exception, e: print 'WARN: problem parsing sql create text: "{}"'.format(sqltext) + print 'Exception: \n{}'.format(e) return None return None