import psycopg2 # Interface with PostgreSQL import config # Login details name_list = [""] # A list of names the character could be known as default_name = "" # The character's main name version_list = [""] # There may be multiple ways to refer to a version of the chracter is_default = False # 'True' means include the character even if a version isn't specified rt_id_array = "{1}" # An array of respect thread IDs full_version_name = "" # The main way to refer to this version of the character #title = "" #link = "" def insert_character_name(cur): query = "INSERT INTO character_name (name, default_name) VALUES " for name in name_list: query += "('{}', '{}'),".format(name, default_name) query = query.rstrip(",") + ";" cur.execute(query) print("Successfully inserted {} into TABLE character_name".format(default_name)) def insert_character(cur): query = "INSERT INTO character (default_name, version, is_default, rt_id_array, full_version_name) VALUES " for version in version_list: query += "('{}', '{}', {}, '{}', '{}'),".format(default_name, version, is_default, rt_id_array, full_version_name) query = query.rstrip(",") + ";" cur.execute(query) print("Successfully inserted {} into TABLE character".format(default_name)) def insert_respectthread(cur): query = "INSERT INTO respectthread (title, link) VALUES ('{}', '{}');".format(title, link) cur.execute(query) cur.execute("SELECT id FROM respectthread WHERE link = '{}'".format(link)) id = cur.fetchone()[0] print("Successfully inserted into TABLE character. id={}".format(id)) def insert_version_name(cur): query = "INSERT INTO character (default_name, version, is_default, rt_id_array, full_version_name) VALUES " cur.execute("SELECT DISTINCT default_name, is_default, rt_id_array FROM character WHERE full_version_name = '{}'".format(full_version_name)) rows = cur.fetchall() for row in rows: rt_ids = "{" + str(row[2]).lstrip("[").rstrip("]") + "}" for version in version_list: query += "('{}', '{}', {}, '{}', '{}'),".format(row[0], version, row[1], rt_ids, full_version_name) query = query.rstrip(",") + ";" cur.execute(query) print("Successfully inserted {} where full_version_name = {}".format(version_list, full_version_name)) con = psycopg2.connect( host = config.host, database = config.database, user = config.d_user, password = config.d_password ) cur = con.cursor() #insert_respectthread(cur) insert_character_name(cur) insert_character(cur) con.commit() print("Committed") # Close the cursor and connection cur.close() con.close()