Advertisement
Guest User

Untitled

a guest
Dec 8th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import sqlite3
  2. from sqlite3 import Error
  3.  
  4.  
  5. def create_connection(db_file):
  6.     """ create a database connection to the SQLite database
  7.        specified by db_file
  8.    :param db_file: database file
  9.    :return: Connection object or None
  10.    """
  11.     conn = None
  12.     try:
  13.         conn = sqlite3.connect(db_file)
  14.         return conn
  15.     except Error as e:
  16.         print(e)
  17.  
  18.     return conn
  19.  
  20.  
  21. def create_table(conn, create_table_sql):
  22.     """ create a table from the create_table_sql statement
  23.    :param conn: Connection object
  24.    :param create_table_sql: a CREATE TABLE statement
  25.    :return:
  26.    """
  27.     try:
  28.         c = conn.cursor()
  29.         c.execute(create_table_sql)
  30.     except Error as e:
  31.         print(e)
  32.  
  33. def create_user(conn, user):
  34.     """
  35.    Create a new user into users table
  36.    :param conn:
  37.    :param user:
  38.    :return: user id
  39.    """
  40.     sql = ''' INSERT INTO ranks(id,xp,lvl)
  41.              VALUES(?,?,?) '''
  42.     cur = conn.cursor()
  43.     cur.execute(sql, user)
  44.     return cur.lastrowid
  45.  
  46. def create_guild(conn, guild):
  47.     """
  48.    Create a new guild table
  49.    :param conn:
  50.    :param guild:
  51.    :return:
  52.    """
  53.  
  54.     sql = ''' INSERT INTO guilds(id,prefix)
  55.              VALUES(?,?) '''
  56.     cur = conn.cursor()
  57.     cur.execute(sql, guild)
  58.     return cur.lastrowid
  59.  
  60. def update_user(conn, user):
  61.     """
  62.    update xp and lvl of user
  63.    :param conn:
  64.    :param task:
  65.    :return: project id
  66.    """
  67.     sql = ''' UPDATE ranks
  68.              SET xp = ? ,
  69.                  lvl = ?
  70.              WHERE id = ?'''
  71.     cur = conn.cursor()
  72.     cur.execute(sql, user)
  73.     conn.commit()
  74.  
  75. def select_user(conn, user):
  76.     """
  77.    Get user xp and lvl in a array
  78.    :param conn: the Connection object
  79.    :param user:
  80.    :return xp, lvl:
  81.    """
  82.     cur = conn.cursor()
  83.     sql = """SELECT * FROM ranks"""
  84.     cur.execute(sql)
  85.  
  86.     rows = cur.fetchall()
  87.  
  88.     xpandlvl = []
  89.     #print('cur: ', cur)
  90.     for row in rows:
  91.         xpandlvl.append(row)
  92.         #print(row)
  93.  
  94.     print(xpandlvl)
  95.     return xpandlvl
  96.  
  97. def check_user(conn, user):
  98.     """
  99.    Checks if user exists
  100.    :param conn: the Connection object
  101.    :param user:
  102.    :return boolean:
  103.    """
  104.     cur = conn.cursor()
  105.     cur.execute("SELECT ? FROM ranks", (user,))
  106.  
  107.     rows = cur.fetchall()
  108.  
  109.     print('k', rows)
  110.  
  111.     try:
  112.         if rows[1]:
  113.            return bool(rows[1])
  114.         else:
  115.             return False
  116.     except Exception as e:
  117.       print('Nope.', e)
  118.       return False
  119.  
  120. def connect():
  121.     database = r"database.db"
  122.  
  123.     sql_create_ranks_table = """ CREATE TABLE IF NOT EXISTS ranks (
  124.                                        id integer PRIMARY KEY,
  125.                                        xp integer NOT NULL,
  126.                                        lvl integer NOT NULL
  127.                                    ); """
  128.  
  129.     sql_create_guilds_table = """CREATE TABLE IF NOT EXISTS guilds (
  130.                                    id integer PRIMARY KEY,
  131.                                    prefix text NOT NULL
  132.                                );"""
  133.  
  134.     # create a database connection
  135.     conn = create_connection(database)
  136.  
  137.     # create tables
  138.     if conn is not None:
  139.         # create ranks table
  140.         create_table(conn, sql_create_ranks_table)
  141.  
  142.         # create guilds table
  143.         create_table(conn, sql_create_guilds_table)
  144.  
  145.     else:
  146.         print("Error! cannot create the database connection.")
  147.  
  148. def getConn():
  149.     database = r"database.db"
  150.  
  151.     try:
  152.     # create a database connection
  153.         conn = create_connection(database)
  154.         with conn:
  155.           return conn
  156.     except Error as e:
  157.         print(e)
  158.  
  159.  
  160. if __name__ == '__main__':
  161.     connect()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement