from psycopg.rows import dict_row from .operation import * from .connection import g_conn_dict as conn from .change_set import ChangeSet def get_title(name: str) -> str: with conn[name].cursor(row_factory=dict_row) as cur: cur.execute(f"select * from title") return cur.fetchone()['value'] def set_title(name: str, value: str) -> ChangeSet: old = get_title(name) sql = f"update title set value = '{value}'" undo = f"update title set value = ''{old}''" write(name, sql) add_operation(name, sql.replace("'", "''"), undo, 'set_title', API_UPDATE, 'title', '') return get_current_change_set(name)