66 lines
1.8 KiB
Python
66 lines
1.8 KiB
Python
|
|
import sys
|
|
import os
|
|
import psycopg2
|
|
|
|
# Init path to allow importing lawrisk
|
|
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
|
|
|
from lawrisk.services import licensing_repo as lic_repo
|
|
from lawrisk.utils.env_loader import load_env
|
|
|
|
def rename_permit(permit_id, new_name):
|
|
load_env()
|
|
|
|
if hasattr(lic_repo, "_lic_pg_conn"):
|
|
conn_func = getattr(lic_repo, "_lic_pg_conn")
|
|
else:
|
|
print("Could not find connection function")
|
|
return
|
|
|
|
try:
|
|
conn = conn_func()
|
|
except Exception as e:
|
|
print(f"Error connecting to DB: {e}")
|
|
return
|
|
|
|
try:
|
|
cur = conn.cursor()
|
|
|
|
# Verify existence
|
|
cur.execute("SELECT name FROM permits WHERE id = %s", (permit_id,))
|
|
row = cur.fetchone()
|
|
if not row:
|
|
print(f"Permit with ID {permit_id} not found.")
|
|
return
|
|
|
|
old_name = row[0]
|
|
print(f"Renaming permit {permit_id}:")
|
|
print(f" Old Name: {old_name}")
|
|
print(f" New Name: {new_name}")
|
|
|
|
# Check if new name exists
|
|
cur.execute("SELECT id FROM permits WHERE name = %s", (new_name,))
|
|
if cur.fetchone():
|
|
print(f"Error: A permit with the name '{new_name}' already exists.")
|
|
return
|
|
|
|
# Update
|
|
cur.execute("UPDATE permits SET name = %s WHERE id = %s", (new_name, permit_id))
|
|
conn.commit()
|
|
print("Successfully renamed.")
|
|
|
|
except Exception as e:
|
|
conn.rollback()
|
|
print(f"Error updating permit: {e}")
|
|
finally:
|
|
conn.close()
|
|
|
|
if __name__ == "__main__":
|
|
if len(sys.argv) < 3:
|
|
print("Usage: python rename_permit.py <permit_id> <new_name>")
|
|
else:
|
|
pid = sys.argv[1]
|
|
nname = sys.argv[2]
|
|
rename_permit(pid, nname)
|