try to match to steam game
This commit is contained in:
@@ -5,7 +5,12 @@ from django.core.management.base import BaseCommand, CommandError
|
||||
from django.db import transaction
|
||||
|
||||
from events.models import Event
|
||||
from games.services.planning import import_planning
|
||||
from games.services.planning import (
|
||||
create_missing_steam_games,
|
||||
import_planning,
|
||||
slot_game_names,
|
||||
)
|
||||
from games.tasks import refresh_steam_games_task
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
@@ -17,6 +22,11 @@ class Command(BaseCommand):
|
||||
def add_arguments(self, parser):
|
||||
parser.add_argument("event_path", help="Path of the event, e.g. polylan-43")
|
||||
parser.add_argument("json_file", help="Planning JSON file, '-' for stdin")
|
||||
parser.add_argument(
|
||||
"--no-steam",
|
||||
action="store_true",
|
||||
help="Don't look up unknown games on the Steam store",
|
||||
)
|
||||
|
||||
def handle(self, *args, **options):
|
||||
try:
|
||||
@@ -39,3 +49,16 @@ class Command(BaseCommand):
|
||||
f"Planning of {event}: {created} created, {updated} updated, {deleted} deleted"
|
||||
)
|
||||
)
|
||||
|
||||
if options["no_steam"]:
|
||||
return
|
||||
|
||||
games = create_missing_steam_games(event, slot_game_names(entries))
|
||||
for game in games:
|
||||
self.stdout.write(f"+ {game.name} (Steam app {game.steam_app_id})")
|
||||
if games:
|
||||
# Prices, blurb, ... for the games page
|
||||
refresh_steam_games_task.enqueue(game_ids=[game.id for game in games])
|
||||
self.stdout.write(
|
||||
self.style.SUCCESS(f"{len(games)} game(s) found on Steam and added to {event}")
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user