Files
TJWaterServer/api/utility.py
2022-09-17 00:04:50 +08:00

22 lines
701 B
Python

from psycopg.rows import dict_row, Row
from .connection import g_conn_dict as conn
from .operation import *
def query(name: str, sql: str) -> Row | None:
with conn[name].cursor(row_factory=dict_row) as cur:
cur.execute(sql)
return cur.fetchone()
def decorate(value: str | None, type: str, optional: bool) -> str:
if optional:
value = 'NULL' if value == None else value
if type == 'str':
value = f'"{value}"' if value != 'NULL' else value
return value
def update(name: str, sql: str, undo_sql: str):
with conn[name].cursor() as cur:
cur.execute(sql)
redo = sql.replace("'", '"')
add_operation(name, redo, undo_sql)