Support multiple mapping files in `kimai sync`

This commit is contained in:
3wc 2023-09-06 12:00:16 +02:00
parent f858d4a5f0
commit 98aee02ee8
1 changed files with 14 additions and 5 deletions

View File

@ -444,10 +444,18 @@ def sync(username, api_key, just_errors, ignore_activities, mapping_path=None):
kimai_api_url = 'https://kimai.autonomic.zone/api'
if mapping_path is None:
mapping_path = HAMSTER_DIR / 'mapping.kimai.csv'
mapping_file = _get_kimai_mapping_file(mapping_path)
mapping_reader = csv.reader(mapping_file)
if type(mapping_path) == tuple:
mapping_files = []
for mapping_path_item in mapping_path:
mapping_file = _get_kimai_mapping_file(mapping_path_item)
next(mapping_file)
mapping_files.append(mapping_file)
mapping_reader = csv.reader(chain(*mapping_files))
else:
if mapping_path is None:
mapping_path = HAMSTER_DIR / 'mapping.kimai.csv'
mapping_file = _get_kimai_mapping_file(mapping_path)
mapping_reader = csv.reader(mapping_file)
next(mapping_reader)
@ -636,7 +644,8 @@ def _import(username, mapping_path=None, output=None, category_search=None, afte
"Exported",
"Tags",
"HourlyRate",
"FixedRate"
"FixedRate",
"InternalRate"
])
for fact in results: