@@ -190,6 +190,17 @@ class Record(BaseModel):
190190 types : list [OrganizationType ]
191191 admin : Admin
192192
193+ def get_preferred_label (self ) -> str | None :
194+ """Get the preferred label."""
195+ primary_name : str | None = None
196+ for name in self .names :
197+ if "ror_display" in name .types :
198+ primary_name = name .value
199+ if primary_name is None :
200+ return None
201+ primary_name = NAME_REMAPPING .get (primary_name , primary_name )
202+ return primary_name
203+
193204
194205_description_prefix = {
195206 "education" : "an educational organization" ,
@@ -222,16 +233,10 @@ def iterate_ror_terms(*, force: bool = False) -> Iterable[Term]:
222233 for record in tqdm (records , unit_scale = True , unit = "record" , desc = f"{ PREFIX } v{ _version } " ):
223234 identifier = record .id .removeprefix ("https://ror.org/" )
224235
225- primary_name : str | None = None
226- for name in record .names :
227- if "ror_display" in name .types :
228- primary_name = name .value
229-
236+ primary_name = record .get_preferred_label ()
230237 if primary_name is None :
231238 raise ValueError ("should have got a primary name..." )
232239
233- primary_name = NAME_REMAPPING .get (primary_name , primary_name )
234-
235240 term = Term (
236241 reference = Reference (prefix = PREFIX , identifier = identifier , name = primary_name ),
237242 type = "Instance" ,
0 commit comments