12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- from django.core.management.base import BaseCommand, CommandError
- from games.utils import import_gamelist_file_to_db_for_system
- class Command(BaseCommand):
- help = "Import all games found in a given gamelist XML file"
- def add_arguments(self, parser):
- parser.add_argument("system", type=str)
- parser.add_argument(
- "--file",
- action="store_true",
- help="Import from specific file",
- )
- parser.add_argument(
- "--full-scan",
- action="store_true",
- help="Update all files, even ones we already know about",
- )
- def handle(self, *args, **options):
- results = import_gamelist_file_to_db_for_system(
- options["system"],
- options["file"],
- options["full_scan"],
- )
- imported = results["imported"]
- not_imported = results["not_imported"]
- if imported:
- self.stdout.write(
- self.style.SUCCESS(f"Successfully imported {len(imported)} games")
- )
- if not_imported and not imported:
- self.stdout.write(
- self.style.SUCCESS(f"Found, but did not update {len(not_imported)} games (use --full-scan to update)")
- )
- else:
- self.stdout.write(
- self.style.ERROR(
- "No games imported, check for gamelist.xml file or re-run scraper"
- )
- )
|