51 lines
1.2 KiB
Python
51 lines
1.2 KiB
Python
import sqlite3
|
|
import item as itm
|
|
|
|
conn = sqlite3.connect("data.db")
|
|
c = conn.cursor()
|
|
|
|
class Category:
|
|
def __init__(self, cat_id):
|
|
self.id = cat_id
|
|
|
|
def __eq__(self, __o: object) -> bool:
|
|
return self.get_id() == __o.get_id()
|
|
|
|
def __repr__(self) -> str:
|
|
return self.get_name()
|
|
|
|
def get_id(self):
|
|
return self.id
|
|
|
|
def __clist(self):
|
|
c.execute(f"SELECT * FROM cats WHERE id=?", [self.get_id()])
|
|
return list(c)[0]
|
|
|
|
def get_name(self):
|
|
return self.__clist()[1]
|
|
|
|
def set_name(self, value):
|
|
c.execute(f"UPDATE cats SET name=? WHERE id=?", [value, self.get_id()])
|
|
conn.commit()
|
|
|
|
def delete(self):
|
|
c.execute(f"DELETE FROM cats WHERE id=?", [self.get_id()])
|
|
conn.commit()
|
|
|
|
def get_item_list(self):
|
|
c.execute(f"SELECT * FROM items WHERE cat_id=?", [self.get_id()])
|
|
return list(map(itm.Item, [item[0] for item in list(c)]))
|
|
|
|
|
|
def get_cat_list():
|
|
c.execute(f"SELECT * FROM cats")
|
|
return list(map(Category, [cat[0] for cat in list(c)]))
|
|
|
|
|
|
def create_cat(cat_name):
|
|
c.execute(f"INSERT INTO cats(name) VALUES(?)", [cat_name])
|
|
conn.commit()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
print(get_cat_list()) |