pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/EuroPython/programapi/commit/b720285a267c5badfe0f98a792f90fe0015bac74

f="https://github.githubassets.com/assets/global-d18f184ea1a06a2c.css" /> New fields for schedule (#45) · EuroPython/programapi@b720285 · GitHub
Skip to content

Commit b720285

Browse files
authored
New fields for schedule (#45)
* Include new fields for the speaker data in the schedule * Add track to schedule data * oops * double oops * triple oops
1 parent 861e22b commit b720285

2 files changed

Lines changed: 23 additions & 12 deletions

File tree

src/models/europython.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,18 @@ def extract_answers(cls, values) -> dict:
178178
return values
179179

180180

181+
class EuroPythonScheduleSpeaker(BaseModel):
182+
"""
183+
Model for EuroPython schedule speaker data
184+
"""
185+
186+
code: str
187+
name: str
188+
avatar: str
189+
slug: str
190+
website_url: str
191+
192+
181193
class EuroPythonScheduleSession(BaseModel):
182194
"""
183195
Model for EuroPython schedule session data
@@ -188,7 +200,8 @@ class EuroPythonScheduleSession(BaseModel):
188200
slug: str
189201
title: str
190202
session_type: str
191-
speakers: list[dict[str, str]] # code, name, website_url
203+
speakers: list[EuroPythonScheduleSpeaker]
204+
track: str | None
192205
tweet: str
193206
level: str
194207
total_duration: int = Field(..., exclude=True)

src/utils/transform.py

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from src.models.europython import (
22
EuroPythonScheduleBreak,
33
EuroPythonScheduleSession,
4+
EuroPythonScheduleSpeaker,
45
EuroPythonSession,
56
EuroPythonSpeaker,
67
Schedule,
@@ -99,11 +100,6 @@ def pretalx_schedule_to_europython_schedule(
99100
Transforms the given Pretalx schedule to EuroPython schedule
100101
"""
101102

102-
speakers_values = ep_speakers.values()
103-
speaker_code_to_name = {s.code: s.name for s in speakers_values}
104-
speaker_code_to_slug = {s.code: s.slug for s in speakers_values}
105-
speaker_code_to_website_url = {s.code: s.website_url for s in speakers_values}
106-
107103
# Merge breaks with the same start and end times
108104
breaks = Utils.merge_breaks(breaks)
109105
ep_breaks = []
@@ -130,14 +126,16 @@ def pretalx_schedule_to_europython_schedule(
130126
title=session.title,
131127
session_type=session.session_type,
132128
speakers=[
133-
{
134-
"code": speaker_code,
135-
"name": speaker_code_to_name[speaker_code],
136-
"slug": speaker_code_to_slug[speaker_code],
137-
"website_url": speaker_code_to_website_url[speaker_code],
138-
}
129+
EuroPythonScheduleSpeaker(
130+
code=speaker_code,
131+
name=ep_speakers[speaker_code].name,
132+
avatar=ep_speakers[speaker_code].avatar,
133+
slug=ep_speakers[speaker_code].slug,
134+
website_url=ep_speakers[speaker_code].website_url,
135+
)
139136
for speaker_code in session.speakers
140137
],
138+
track=session.track,
141139
tweet=session.tweet,
142140
level=session.level,
143141
total_duration=int(session.duration),

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy