#! /usr/bin/env python3
"""
ecpi script : update schema json of eclairs pipeline and template xlsx parameter file
"""
import argparse
import os.path
import ecpi.logger_ecpi as log_ecpi
from ecpi_garage.pipeline.specs.master_parameter import MasterParameterToEcpiSchemaJson
from ecpi_garage.pipeline.specs.spreadsheet_for_params import TemplateFileByLevelExpertise
from ecpi.common import get_path_pipeline # get_root_eclairs
[docs]def main():
parser = argparse.ArgumentParser(
description='ecpi script: update schema json of eclairs pipeline and template xlsx parameter file')
parser.add_argument('-m', '--master_pars',
help='Full name of master parameters file. Else used default ecpi master_parameter_file.xlsx',
type=argparse.FileType('r'), required=False)
parser.add_argument('-l', '--log_level', choices=['debug', 'info', 'warning', 'error'], default='error')
args = parser.parse_args()
level_log = args.log_level
log = log_ecpi.ECPILogger(level_log, root='ecpi_garage')
log_ecpi.ECPILogger(level_log)
log.message_start()
if args.master_pars is not None:
abs_path = os.path.abspath(args.master_pars.name)
else:
# TODO: include get_config_path() in ecpi.common.__init__
# abs_path = os.path.join(get_config_path(), "master_parameter_file.xlsx")
abs_path = os.path.join(get_path_pipeline(), "config", "master_parameter_file.xlsx")
print(abs_path)
obj_conv = MasterParameterToEcpiSchemaJson(abs_path)
obj_conv.create_all_file_schema_json()
obj_tplt = TemplateFileByLevelExpertise(abs_path)
obj_tplt.create_all_template()
log.message_end()
if __name__ == '__main__':
main()