broadfield-dev commited on
Commit
2017cb6
·
verified ·
1 Parent(s): 63492a9

Create database.py

Browse files
Files changed (1) hide show
  1. database.py +46 -0
database.py ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # database.py
2
+ import sqlite3
3
+ import os
4
+ from parser import parse_python_code
5
+
6
+ def init_db():
7
+ conn = sqlite3.connect('python_programs.db')
8
+ c = conn.cursor()
9
+ c.execute('''CREATE TABLE IF NOT EXISTS programs
10
+ (id INTEGER PRIMARY KEY, code TEXT, sequence TEXT, vectors TEXT)''')
11
+ conn.commit()
12
+ conn.close()
13
+
14
+ def store_program(code, sequence, vectors):
15
+ conn = sqlite3.connect('python_programs.db')
16
+ c = conn.cursor()
17
+ c.execute("INSERT INTO programs (code, sequence, vectors) VALUES (?, ?, ?)",
18
+ (code, ','.join(sequence), str(vectors)))
19
+ conn.commit()
20
+ conn.close()
21
+
22
+ def populate_sample_db():
23
+ # Sample programs for testing
24
+ samples = [
25
+ """
26
+ import os
27
+ def add_one(x):
28
+ y = x + 1
29
+ return y
30
+ """,
31
+ """
32
+ def multiply(a, b):
33
+ c = a * b
34
+ if c > 0:
35
+ return c
36
+ """
37
+ ]
38
+
39
+ for code in samples:
40
+ parts, sequence = parse_python_code(code)
41
+ vectors = [part['vector'] for part in parts]
42
+ store_program(code, sequence, vectors)
43
+
44
+ if __name__ == '__main__':
45
+ init_db()
46
+ populate_sample_db()