Advertisement
Luke_Username

insert_character.py

Aug 7th, 2019
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.74 KB | None | 0 0
  1. import psycopg2         # Interface with PostgreSQL
  2. import config           # Login details
  3.  
  4. name_list = [""]        # A list of names the character could be known as
  5. default_name = ""       # The character's main name
  6.  
  7. version_list = [""]     # There may be multiple ways to refer to a version of the chracter
  8. is_default = False      # 'True' means include the character even if a version isn't specified
  9. rt_id_array = "{1}"     # An array of respect thread IDs
  10. full_version_name = ""  # The main way to refer to this version of the character
  11.  
  12. #title = ""
  13. #link = ""
  14.  
  15. def insert_character_name(cur):
  16.     query = "INSERT INTO character_name (name, default_name) VALUES "
  17.     for name in name_list:
  18.         query += "('{}', '{}'),".format(name, default_name)
  19.     query = query.rstrip(",") + ";"
  20.     cur.execute(query)
  21.     print("Successfully inserted {} into TABLE character_name".format(default_name))
  22.  
  23. def insert_character(cur):
  24.     query = "INSERT INTO character (default_name, version, is_default, rt_id_array, full_version_name) VALUES "
  25.     for version in version_list:
  26.         query += "('{}', '{}', {}, '{}', '{}'),".format(default_name, version, is_default, rt_id_array, full_version_name)
  27.     query = query.rstrip(",") + ";"
  28.     cur.execute(query)
  29.     print("Successfully inserted {} into TABLE character".format(default_name))
  30.  
  31. def insert_respectthread(cur):
  32.     query = "INSERT INTO respectthread (title, link) VALUES ('{}', '{}');".format(title, link)
  33.     cur.execute(query)
  34.     cur.execute("SELECT id FROM respectthread WHERE link = '{}'".format(link))
  35.     id = cur.fetchone()[0]
  36.     print("Successfully inserted into TABLE character. id={}".format(id))
  37.  
  38. def insert_version_name(cur):
  39.     query = "INSERT INTO character (default_name, version, is_default, rt_id_array, full_version_name) VALUES "
  40.     cur.execute("SELECT DISTINCT default_name, is_default, rt_id_array FROM character WHERE full_version_name = '{}'".format(full_version_name))
  41.     rows = cur.fetchall()
  42.     for row in rows:
  43.         rt_ids = "{" + str(row[2]).lstrip("[").rstrip("]") + "}"
  44.         for version in version_list:
  45.             query += "('{}', '{}', {}, '{}', '{}'),".format(row[0], version, row[1], rt_ids, full_version_name)
  46.     query = query.rstrip(",") + ";"
  47.     cur.execute(query)
  48.     print("Successfully inserted {} where full_version_name = {}".format(version_list, full_version_name))
  49.  
  50. con = psycopg2.connect(
  51.             host = config.host,
  52.             database = config.database,
  53.             user = config.d_user,
  54.             password = config.d_password
  55. )
  56. cur = con.cursor()
  57.  
  58. #insert_respectthread(cur)
  59. insert_character_name(cur)
  60. insert_character(cur)
  61. con.commit()
  62. print("Committed")
  63.  
  64. # Close the cursor and connection
  65. cur.close()
  66. con.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement