Skip to content
Snippets Groups Projects

restore capability and workflow

Merged Charlotte Hausman requested to merge Restore_Capability into main
Files
19
@@ -34,6 +34,10 @@ def get_fields_for(product_type: str, filename: str) -> list:
"sdmId",
]
restore_metadata_list = [
"calProductLocator",
]
ppr_list = ["RootDirectory", "RelativePath", "SdmIdentifier"]
if ".xml" in filename:
@@ -43,6 +47,8 @@ def get_fields_for(product_type: str, filename: str) -> list:
return cal_metadata_list
elif ".json" in filename and "img" in product_type:
return img_metadata_list
elif ".json" in filename and product_type == "restore":
return cal_metadata_list + restore_metadata_list
def get_xml_content(file: AbstractTextFile):
@@ -126,10 +132,12 @@ class AuditFiles(AuditorIF):
class AuditDirectories(AuditorIF):
def __init__(self, ppr: AbstractTextFile, settings: Dict[str, str]):
self.logger = logging.getLogger("casa_envoy")
self.parameters = settings
self.rootDirectory = settings["rootDirectory"]
self.relative_path = settings["processingDirectory"]
self.sdmId = get_value_for(ppr, "SdmIdentifier")
@property
def audit(self) -> bool:
current = os.getcwd()
needed = self.rootDirectory + "/" + self.relative_path
@@ -146,11 +154,21 @@ class AuditDirectories(AuditorIF):
data = os.listdir(Path(current + "/rawdata/"))
if len(data) > 0:
self.logger.info("Data is available. Proceeding...")
if self.parameters["product_type"] is "restore":
self.logger.info("Checking products/ for calibration tables...")
cal_data = os.listdir(Path(current + "/products/"))
if len(cal_data) > 0:
self.logger.info("Calibration data is available. Proceeding...")
else:
self.logger.error("FAILURE: calibration data not found in products/")
return False
return True
else:
self.logger.info("FAILURE: data not found in rawdata/")
self.logger.error("FAILURE: data not found in rawdata/")
return False
else:
self.logger.info(
self.logger.error(
"DIRECTORY ERROR: A directory is missing from the processing root directory."
)
Loading