Update function descriptions

This commit is contained in:
Rebecca Hsieh 2024-04-22 13:20:56 -07:00
parent e8d4d4ec79
commit 9e5db6ebfe
No known key found for this signature in database

View file

@ -1,5 +1,7 @@
"""" """"
TODO: write description Data migration: Renaming deprecated Federal Agencies to
their new updated names ie (U.S. Peace Corps to Peace Corps)
within Domain Information and Domain Requests
""" """
import logging import logging
@ -32,14 +34,16 @@ class Command(BaseCommand):
"U.S. Peace Corps": "Peace Corps", "U.S. Peace Corps": "Peace Corps",
"Chemical Safety Board": "U.S. Chemical Safety Board", "Chemical Safety Board": "U.S. Chemical Safety Board",
"Nuclear Waste Technical Review Board": "U.S. Nuclear Waste Technical Review Board", "Nuclear Waste Technical Review Board": "U.S. Nuclear Waste Technical Review Board",
"State, Local, and Tribal Government": "Non-Federal Agency" "State, Local, and Tribal Government": "Non-Federal Agency",
} }
def handle(self, **options): def handle(self, **options):
""" """
TODO: Update description here Renames the Federal Agency to the correct new naming
If it's NULL for a domain request, it should return an error for both Domain Information and Domain Requests objects.
NOTE: If it's NULL for a domain request, we skip it as
a user most likely hasn't gotten to it yet.
""" """
logger.info("Transferring federal agencies to FederalAgency object") logger.info("Transferring federal agencies to FederalAgency object")
# DomainInformation object we populate with updated_federal_agency which are then bulk updated # DomainInformation object we populate with updated_federal_agency which are then bulk updated
@ -61,49 +65,54 @@ class Command(BaseCommand):
federal_agency_row = self.find_federal_agency_row(domain_info) federal_agency_row = self.find_federal_agency_row(domain_info)
domain_info.updated_federal_agency = federal_agency_row domain_info.updated_federal_agency = federal_agency_row
domain_infos_to_update.append(domain_info) domain_infos_to_update.append(domain_info)
logger.info(f"DomainInformation {domain_info} updated_federal_agency set to: {domain_info.updated_federal_agency}") logger.info(
f"DomainInformation {domain_info} updated_federal_agency set to: {domain_info.updated_federal_agency}"
)
except Exception as err: except Exception as err:
logger.info(f"DomainInformation for {domain_info} failed to update updated_federal_agency: {err}") logger.info(f"DomainInformation for {domain_info} failed to update updated_federal_agency: {err}")
domain_infos_with_errors.append(domain_info) domain_infos_with_errors.append(domain_info)
ScriptDataHelper.bulk_update_fields( ScriptDataHelper.bulk_update_fields(DomainInformation, domain_infos_to_update, ["updated_federal_agency"])
DomainInformation, domain_infos_to_update, ["updated_federal_agency"]
)
for domain_request in domain_requests: for domain_request in domain_requests:
try: try:
if not domain_request.federal_agency: if not domain_request.federal_agency:
# TODO: Make sure to clarify this in the description
# If null it's skipped bc user hasn't gotten to it yet
domain_requests_skipped.append(domain_request) domain_requests_skipped.append(domain_request)
else: else:
federal_agency_row = self.find_federal_agency_row(domain_request) federal_agency_row = self.find_federal_agency_row(domain_request)
domain_request.updated_federal_agency = federal_agency_row domain_request.updated_federal_agency = federal_agency_row
domain_requests_to_update.append(domain_request) domain_requests_to_update.append(domain_request)
logger.info(f"DomainRequest {domain_request} updated_federal_agency set to: {domain_request.updated_federal_agency}") logger.info(
f"DomainRequest {domain_request} updated_federal_agency set to: {domain_request.updated_federal_agency}"
)
except Exception as err: except Exception as err:
logger.info(f"DomainRequest for {domain_request} failed to update updated_federal_agency: {err}") logger.info(f"DomainRequest for {domain_request} failed to update updated_federal_agency: {err}")
domain_requests_with_errors.append(domain_request) domain_requests_with_errors.append(domain_request)
ScriptDataHelper.bulk_update_fields( ScriptDataHelper.bulk_update_fields(DomainRequest, domain_requests_to_update, ["updated_federal_agency"])
DomainRequest, domain_requests_to_update, ["updated_federal_agency"]
)
logger.info(f"{len(domain_infos_to_update)} DomainInformation rows updated update_federal_agency.") logger.info(f"{len(domain_infos_to_update)} DomainInformation rows updated update_federal_agency.")
logger.info(f"{len(domain_infos_with_errors)} DomainInformation rows errored when updating update_federal_agency.") logger.info(
f"{len(domain_infos_with_errors)} DomainInformation rows errored when updating update_federal_agency."
)
logger.info(f"{len(domain_requests_to_update)} DomainRequest rows updated update_federal_agency.") logger.info(f"{len(domain_requests_to_update)} DomainRequest rows updated update_federal_agency.")
logger.info(f"{len(domain_requests_skipped)} DomainRequest rows with null federal_agency skipped.") logger.info(f"{len(domain_requests_skipped)} DomainRequest rows with null federal_agency skipped.")
logger.info(f"{len(domain_requests_with_errors)} DomainRequest rows errored when updating update_federal_agency.\n{domain_requests_with_errors}") logger.info(
f"{len(domain_requests_with_errors)} DomainRequest rows errored when updating update_federal_agency.\n{domain_requests_with_errors}"
)
def find_federal_agency_row(self, domain_object): def find_federal_agency_row(self, domain_object):
''' """
TODO: Add description We grab the "old" federal agency object to rename and set the new object.
We are grabbing the "previous set ups" Federal Agency If the old name is null, we set it to "Non-Federal Agency".
Domain Information objects without a federal agency default to Non-Federal Agency Otherwise, we grab the key of the older name in
''' the rename_deprecated_federal_agency list and set it to the
value which is the new updated name we want and then grab that object
"""
federal_agency = domain_object.federal_agency federal_agency = domain_object.federal_agency
if not federal_agency: if not federal_agency:
federal_agency = "Non-Federal Agency" federal_agency = "Non-Federal Agency"
if federal_agency in self.rename_deprecated_federal_agency.keys(): if federal_agency in self.rename_deprecated_federal_agency.keys():
federal_agency = self.rename_deprecated_federal_agency[federal_agency] federal_agency = self.rename_deprecated_federal_agency[federal_agency]
return FederalAgency.objects.filter(agency=federal_agency).get() return FederalAgency.objects.filter(agency=federal_agency).get()