@@ -111,39 +111,51 @@ def import_from_course_data(courses) -> None:
111111 obj .courses .append (c )
112112
113113
114- def import_from_variation_data (teams ) -> None :
114+ def import_from_variation_data (course_assignments ) -> None :
115115 obj = race ()
116- for team in teams :
117- for leg in team ["legs" ]:
118- leg_number = leg ["leg_number" ]
119- course_name = leg ["course_name" ]
116+ for course_assignment in course_assignments :
117+ if course_assignment ["legs" ] and len (course_assignment ["legs" ]) > 0 :
118+ # relay
119+ for leg in course_assignment ["legs" ]:
120+ leg_number = leg ["leg_number" ]
121+ course_name = leg ["course_name" ]
122+ course = find (obj .courses , name = course_name )
123+ if course :
124+ new_course = Course ()
125+ new_course .name = str (course_assignment ["bib_number" ]) + "." + str (leg_number )
126+ new_course .length = course .length
127+ new_course .controls = copy .deepcopy (course .controls )
128+ obj .courses .append (new_course )
129+
130+ elif course_assignment ["course_name" ] is not None :
131+ # one man relay
132+ course_name = course_assignment ["course_name" ]
120133 course = find (obj .courses , name = course_name )
121134 if course :
122135 new_course = Course ()
123- new_course .name = str (team ["bib_number" ]) + "." + str ( leg_number )
136+ new_course .name = str (course_assignment ["bib_number" ])
124137 new_course .length = course .length
125138 new_course .controls = copy .deepcopy (course .controls )
126139 obj .courses .append (new_course )
127140
128-
129141def create_person (person_entry ):
130142 obj = race ()
131143
132144 person = Person ()
133145
134146 name = person_entry ["group" ]["name" ]
135147 if (
136- "short_name" in person_entry ["group" ]
137- and len (person_entry ["group" ]["short_name" ]) > 0
148+ "short_name" in person_entry ["group" ]
149+ and len (person_entry ["group" ]["short_name" ]) > 0
138150 ):
139151 name = person_entry ["group" ]["short_name" ]
140152 group = find (obj .groups , name = name )
141153 if group is None :
142154 group = Group ()
143155 group .long_name = person_entry ["group" ]["name" ]
144156 if (
145- "short_name" in person_entry ["group" ]
146- and len (person_entry ["group" ]["short_name" ]) > 0
157+ "short_name" in person_entry ["group" ]
158+ and len (person_entry ["group" ]["short_name" ]) > 0
147159 ):
148160 group .name = person_entry ["group" ]["short_name" ]
149161 else :
@@ -180,19 +192,22 @@ def create_person(person_entry):
180192 if "bib" in person_entry ["person" ] and person_entry ["person" ]["bib" ]:
181193 person .set_bib (int (person_entry ["person" ]["bib" ]))
182194 elif (
183- "bib" in person_entry ["person" ]["extensions" ]
184- and person_entry ["person" ]["extensions" ]["bib" ]
195+ "bib" in person_entry ["person" ]["extensions" ]
196+ and person_entry ["person" ]["extensions" ]["bib" ]
185197 ):
186198 person .set_bib (int (person_entry ["person" ]["extensions" ]["bib" ]))
187199 if (
188- "qual" in person_entry ["person" ]["extensions" ]
189- and person_entry ["person" ]["extensions" ]["qual" ]
200+ "qual" in person_entry ["person" ]["extensions" ]
201+ and person_entry ["person" ]["extensions" ]["qual" ]
190202 ):
191203 person .qual = Qualification .get_qual_by_name (
192204 person_entry ["person" ]["extensions" ]["qual" ]
193205 )
194206 if "start" in person_entry ["person" ] and person_entry ["person" ]["start" ]:
195207 person .start_time = time_iof_to_otime (person_entry ["person" ]["start" ])
208+ if "comment" in person_entry ["person" ]:
209+ person .comment = person_entry ["person" ]["comment" ]
210+
196211
197212 obj .persons .append (person )
198213 return person
@@ -306,10 +321,10 @@ def import_from_event_data(data) -> None:
306321 if "name" in data :
307322 new_name = data ["name" ]
308323 if (
309- new_name
310- and len (new_name ) > 0
311- and new_name != "Event"
312- and new_name .find ("Example" ) < 0
324+ new_name
325+ and len (new_name ) > 0
326+ and new_name != "Event"
327+ and new_name .find ("Example" ) < 0
313328 ):
314329 obj .data .title = data ["name" ]
315330
0 commit comments