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