Start adding extra information about each domain

In some cases we can tell based on someone’s email domain whether they
work for a central or local government organisation, and whether they
will need to sign the MOU or agreement in order to go live. So this
commit creates a structure to store this information.
This commit is contained in:
Chris Hill-Scott
2018-02-06 09:36:27 +00:00
parent 156625a994
commit 911fc3ff4c

View File

@@ -438,41 +438,128 @@ class NotGovernmentDomain(Exception):
class GovernmentDomain: class GovernmentDomain:
domains = [ domains = {
"gov.uk", "gov.uk": {
"mod.uk", "sector": None,
"mil.uk", "agreement_signed": False,
"ddc-mod.org", },
"slc.co.uk", "mod.uk": {
"gov.scot", "sector": None,
"parliament.uk", "agreement_signed": False,
"nhs.uk", },
"nhs.net", "mil.uk": {
"police.uk", "sector": None,
"dclgdatamart.co.uk", "agreement_signed": False,
"ucds.email", },
"naturalengland.org.uk", "ddc-mod.org": {
"hmcts.net", "sector": None,
"scotent.co.uk", "agreement_signed": False,
"assembly.wales", },
"cjsm.net", "slc.co.uk": {
"cqc.org.uk", "sector": None,
"bl.uk", "agreement_signed": False,
"stfc.ac.uk", },
"wmfs.net", "gov.scot": {
"bbsrc.ac.uk", "sector": None,
"acas.org.uk", "agreement_signed": False,
"gov.wales", },
"biglotteryfund.org.uk", "parliament.uk": {
"marinemanagement.org.uk", "sector": None,
"britishmuseum.org", "agreement_signed": False,
"derrystrabane.com", },
"highwaysengland.co.uk", "nhs.uk": {
] "sector": None,
"agreement_signed": False,
},
"nhs.net": {
"sector": None,
"agreement_signed": False,
},
"police.uk": {
"sector": None,
"agreement_signed": False,
},
"dclgdatamart.co.uk": {
"sector": None,
"agreement_signed": False,
},
"ucds.email": {
"sector": None,
"agreement_signed": False,
},
"naturalengland.org.uk": {
"sector": None,
"agreement_signed": False,
},
"hmcts.net": {
"sector": None,
"agreement_signed": False,
},
"scotent.co.uk": {
"sector": None,
"agreement_signed": False,
},
"assembly.wales": {
"sector": None,
"agreement_signed": False,
},
"cjsm.net": {
"sector": None,
"agreement_signed": False,
},
"cqc.org.uk": {
"sector": None,
"agreement_signed": False,
},
"bl.uk": {
"sector": None,
"agreement_signed": False,
},
"stfc.ac.uk": {
"sector": None,
"agreement_signed": False,
},
"wmfs.net": {
"sector": None,
"agreement_signed": False,
},
"bbsrc.ac.uk": {
"sector": None,
"agreement_signed": False,
},
"acas.org.uk": {
"sector": None,
"agreement_signed": False,
},
"gov.wales": {
"sector": None,
"agreement_signed": False,
},
"biglotteryfund.org.uk": {
"sector": None,
"agreement_signed": False,
},
"marinemanagement.org.uk": {
"sector": None,
"agreement_signed": False,
},
"britishmuseum.org": {
"sector": None,
"agreement_signed": False,
},
"derrystrabane.com": {
"sector": None,
"agreement_signed": False,
},
"highwaysengland.co.uk": {
"sector": None,
"agreement_signed": False,
},
}
def __init__(self, email_address_or_domain): def __init__(self, email_address_or_domain):
for domain in self.domains: for domain, attributes in self.domains.items():
if re.search( if re.search(
"[\.|@]({})$".format(domain.replace(".", "\.")), "[\.|@]({})$".format(domain.replace(".", "\.")),
email_address_or_domain.lower() email_address_or_domain.lower()