# Copyright 2023 The HIP team, University Hospital of Lausanne (CHUV), Switzerland & Contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Module to create argument parser of the script, i.e. command line interface of the MIP Dataset Mapper."""
from argparse import ArgumentParser
[docs]def create_parser():
"""Create argument parser of the script.
Returns
-------
p : argparse.ArgumentParser
Parser of the script.
"""
p = ArgumentParser(
description="Map a source dataset to a target dataset "
"given a mapping file in JSON format generated by the "
"MIP Dataset Mapper UI application (mip_dataset_mapper_ui)."
)
p.add_argument(
"--source_dataset",
required=True,
help="Source dataset file in CSV format.",
)
p.add_argument(
"--mapping_file",
required=True,
help="Source Dataset Columns / Common data elements (CDEs) mapping file in JSON format. "
"The mapping file can be generated by the MIP Dataset Mapper UI application.",
)
p.add_argument(
"--cdes_file",
required=True,
help="Common data elements (CDEs) metadata schema file in EXCEL format. ",
)
p.add_argument(
"--target_dataset",
required=True,
help="Path to the target / output dataset file in CSV format.",
)
# p.add_argument(
# "--log_file",
# required=False,
# default=None,
# help="Path to output log file. "
# "If not provided, the log file will be saved in the same directory "
# "as the source dataset file with the name `dataset_mapping.log`.",
# )
return p