fix support for csv file argument

This commit is contained in:
Marc 2024-09-16 14:48:42 +02:00
parent 622a47dc0a
commit 62a7ac574f

View file

@ -57,6 +57,13 @@ def parse_arguments() -> dict:
help="Path to the configuration file", help="Path to the configuration file",
required=False, required=False,
) )
argparser.add_argument(
"--csv-file",
action="store",
type=Path,
help="Path to the csv file, which stores the last fetched dates",
required=False,
)
argparser.add_argument( argparser.add_argument(
"--log-file", "--log-file",
action="store", action="store",
@ -85,7 +92,7 @@ def update_config_with_args(config: dict, args: dict) -> dict:
update_config = { update_config = {
"services": args.get("services"), "services": args.get("services"),
"locations": args.get("locations"), "locations": args.get("locations"),
"csv_path": args.get("csv_path"), "csv_path": args.get("csv_file"),
} }
for key, value in update_config.items(): for key, value in update_config.items():
if value is not None: if value is not None:
@ -139,16 +146,21 @@ def define_csv_path(csv_path: str|None, csv_name: str|None) -> Path:
csv_path = Path(csv_path) if csv_path else None csv_path = Path(csv_path) if csv_path else None
csv_name = Path(csv_name) if csv_name else None csv_name = Path(csv_name) if csv_name else None
if csv_path is not None and csv_path.is_file(): if csv_path is not None and csv_path.is_dir() and csv_name is not None:
return csv_path
elif csv_path is not None and csv_path.is_dir() and csv_name is not None:
return csv_path / csv_name return csv_path / csv_name
elif csv_path is not None and csv_path.is_dir() and csv_name is None: elif csv_path is not None and csv_path.is_dir() and csv_name is None:
return csv_path / "cgn-appointments.csv" return csv_path / "cgn-appointments.csv"
elif csv_path is not None:
csv_path.touch()
return csv_path
elif csv_name is not None: elif csv_name is not None:
return Path(user_data_dir()) / csv_name csv_path = Path(user_data_dir()) / csv_name
csv_path.touch()
return csv_path
else: else:
return Path(user_data_dir()) / "cgn-appointments.csv" csv_path = Path(user_data_dir()) / "cgn-appointments"
csv_path.touch()
return csv_path / "cgn-appointments.csv"
def select_options(services, selects): def select_options(services, selects):