コード例 #1
0
ファイル: interface.py プロジェクト: mtaung/realmstats
def insert_death(
    death: list, 
    table: sqlalchemy.Table,
    engine: sqlalchemy.engine,
) -> None:
    try:
        backpack_bool = True if death[4][4] else False
    except IndexError:
        backpack_bool = False

    insertion = table.insert().values(
        user = death[0],
        datetime = death[1],
        base_fame = death[2],
        total_fame = death[3],
        weapon = death[4][0],
        secondary = death[4][1],
        armour = death[4][2],
        ring = death[4][3],
        backpack = backpack_bool,
        maxed_stats = int(death[5][0]),
        killed_by = death[6],
    )

    with engine.connect() as connection:
        result = connection.execute(insertion)
    return None
コード例 #2
0
def table_col_names(db_engine: sqlalchemy.engine, schema_name: str,
                    table_name: str):
    column_names = []
    with db_engine.connect() as con:
        rows = con.execute(
            f"select column_name from information_schema.columns where table_schema = '{schema_name}' and table_name='{table_name}'"
        )
        column_names = [row[0] for row in rows]
    return column_names
コード例 #3
0
    def db_to_csv(self, sql_path: str, engine: sqlalchemy.engine, path: str) -> None:
        """Reads in a sql file and writes out a file to a given location."""
        file = open(SCRIPT_DIR+'/..'+'/sql/'+sql_path)
        with engine.connect() as conn:
            query = sqlalchemy.text(file.read())
            resultproxy = conn.execute(query)

        df_dict = [
            {column: value for column, value in rowproxy.items()}
            for rowproxy in resultproxy
        ]
        df = pd.DataFrame(df_dict)

        out_path = self.base + path + self.date + '/' + str(sql_path.split('.')[0]) + '.csv'

        df.to_csv(out_path, index=False)
コード例 #4
0
ファイル: interface.py プロジェクト: mtaung/realmstats
def insert_offer(
    offer: list, 
    table: sqlalchemy.Table,
    engine: sqlalchemy.engine,
) -> None:

    insertion = table.insert().values(
        user = offer[-1],
        selling = ','.join(offer[0]),
        buying = ','.join(offer[1]),
        quantity = offer[2],
        datetime = offer[3], 
    )

    with engine.connect() as connection:
        result = connection.execute(insertion)
    return None