This commit is contained in:
zandercymatics 2023-11-01 12:01:10 -06:00
parent d807209029
commit ac2d2a6300
No known key found for this signature in database
GPG key ID: FF4636ABEC9682B7
2 changed files with 57 additions and 12 deletions

View file

@ -79,6 +79,12 @@ class Command(BaseCommand):
default=EnumFilenames.DOMAIN_ADDITIONAL.value[1], default=EnumFilenames.DOMAIN_ADDITIONAL.value[1],
help="Defines the filename for additional domain data", help="Defines the filename for additional domain data",
) )
parser.add_argument(
"--domain_escrow_filename",
default=EnumFilenames.DOMAIN_ADDITIONAL.value[1],
help="Defines the filename for creation/expiration domain data",
)
#domain_escrow_filename
parser.add_argument( parser.add_argument(
"--domain_adhoc_filename", "--domain_adhoc_filename",
default=EnumFilenames.DOMAIN_ADHOC.value[1], default=EnumFilenames.DOMAIN_ADHOC.value[1],
@ -275,6 +281,19 @@ class Command(BaseCommand):
) )
TransitionDomain.objects.all().delete() TransitionDomain.objects.all().delete()
def parse_extra(self, options):
"""Loads additional information for each TransitionDomain
object based off supplied files."""
try:
# Parse data from files
extra_data = LoadExtraTransitionDomain(options)
# Update every TransitionDomain object where applicable
extra_data.update_transition_domain_models()
except Exception as err:
logger.error("Could not load additional TransitionDomain data.")
raise err
def handle( # noqa: C901 def handle( # noqa: C901
self, self,
domain_contacts_filename, domain_contacts_filename,
@ -298,6 +317,24 @@ class Command(BaseCommand):
options.get("limitParse") options.get("limitParse")
) # set to 0 to parse all entries ) # set to 0 to parse all entries
## Variables for Additional TransitionDomain Information ##
# Desired directory for additional TransitionDomain data
# (In the event they are stored seperately)
directory = options.get("directory")
# Agency information
agency_adhoc_filename = options.get("agency_adhoc_filename")
# Federal agency / organization type information
domain_adhoc_filename = options.get("domain_adhoc_filename")
# Organization name information
organization_adhoc_filename = options.get("organization_adhoc_filename")
# Creation date / expiration date information
domain_escrow_filename = options.get("domain_escrow_filename")
# Container for all additional TransitionDomain information
domain_additional_filename = options.get("domain_additional_filename")
# print message to terminal about which args are in use # print message to terminal about which args are in use
self.print_debug_mode_statements(debug_on, debug_max_entries_to_parse) self.print_debug_mode_statements(debug_on, debug_max_entries_to_parse)
@ -501,14 +538,26 @@ class Command(BaseCommand):
self.print_summary_status_findings(domains_without_status, outlier_statuses) self.print_summary_status_findings(domains_without_status, outlier_statuses)
# Prompt the user if they want to load additional data on the domains # Prompt the user if they want to load additional data on the domains
# TODO - add this logic into the core of this file title = "Do you wish to load additional data for TransitionDomains?"
arguments = TransitionDomainArguments(**options)
do_parse_extra = TerminalHelper.prompt_for_execution( do_parse_extra = TerminalHelper.prompt_for_execution(
True, system_exit_on_terminate=True,
"./manage.py test", info_to_inspect=f"""
"Running load_extra_transition_domains script", !!! ENSURE THAT ALL FILENAMES ARE CORRECT BEFORE PROCEEDING
== ==
agency_adhoc_filename: {agency_adhoc_filename}
==Federal agency / organization type information==
domain_adhoc_filename: {domain_adhoc_filename}
organization_adhoc_filename: {organization_adhoc_filename}
domain_escrow_filename: {domain_escrow_filename}
domain_additional_filename: {domain_additional_filename}
==
directory: {directory}
""",
prompt_title=title,
) )
if do_parse_extra: if do_parse_extra:
extra = LoadExtraTransitionDomain(arguments) arguments = TransitionDomainArguments(**options)
extra_logs = extra.parse_logs.logs self.parse_extra(arguments)

View file

@ -121,10 +121,6 @@ class LoadExtraTransitionDomain:
self.domain_object = ExtraTransitionDomain(**arguments) self.domain_object = ExtraTransitionDomain(**arguments)
self.domain_object.parse_all_files() self.domain_object.parse_all_files()
# Given the data we just parsed, update each
# transition domain object with that data.
self.update_transition_domain_models()
def update_transition_domain_models(self): def update_transition_domain_models(self):
"""Updates TransitionDomain objects based off the file content """Updates TransitionDomain objects based off the file content
given in self.domain_object""" given in self.domain_object"""