mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-24 08:16:51 -04:00
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:
151
app/utils.py
151
app/utils.py
@@ -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()
|
||||||
|
|||||||
Reference in New Issue
Block a user