55 lines
1.6 KiB
Python
55 lines
1.6 KiB
Python
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")
|