From ebc70cfdb85a8219369e119ebeb983dab05f503a Mon Sep 17 00:00:00 2001 From: JohnE Date: Sat, 26 Sep 2015 01:16:03 -0700 Subject: [PATCH] MOD: updated the regex to be more flexible with whitespace --- libs/fingerprint.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/libs/fingerprint.py b/libs/fingerprint.py index 8e061ea..65a476d 100644 --- a/libs/fingerprint.py +++ b/libs/fingerprint.py @@ -342,7 +342,7 @@ class TableDefinition: return newField # pinned INTEGER NOT NULL DEFAULT 2147483647 # send_to_voicemail INTEGER NOT NULL DEFAULT 0 - results = re.match(r'(?:[`|\"|\'])*(\w+)(?:[`|\"|\'])*\s+(\w+)\s+NOT.NULL\s+DEFAULT\s+(\w+)', sqltext, re.IGNORECASE) + results = re.match(r'(?:[`|\"|\'])*(\w+)(?:[`|\"|\'])*\s+(\w+)\s+NOT\s+NULL\s+DEFAULT\s+(\w+)', sqltext, re.IGNORECASE) if results: newField['name'] = results.group(1) newField['datatype'] = results.group(2) @@ -358,7 +358,7 @@ class TableDefinition: newField['default'] = results.group(3) return newField # _id INTEGER PRIMARY KEY AUTOINCREMENT - results = re.match(r'(?:[`|\"|\'])*(\w+)(?:[`|\"|\'])*\s+(\w+)\s+PRIMARY.KEY\s+AUTOINCREMENT', sqltext, re.IGNORECASE) + results = re.match(r'(?:[`|\"|\'])*(\w+)(?:[`|\"|\'])*\s+(\w+)\s+PRIMARY\s+KEY\s+AUTOINCREMENT', sqltext, re.IGNORECASE) if results: newField['name'] = results.group(1) newField['datatype'] = results.group(2) @@ -366,28 +366,28 @@ class TableDefinition: newField['autoincrement'] = True return newField # _id INTEGER PRIMARY KEY - results = re.match(r'(?:[`|\"|\'])*(\w+)(?:[`|\"|\'])*\s+(\w+)\s+PRIMARY.KEY', sqltext, re.IGNORECASE) + results = re.match(r'(?:[`|\"|\'])*(\w+)(?:[`|\"|\'])*\s+(\w+)\s+PRIMARY\s+KEY', sqltext, re.IGNORECASE) if results: newField['name'] = results.group(1) newField['datatype'] = results.group(2) newField['primarykey'] = True return newField # FileID INTEGER NOT NULL - results = re.match(r'(?:[`|\"|\'])*(\w+)(?:[`|\"|\'])*\s+(\w+)\s+NOT.NULL', sqltext, re.IGNORECASE) + results = re.match(r'(?:[`|\"|\'])*(\w+)(?:[`|\"|\'])*\s+(\w+)\s+NOT\s+NULL', sqltext, re.IGNORECASE) if results: newField['name'] = results.group(1) newField['datatype'] = results.group(2) newField['notnull'] = True return newField # PRIMARY KEY (field_name, - results = re.match(r'PRIMARY.KEY\s+\((?:[`|\"|\'])*(\w+)(?:[`|\"|\'])*\,?', sqltext, re.IGNORECASE) + results = re.match(r'PRIMARY.KEY\s*\((?:[`|\"|\'])*(\w+)(?:[`|\"|\'])*\,?', sqltext, re.IGNORECASE) if results: field = self.fields[results.group(1)] field['primarykey'] = True self.primarykeyFlag = True return False - # UNIQUE(field_name, - results = re.match(r'UNIQUE\((?:[`|\"|\'])*(\w+)(?:[`|\"|\'])*\,?', sqltext, re.IGNORECASE) + # UNIQUE (field_name, + results = re.match(r'UNIQUE\s*\((?:[`|\"|\'])*(\w+)(?:[`|\"|\'])*\,?', sqltext, re.IGNORECASE) if results: field = self.fields[results.group(1)] field['unique'] = True