Skip to content

Commit 0048717

Browse files
authored
Add files via upload
0 parents  commit 0048717

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

course.py

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
import json
2+
import sqlite3
3+
4+
conn = sqlite3.connect('rosterdb.sqlite')
5+
cur = conn.cursor()
6+
7+
# Do some setup
8+
cur.executescript('''
9+
DROP TABLE IF EXISTS User;
10+
DROP TABLE IF EXISTS Member;
11+
DROP TABLE IF EXISTS Course;
12+
CREATE TABLE User (
13+
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
14+
name TEXT UNIQUE
15+
);
16+
CREATE TABLE Course (
17+
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
18+
title TEXT UNIQUE
19+
);
20+
CREATE TABLE Member (
21+
user_id INTEGER,
22+
course_id INTEGER,
23+
role INTEGER,
24+
PRIMARY KEY (user_id, course_id)
25+
)
26+
''')
27+
28+
fname = input('Enter file name: ')
29+
if len(fname) < 1:
30+
fname = 'roster_data.json'
31+
32+
# [
33+
# [ "Charley", "si110", 1 ],
34+
# [ "Mea", "si110", 0 ],
35+
36+
str_data = open(fname).read()
37+
json_data = json.loads(str_data)
38+
39+
for entry in json_data:
40+
41+
name = entry[0]
42+
title = entry[1]
43+
role = entry[2]
44+
45+
print(name, title)
46+
47+
cur.execute('''INSERT OR IGNORE INTO User (name)
48+
VALUES ( ? )''', (name, ))
49+
cur.execute('SELECT id FROM User WHERE name = ? ', (name, ))
50+
user_id = cur.fetchone()[0]
51+
52+
cur.execute('''INSERT OR IGNORE INTO Course (title)
53+
VALUES ( ? )''', (title, ))
54+
cur.execute('SELECT id FROM Course WHERE title = ? ', (title, ))
55+
course_id = cur.fetchone()[0]
56+
57+
cur.execute('''INSERT OR REPLACE INTO Member
58+
(user_id, course_id, role) VALUES ( ?, ?, ? )''',
59+
(user_id, course_id, role))
60+
61+
conn.commit()

0 commit comments

Comments
 (0)