import os from db_classes import * from sqlalchemy.orm import Session from sqlalchemy import create_engine def scan_folder(path): engine = create_engine('mariadb+mariadbconnector://videogamedb:MumMTK3bwjYJRfe@localhost/videogamedb') session = Session(engine) extensions = session.query(RomFileExtensions).all() ROMS = [] cpt = 0 ani = ["-","\\","|","/"] for root, dirs, files in os.walk(path): for file in files: #print(file) # print(ani[cpt%len(ani)],end="\r") PATH = os.path.join(root, file) file_split = file.split(".") file_extension = file_split[-1] CONSOLE = None for db_extentions in extensions: if "." + file_extension.lower() == db_extentions.name: CONSOLE = db_extentions.consoles[0] ROM_EXTENSION = db_extentions break if CONSOLE is None: continue ROM_NAME = "" for i in file_split[:-1]: ROM_NAME += i CATEGORIES = [] LANGUAGE = session.query(Language).filter(Language.name == "Unknown").first() LANGUAGE = [LANGUAGE] rom = RomFile(ROM_NAME, PATH, CATEGORIES, LANGUAGE, ROM_EXTENSION, CONSOLE) ROMS.append(rom) print(rom) session.add_all(ROMS) session.commit() scan_folder("/roms")