· 4 years ago · May 16, 2021, 07:06 PM
1import re, fileinput
2
3def main():
4 for line in fileinput.input():
5 process = False
6 for nope in ('BEGIN TRANSACTION','COMMIT',
7 'sqlite_sequence','CREATE UNIQUE INDEX'):
8 if nope in line: break
9 else:
10 process = True
11 if not process: continue
12 m = re.search('CREATE TABLE "([a-z_]*)"(.*)', line)
13 if m:
14 name, sub = m.groups()
15 sub = sub.replace('"','`')
16 line = '''DROP TABLE IF EXISTS %(name)s;
17CREATE TABLE IF NOT EXISTS %(name)s%(sub)s
18'''
19 line = line % dict(name=name, sub=sub)
20 else:
21 m = re.search('INSERT INTO "([a-z_]*)"(.*)', line)
22 if m:
23 line = 'INSERT INTO %s%s\n' % m.groups()
24 line = line.replace('"', r'\"')
25 line = line.replace('"', "'")
26 line = re.sub(r"([^'])'t'(.)", "\\1THIS_IS_TRUE\\2", line)
27 line = line.replace('THIS_IS_TRUE', '1')
28 line = re.sub(r"([^'])'f'(.)", "\\1THIS_IS_FALSE\\2", line)
29 line = line.replace('THIS_IS_FALSE', '0')
30 line = line.replace('AUTOINCREMENT', 'AUTO_INCREMENT')
31 if re.search('^CREATE INDEX', line):
32 line = line.replace('"','`')
33 print line,
34
35main()