From e8eaf73f9ad4600026a5d9649d905dab4062c2e7 Mon Sep 17 00:00:00 2001 From: Davide Vaghetti <davide.vaghetti@garr.it> Date: Tue, 17 Nov 2020 14:39:06 +0100 Subject: [PATCH] Removed non authoritative domains element (as DomainHint) --- edugain_contacts.py | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/edugain_contacts.py b/edugain_contacts.py index 298d2e8..545eff5 100644 --- a/edugain_contacts.py +++ b/edugain_contacts.py @@ -57,21 +57,12 @@ for entity in entities: contact_txt = '"{}" <{}>'.format(name, mail) else: contact_txt = mail - doms = entity.findall('./md:IDPSSODescriptor/md:Extensions/mdui:DiscoHints/mdui:DomainHint', ns) + \ - entity.findall('./md:IDPSSODescriptor/md:Extensions/shibmd:Scope[@regexp="false"]', ns) - doms = {strip_start(dom.text, 'www.') for dom in doms} - if len(doms) == 0: - orgurl = entity.find('./md:Organization/md:OrganizationURL', ns) - if orgurl is None: - continue - baseurl = strip_start(urlparse(orgurl.text).netloc, 'www.') - if ':' in baseurl: - baseurl = baseurl.split(':')[0] - doms = {baseurl} + doms = entity.findall('./md:IDPSSODescriptor/md:Extensions/shibmd:Scope[@regexp="false"]', ns) for domain in doms: - if domain not in seen_doms: - seen_doms.add(domain) - contacts.add('{},{},{}'.format(domain, contact_txt, orgname)) + domain_text = domain.text + if domain_text not in seen_doms: + seen_doms.add(domain_text) + contacts.add('{},{},{}'.format(domain_text, contact_txt, orgname)) for contact in sorted(contacts): print(contact) -- GitLab