-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDatabaseManager.py
55 lines (39 loc) · 1.51 KB
/
DatabaseManager.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
import os
from FileManager import FileManager
class DatabaseManager:
def __init__(self):
self._fm = None
# Database methods #
def create_database(self,pathName):
FileManager.create_database_file(pathName)
def select_database(self,databasePath):
self._fm = FileManager(databasePath)
def drop_database(self,databasePath):
fm = FileManager(databasePath)
fm.delete_db_file()
def rename_database(self,_oldFilePath,_newFilePath):
self._fm.rename_db_file(_oldFilePath,_newFilePath)
def list_tables(self):
self._fm.list_tables()
def close_database(self):
self._fm = None
# Table methods #
def create_table(self,table_name):
self._fm.add_table(table_name)
def drop_table(self,table_name):
self._fm.drop_table(table_name)
def rename_table(self,old_name,new_name):
self._fm.rename_table(old_name, new_name)
# Data manipulation methods #
def select_all(self,table_name):
return self._fm.return_table(table_name)
def select_by_key(self,key,table_name):
return self._fm.select_by_key(key, table_name)
def insert(self,key,value,table_name):
self._fm.insert(key, value, table_name)
def remove_all(self,table_name):
self._fm.remove_all(table_name)
def remove_by_key(self,table_name,key_name):
self._fm.remove_by_key(table_name, key_name)
def update_by_key(self,key,table_name,value):
self._fm.update_by_key(key, table_name, value)