11from 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