mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-09 02:43:12 -04:00
Merge pull request #2901 from alphagov/delete-domains-munger
Delete domains.py
This commit is contained in:
52
domains.py
52
domains.py
@@ -1,52 +0,0 @@
|
|||||||
#!/usr/bin/env python
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
|
|
||||||
import os
|
|
||||||
import yaml
|
|
||||||
from itertools import chain
|
|
||||||
from operator import itemgetter
|
|
||||||
from sys import argv
|
|
||||||
from app.utils import AgreementInfo
|
|
||||||
|
|
||||||
_dir_path = os.path.dirname(os.path.realpath(__file__))
|
|
||||||
|
|
||||||
|
|
||||||
if len(argv) < 2:
|
|
||||||
raise TypeError('Must specify `orgs` or `domains` as the first argument to this script')
|
|
||||||
|
|
||||||
|
|
||||||
with open('{}/app/domains.yml'.format(_dir_path)) as source:
|
|
||||||
|
|
||||||
data = yaml.load(source)
|
|
||||||
|
|
||||||
for domain, details in data.items():
|
|
||||||
if isinstance(details, dict):
|
|
||||||
# We’re looking at the canonical domain
|
|
||||||
data[domain]['domains'] = [domain]
|
|
||||||
|
|
||||||
for domain, details in data.items():
|
|
||||||
if isinstance(details, str):
|
|
||||||
# This is an alias, let’s add it to the canonical domain
|
|
||||||
data[AgreementInfo(domain).canonical_domain]['domains'].append(domain)
|
|
||||||
|
|
||||||
out_data = [
|
|
||||||
details for domain, details in data.items()
|
|
||||||
if isinstance(details, dict)
|
|
||||||
]
|
|
||||||
|
|
||||||
if argv[1] == 'orgs':
|
|
||||||
print(yaml.dump(out_data)) # noqa
|
|
||||||
elif argv[1] == 'domains':
|
|
||||||
print( # noqa
|
|
||||||
sorted(
|
|
||||||
set(
|
|
||||||
chain.from_iterable(
|
|
||||||
map(
|
|
||||||
itemgetter('domains'), out_data
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
raise TypeError('Must specify `orgs` or `domains` as the first argument to this script')
|
|
||||||
Reference in New Issue
Block a user