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" ) )