Files
lab6/other/Right/cathegory_table.py
T
2024-05-23 17:54:39 +03:00

45 lines
1.5 KiB
Python

# Таблица Телефоны и особые действия с ней.
from dbtable import *
import re
class CathegoryTable(DbTable):
def table_name(self):
return self.dbconn.prefix + "Cathegory"
def columns(self):
return {"cath_id": ["serial", "PRIMARY KEY"],
"cath_name": ["varchar(20)", "NOT NULL"]}
def primary_key(self):
return ["cath_id"]
def delete_one(self, data):
if type(data)==int:
sql = f"DELETE FROM {self.table_name()} WHERE cath_id = %(id)s"
cur = self.dbconn.conn.cursor()
cur.execute(sql, {'id': str(data)})
self.dbconn.conn.commit()
elif type(data)==str:
sql = f"DELETE FROM {self.table_name()} WHERE name = %(name)s"
cur = self.dbconn.conn.cursor()
cur.execute(sql, {'name': str(data)})
self.dbconn.conn.commit()
return
def exist_by_number(self, data):
sql = "SELECT * FROM " + self.table_name()
sql += " WHERE cath_id = %(id)s"
cur = self.dbconn.conn.cursor()
cur.execute(sql, {'id': str(data)})
return len(cur.fetchall()) > 0
def update(self, cathegory_id, data):
sql = "UPDATE " + self.table_name()
sql += " SET cath_name = '" + re.split(r"'|--|\(|\)", data[0])[0] + "'"
sql += " WHERE cath_id = %(id)s"
cur = self.dbconn.conn.cursor()
cur.execute(sql, {'id': str(cathegory_id)})
self.dbconn.conn.commit()