Blacken quotes
This commit is contained in:
@ -72,6 +72,6 @@ class SportEventAdmin(admin.ModelAdmin):
|
||||
|
||||
def comp_str(self, obj):
|
||||
if obj.home_team:
|
||||
return f'{obj.away_team} @ {obj.home_team}'
|
||||
return f"{obj.away_team} @ {obj.home_team}"
|
||||
if obj.player_one:
|
||||
return f'{obj.player_one} v {obj.player_two}'
|
||||
return f"{obj.player_one} v {obj.player_two}"
|
||||
|
||||
@ -20,42 +20,42 @@ from sports.models import (
|
||||
|
||||
|
||||
class SportEventViewSet(viewsets.ModelViewSet):
|
||||
queryset = SportEvent.objects.all().order_by('-created')
|
||||
queryset = SportEvent.objects.all().order_by("-created")
|
||||
serializer_class = SportEventSerializer
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
|
||||
|
||||
class LeagueViewSet(viewsets.ModelViewSet):
|
||||
queryset = League.objects.all().order_by('-created')
|
||||
queryset = League.objects.all().order_by("-created")
|
||||
serializer_class = LeagueSerializer
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
|
||||
|
||||
class RoundViewSet(viewsets.ModelViewSet):
|
||||
queryset = Round.objects.all().order_by('-created')
|
||||
queryset = Round.objects.all().order_by("-created")
|
||||
serializer_class = RoundSerializer
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
|
||||
|
||||
class SportViewSet(viewsets.ModelViewSet):
|
||||
queryset = Sport.objects.all().order_by('-created')
|
||||
queryset = Sport.objects.all().order_by("-created")
|
||||
serializer_class = SportSerializer
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
|
||||
|
||||
class PlayerViewSet(viewsets.ModelViewSet):
|
||||
queryset = Player.objects.all().order_by('-created')
|
||||
queryset = Player.objects.all().order_by("-created")
|
||||
serializer_class = PlayerSerializer
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
|
||||
|
||||
class TeamViewSet(viewsets.ModelViewSet):
|
||||
queryset = Team.objects.all().order_by('-created')
|
||||
queryset = Team.objects.all().order_by("-created")
|
||||
serializer_class = TeamSerializer
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
|
||||
|
||||
class SeasonViewSet(viewsets.ModelViewSet):
|
||||
queryset = Season.objects.all().order_by('-created')
|
||||
queryset = Season.objects.all().order_by("-created")
|
||||
serializer_class = SeasonSerializer
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
|
||||
@ -15,10 +15,10 @@ BNULL = {"blank": True, "null": True}
|
||||
|
||||
|
||||
class SportEventType(models.TextChoices):
|
||||
UNKNOWN = 'UK', _('Event')
|
||||
GAME = 'GA', _('Game')
|
||||
RACE = 'RA', _('Race')
|
||||
MATCH = 'MA', _('Match')
|
||||
UNKNOWN = "UK", _("Event")
|
||||
GAME = "GA", _("Game")
|
||||
RACE = "RA", _("Race")
|
||||
MATCH = "MA", _("Match")
|
||||
|
||||
|
||||
class TheSportsDbMixin(TimeStampedModel):
|
||||
@ -47,7 +47,7 @@ class Sport(TheSportsDbMixin):
|
||||
@property
|
||||
def default_event_run_time_ticks(self):
|
||||
default_run_time = getattr(
|
||||
settings, 'DEFAULT_EVENT_RUNTIME_SECONDS', 14400
|
||||
settings, "DEFAULT_EVENT_RUNTIME_SECONDS", 14400
|
||||
)
|
||||
if self.default_event_run_time:
|
||||
default_run_time = self.default_event_run_time
|
||||
@ -68,7 +68,7 @@ class Season(TheSportsDbMixin):
|
||||
league = models.ForeignKey(League, on_delete=models.DO_NOTHING, **BNULL)
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.name} season of {self.league}'
|
||||
return f"{self.name} season of {self.league}"
|
||||
|
||||
|
||||
class Team(TheSportsDbMixin):
|
||||
@ -84,11 +84,11 @@ class Round(TheSportsDbMixin):
|
||||
season = models.ForeignKey(Season, on_delete=models.DO_NOTHING, **BNULL)
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.name} of {self.season}'
|
||||
return f"{self.name} of {self.season}"
|
||||
|
||||
|
||||
class SportEvent(ScrobblableMixin):
|
||||
COMPLETION_PERCENT = getattr(settings, 'SPORT_COMPLETION_PERCENT', 90)
|
||||
COMPLETION_PERCENT = getattr(settings, "SPORT_COMPLETION_PERCENT", 90)
|
||||
|
||||
thesportsdb_id = models.CharField(max_length=255, **BNULL)
|
||||
event_type = models.CharField(
|
||||
@ -101,25 +101,25 @@ class SportEvent(ScrobblableMixin):
|
||||
home_team = models.ForeignKey(
|
||||
Team,
|
||||
on_delete=models.DO_NOTHING,
|
||||
related_name='home_event_set',
|
||||
related_name="home_event_set",
|
||||
**BNULL,
|
||||
)
|
||||
away_team = models.ForeignKey(
|
||||
Team,
|
||||
on_delete=models.DO_NOTHING,
|
||||
related_name='away_event_set',
|
||||
related_name="away_event_set",
|
||||
**BNULL,
|
||||
)
|
||||
player_one = models.ForeignKey(
|
||||
Player,
|
||||
on_delete=models.DO_NOTHING,
|
||||
related_name='player_one_set',
|
||||
related_name="player_one_set",
|
||||
**BNULL,
|
||||
)
|
||||
player_two = models.ForeignKey(
|
||||
Player,
|
||||
on_delete=models.DO_NOTHING,
|
||||
related_name='player_two_set',
|
||||
related_name="player_two_set",
|
||||
**BNULL,
|
||||
)
|
||||
|
||||
@ -127,7 +127,7 @@ class SportEvent(ScrobblableMixin):
|
||||
return f"{self.start.date()} - {self.round} - {self.home_team} v {self.away_team}"
|
||||
|
||||
def get_absolute_url(self):
|
||||
return reverse("sports:event_detail", kwargs={'slug': self.uuid})
|
||||
return reverse("sports:event_detail", kwargs={"slug": self.uuid})
|
||||
|
||||
@property
|
||||
def subtitle(self):
|
||||
@ -153,7 +153,7 @@ class SportEvent(ScrobblableMixin):
|
||||
sport, s_created = Sport.objects.get_or_create(thesportsdb_id=sid)
|
||||
if s_created:
|
||||
sport.name = sid
|
||||
sport.save(update_fields=['name'])
|
||||
sport.save(update_fields=["name"])
|
||||
|
||||
# Find or create our League
|
||||
lid = data_dict.get("LeagueId")
|
||||
@ -163,34 +163,34 @@ class SportEvent(ScrobblableMixin):
|
||||
if l_created:
|
||||
league.sport = sport
|
||||
league.name = data_dict.get("LeagueName", "")
|
||||
league.save(update_fields=['sport', 'name'])
|
||||
league.save(update_fields=["sport", "name"])
|
||||
|
||||
# Find or create our Season
|
||||
seid = data_dict.get('Season')
|
||||
seid = data_dict.get("Season")
|
||||
season, se_created = Season.objects.get_or_create(
|
||||
thesportsdb_id=seid, league=league
|
||||
)
|
||||
if se_created:
|
||||
season.name = seid
|
||||
season.save(update_fields=['name'])
|
||||
season.save(update_fields=["name"])
|
||||
|
||||
# Find or create our Round
|
||||
rid = data_dict.get('RoundId')
|
||||
rid = data_dict.get("RoundId")
|
||||
round, r_created = Round.objects.get_or_create(
|
||||
thesportsdb_id=rid, season=season
|
||||
)
|
||||
if r_created:
|
||||
round.season = season
|
||||
round.save(update_fields=['season'])
|
||||
round.save(update_fields=["season"])
|
||||
|
||||
# Set some special data for Tennis
|
||||
player_one = None
|
||||
player_two = None
|
||||
if data_dict.get('Sport') == 'Tennis':
|
||||
event_name = data_dict.get('Name', '')
|
||||
if data_dict.get("Sport") == "Tennis":
|
||||
event_name = data_dict.get("Name", "")
|
||||
if not round.name:
|
||||
round.name = get_round_name_from_event(event_name)
|
||||
round.save(update_fields=['name'])
|
||||
round.save(update_fields=["name"])
|
||||
|
||||
players_list = get_players_from_event(event_name)
|
||||
player_one = Player.objects.filter(
|
||||
@ -229,7 +229,7 @@ class SportEvent(ScrobblableMixin):
|
||||
"away_team": away_team,
|
||||
"player_one": player_one,
|
||||
"player_two": player_two,
|
||||
"start": data_dict['Start'],
|
||||
"start": data_dict["Start"],
|
||||
"round": round,
|
||||
"run_time_ticks": data_dict.get("RunTimeTicks"),
|
||||
"run_time": data_dict.get("RunTime", ""),
|
||||
|
||||
@ -14,36 +14,36 @@ client = TheSportsDbClient(api_key=API_KEY)
|
||||
|
||||
def lookup_event_from_thesportsdb(event_id: str) -> dict:
|
||||
|
||||
event = client.lookup_event(event_id)['events'][0]
|
||||
event = client.lookup_event(event_id)["events"][0]
|
||||
if not event or type(event) != dict:
|
||||
return {}
|
||||
league = {} # client.lookup_league(league_id=event.get('idLeague'))
|
||||
event_type = "Game"
|
||||
sport, _created = Sport.objects.get_or_create(
|
||||
thesportsdb_id=event.get('strSport')
|
||||
thesportsdb_id=event.get("strSport")
|
||||
)
|
||||
|
||||
data_dict = {
|
||||
"EventId": event_id,
|
||||
"ItemType": sport.default_event_type,
|
||||
"Name": event.get('strEvent'),
|
||||
"AltName": event.get('strEventAlternate'),
|
||||
"Start": parse(event.get('strTimestamp')),
|
||||
"Provider_thesportsdb": event.get('idEvent'),
|
||||
"Name": event.get("strEvent"),
|
||||
"AltName": event.get("strEventAlternate"),
|
||||
"Start": parse(event.get("strTimestamp")),
|
||||
"Provider_thesportsdb": event.get("idEvent"),
|
||||
"RunTime": sport.default_event_run_time,
|
||||
"RunTimeTicks": sport.default_event_run_time_ticks,
|
||||
"Sport": event.get('strSport'),
|
||||
"Season": event.get('strSeason'),
|
||||
"LeagueId": event.get('idLeague'),
|
||||
"LeagueName": event.get('strLeague'),
|
||||
"HomeTeamId": event.get('idHomeTeam'),
|
||||
"HomeTeamName": event.get('strHomeTeam'),
|
||||
"AwayTeamId": event.get('idAwayTeam'),
|
||||
"AwayTeamName": event.get('strAwayTeam'),
|
||||
"RoundId": event.get('intRound'),
|
||||
"Sport": event.get("strSport"),
|
||||
"Season": event.get("strSeason"),
|
||||
"LeagueId": event.get("idLeague"),
|
||||
"LeagueName": event.get("strLeague"),
|
||||
"HomeTeamId": event.get("idHomeTeam"),
|
||||
"HomeTeamName": event.get("strHomeTeam"),
|
||||
"AwayTeamId": event.get("idAwayTeam"),
|
||||
"AwayTeamName": event.get("strAwayTeam"),
|
||||
"RoundId": event.get("intRound"),
|
||||
"PlaybackPositionTicks": None,
|
||||
"PlaybackPosition": None,
|
||||
"UtcTimestamp": timezone.now().strftime('%Y-%m-%d %H:%M:%S.%f%z'),
|
||||
"UtcTimestamp": timezone.now().strftime("%Y-%m-%d %H:%M:%S.%f%z"),
|
||||
"IsPaused": False,
|
||||
"PlayedToCompletion": False,
|
||||
"Source": "Vrobbler",
|
||||
|
||||
@ -1,18 +1,18 @@
|
||||
from django.urls import path
|
||||
from sports import views
|
||||
|
||||
app_name = 'sports'
|
||||
app_name = "sports"
|
||||
|
||||
|
||||
urlpatterns = [
|
||||
path(
|
||||
'sport-events/',
|
||||
"sport-events/",
|
||||
views.SportEventListView.as_view(),
|
||||
name='event_list',
|
||||
name="event_list",
|
||||
),
|
||||
path(
|
||||
'sport-events/<slug:slug>/',
|
||||
"sport-events/<slug:slug>/",
|
||||
views.SportEventDetailView.as_view(),
|
||||
name='event_detail',
|
||||
name="event_detail",
|
||||
),
|
||||
]
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
def get_round_name_from_event(event: str) -> str:
|
||||
return ' '.join(event.split(' ')[:2])
|
||||
return " ".join(event.split(" ")[:2])
|
||||
|
||||
|
||||
def get_players_from_event(event: str) -> list[str]:
|
||||
players = []
|
||||
event_name = get_round_name_from_event(event)
|
||||
players_list = event.split(event_name)[1:][0].split('vs')
|
||||
players_list = event.split(event_name)[1:][0].split("vs")
|
||||
players.append(players_list[0].strip())
|
||||
players.append(players_list[1].strip())
|
||||
return players
|
||||
|
||||
@ -9,4 +9,4 @@ class SportEventListView(generic.ListView):
|
||||
|
||||
class SportEventDetailView(generic.DetailView):
|
||||
model = SportEvent
|
||||
slug_field = 'uuid'
|
||||
slug_field = "uuid"
|
||||
|
||||
Reference in New Issue
Block a user