diff options
author | Ivan Kanakarakis <ivan.kanak@gmail.com> | 2018-11-26 19:40:25 +0200 |
---|---|---|
committer | Ivan Kanakarakis <ivan.kanak@gmail.com> | 2018-11-26 19:40:27 +0200 |
commit | 4815d512fb6ada9678ac0c0e0cfb543f6171ff80 (patch) | |
tree | 89a2a4e1427883550d321eef666c625b6f6bd092 /src/saml2/metadata.py | |
parent | e8d741436203d79dd73da09db594d46310732b3f (diff) | |
download | pysaml2-4815d512fb6ada9678ac0c0e0cfb543f6171ff80.tar.gz |
Use SamlBase::loadd to do_contact_person_info
metadata.do_contact_person_info does not need to reimplement loading of the
data given, as this is already implemented and more complete through
SamlBase::loadd
Signed-off-by: Ivan Kanakarakis <ivan.kanak@gmail.com>
Diffstat (limited to 'src/saml2/metadata.py')
-rw-r--r-- | src/saml2/metadata.py | 49 |
1 files changed, 10 insertions, 39 deletions
diff --git a/src/saml2/metadata.py b/src/saml2/metadata.py index e445b07e..a5c35c9e 100644 --- a/src/saml2/metadata.py +++ b/src/saml2/metadata.py @@ -152,46 +152,17 @@ def do_organization_info(ava): return org -def do_contact_person_info(lava): - """ Creates a ContactPerson instance from configuration information""" +def do_contact_person_info(ava): + """Create a ContactPerson instance from configuration information.""" + cper = md.ContactPerson() + cper.loadd(ava) + if not cper.contact_type: + cper.contact_type = "technical" + return cper - cps = [] - if lava is None: - return cps - - contact_person = md.ContactPerson - for ava in lava: - cper = md.ContactPerson() - for (key, classpec) in contact_person.c_children.values(): - try: - value = ava[key] - data = [] - if isinstance(classpec, list): - # What if value is not a list ? - if isinstance(value, six.string_types): - data = [classpec[0](text=value)] - else: - for val in value: - data.append(classpec[0](text=val)) - else: - data = classpec(text=value) - setattr(cper, key, data) - except KeyError: - pass - for (prop, classpec, _) in contact_person.c_attributes.values(): - try: - # should do a check for valid value - setattr(cper, prop, ava[prop]) - except KeyError: - pass - - # ContactType must have a value - typ = getattr(cper, "contact_type") - if not typ: - setattr(cper, "contact_type", "technical") - - cps.append(cper) +def do_contact_persons_info(lava): + cps = [do_contact_person_info(ava) for ava in lava] return cps @@ -719,7 +690,7 @@ def entity_descriptor(confd): if confd.organization is not None: entd.organization = do_organization_info(confd.organization) if confd.contact_person is not None: - entd.contact_person = do_contact_person_info(confd.contact_person) + entd.contact_person = do_contact_persons_info(confd.contact_person) if confd.entity_category: if not entd.extensions: |