import sqlite3
import glob
from sqlite3 import Error
def create_connection(db_file):
try:
conn = sqlite3.connect(db_file)
return conn
except Error as e:
print(e)
return None
def add_data(conn, data):
cur = conn.cursor()
l_data = data
cur.execute("SELECT * FROM players")
rows = cur.fetchall()
for row in rows:
steamid = row[1]
points = row[3]
if steamid in l_data:
l_data[steamid] = l_data[steamid] + points
else:
l_data[steamid] = points
return l_data
def main():
folder = "C:\\sqlite\\"
kits = "{""starter"":{""Amount"":0}}"
dbs = glob.glob(folder + "*.db")
data = {}
for i in dbs:
try:
conn = create_connection(i)
with conn:
data = add_data(conn, data)
except:
print("Error on database " + i)
database = folder + "MergedArkShop.db"
try:
conn = create_connection(database)
cur = conn.cursor()
cur.execute("CREATE TABLE Players (Id integer primary key autoincrement not null,SteamId integer default 0,Kits text default '{}',Points integer default 0)")
for i in data.keys():
cur.execute("INSERT INTO players (STEAMID,KITS,POINTS) VALUES (?,?,?)", (i, kits, data[i],))
conn.commit()
except:
print("Error creating merged database")
if __name__ == '__main__':
main()