Files
BOTKlining/doners/shop-telegram-bot/src/category.py
2025-06-08 20:55:08 +09:00

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())