feat: add native Tomie adapter and strict import compatibility checks
This commit is contained in:
1 parent
c8d83b3fe7
commit
57a4edcbfd
45 files changed
+2985
-71
No files matched your search
@@ -25,13 +25,20 @@ async def main() -> None:
|
||||
if not args.path.is_dir():
|
||||
raise SystemExit(f"{args.path} is not a directory")
|
||||
|
||||
from app.converter.preflight import inspect_directory
|
||||
from app.converter.compatibility import CompatibilityError
|
||||
try:
|
||||
report = await asyncio.to_thread(inspect_directory, args.path)
|
||||
except CompatibilityError as exc:
|
||||
raise SystemExit(str(exc)) from None
|
||||
|
||||
async with SessionLocal() as db:
|
||||
stmt = select(User).join(Role).order_by(User.id)
|
||||
stmt = stmt.where(User.username == args.owner) if args.owner else stmt.where(Role.name == "admin")
|
||||
owner = await db.scalar(stmt.limit(1))
|
||||
if owner is None:
|
||||
raise SystemExit("owner not found")
|
||||
game = Game(title=args.title or args.path.name, created_by_id=owner.id)
|
||||
game = Game(title=args.title or args.path.name, engine=report["engine"], created_by_id=owner.id)
|
||||
db.add(game)
|
||||
await db.flush()
|
||||
version = GameVersion(game_id=game.id, owner_id=owner.id, name="Оригинал",
|
||||
|
||||
Reference in new issue
Block a user