@@ -152,46 +152,17 @@ def do_organization_info(ava):
152152 return org
153153
154154
155- def do_contact_person_info (lava ):
156- """ Creates a ContactPerson instance from configuration information"""
155+ def do_contact_person_info (ava ):
156+ """Create a ContactPerson instance from configuration information."""
157+ cper = md .ContactPerson ()
158+ cper .loadd (ava )
159+ if not cper .contact_type :
160+ cper .contact_type = "technical"
161+ return cper
157162
158- cps = []
159- if lava is None :
160- return cps
161-
162- contact_person = md .ContactPerson
163- for ava in lava :
164- cper = md .ContactPerson ()
165- for (key , classpec ) in contact_person .c_children .values ():
166- try :
167- value = ava [key ]
168- data = []
169- if isinstance (classpec , list ):
170- # What if value is not a list ?
171- if isinstance (value , six .string_types ):
172- data = [classpec [0 ](text = value )]
173- else :
174- for val in value :
175- data .append (classpec [0 ](text = val ))
176- else :
177- data = classpec (text = value )
178- setattr (cper , key , data )
179- except KeyError :
180- pass
181- for (prop , classpec , _ ) in contact_person .c_attributes .values ():
182- try :
183- # should do a check for valid value
184- setattr (cper , prop , ava [prop ])
185- except KeyError :
186- pass
187-
188- # ContactType must have a value
189- typ = getattr (cper , "contact_type" )
190- if not typ :
191- setattr (cper , "contact_type" , "technical" )
192-
193- cps .append (cper )
194163
164+ def do_contact_persons_info (lava ):
165+ cps = [do_contact_person_info (ava ) for ava in lava ]
195166 return cps
196167
197168
@@ -719,7 +690,7 @@ def entity_descriptor(confd):
719690 if confd .organization is not None :
720691 entd .organization = do_organization_info (confd .organization )
721692 if confd .contact_person is not None :
722- entd .contact_person = do_contact_person_info (confd .contact_person )
693+ entd .contact_person = do_contact_persons_info (confd .contact_person )
723694
724695 if confd .entity_category :
725696 if not entd .extensions :
0 commit comments