-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmembers.py
58 lines (44 loc) · 1.78 KB
/
members.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import os
import sqlite3
class Member():
def __init__(self, memberId, name):
self.memberId = memberId
self.name = name
def __str__(self):
return f"ID:{self.memberId} -- Name:{self.name}"
class Members():
def createTable(self, dbConnection):
dbConnection.execute(
"""
CREATE TABLE members (
id integer PRIMARY KEY,
name text NOT NULL)"""
)
def insertMembers(self, dbConnection, members):
for member in members:
dbConnection.execute("INSERT INTO members (name) Values (?)", (member,))
def migrate(self, dbConnection, dbSchemaVersion):
pass
def getMembers(self, dbConnection):
membersList = []
for row in dbConnection.execute("SELECT id, name FROM members ORDER BY name ASC", ()):
membersList.append(Member(row[0], row[1]))
return membersList
def getTaskId(self, dbconnection, memberText):
return dbconnection.execute("SELECT id FROM members WHERE name = ?", (memberText,)).fetchone()[0]
def printList(memberList):
for member in memberList:
print(member)
print("----------------------")
if __name__ == "__main__":
DEFAULT_PATH = os.path.join(os.path.dirname(__file__), 'data/testDatabase.sqlite3')
try:
os.remove(DEFAULT_PATH)
except IOError:
pass #delete File, if it doesn't exist we don't care
with sqlite3.connect(DEFAULT_PATH) as connection:
members = Members()
members.createTable(connection)
membersList = ["Andrew", "Chirag", "Eric", "Izaak", "Nithya", "Philip", "Preeti", "Rishi", "Arjun", "Ryan", "Nikhil"]
members.insertMembers(connection, membersList)
printList(members.getMembers(connection))