From 48d06341efd4571503a1f1eb6ab9977f315c65ff Mon Sep 17 00:00:00 2001 From: Markus Zimmerberger Date: Mon, 10 Jun 2024 18:47:54 +0200 Subject: [PATCH] Introduce config.yaml --- config.yaml | 13 +++++++++++++ create invoice.py | 5 ++++- export timesheets.py | 28 ++++++++++++++++------------ 3 files changed, 33 insertions(+), 13 deletions(-) create mode 100644 config.yaml diff --git a/config.yaml b/config.yaml new file mode 100644 index 0000000..5248c74 --- /dev/null +++ b/config.yaml @@ -0,0 +1,13 @@ +{'maintainer': 'Markus Zimmerberger', + 'pca_params': {'n_components': 224}, + 'umap_params': {'metrics': ['euclidean', 'l1', 'manhattan'], + 'min_dist': [0.01, 0.1, 0.5], + 'spread': 1.0}, + 'visualize_params': {'median_threshold': 6}, + 'spreadsheet_name': 'Zeiterfassung alle Projekte', + 'worksheet_name': 'Juni 2024', + 'week': [23], + 'name': 'Markus Zimmerberger', + 'username': 'ZIM9003', + 'ansprechpartner_username': 'GRM0003', + 'ansprechpartner_name': 'Marlene Griesser'} \ No newline at end of file diff --git a/create invoice.py b/create invoice.py index 57b4ae9..5e44321 100644 --- a/create invoice.py +++ b/create invoice.py @@ -9,13 +9,16 @@ import gspread import csv import locale import datetime +import yaml +with open("config.yaml", encoding='utf8') as f: + cfg = yaml.load(f, Loader=yaml.FullLoader) locale.setlocale(locale.LC_ALL, 'de_DE') gc = gspread.service_account() sh = gc.open('Zeiterfassung alle Projekte') -worksheet = sh.worksheet('Dezember 2023') +worksheet = sh.worksheet(cfg['worksheet_name']) invoice_nr = 'R000543' diff --git a/export timesheets.py b/export timesheets.py index b783133..a8e4ab9 100644 --- a/export timesheets.py +++ b/export timesheets.py @@ -2,6 +2,7 @@ import gspread import csv import locale import datetime +import yaml #TODO: Upload automatically! @@ -18,22 +19,25 @@ def export_timesheet(Csvexport_filename,Sum_col,Desc_col,Week,Bestellnummer,Best date_str_de_DE = time_entry.get("date") datetime_object = datetime.datetime.strptime(date_str_de_DE, '%a., %d. %B %Y') if Kontierung == '': - Kontierung = time_entry.get("pos_service").split("-")[1] - - writer.writerow([Bestellnummer,Bestellposition,Leistungszeilennummer,Kurztext,Leistungszeilentext,Username,Name,datetime_object.strftime('%d.%m.%Y'),time_entry.get(Sum_col),time_entry.get(Desc_col),Kontierung,Ansprechpartner_username,Ansprechpartner_name,"OFFEN"]) - + SubKontierung = time_entry.get("pos_service").split("-")[1] + writer.writerow([Bestellnummer,Bestellposition,Leistungszeilennummer,Kurztext,Leistungszeilentext,Username,Name,datetime_object.strftime('%d.%m.%Y'),time_entry.get(Sum_col),time_entry.get(Desc_col),SubKontierung,Ansprechpartner_username,Ansprechpartner_name,"OFFEN"]) + else: + writer.writerow([Bestellnummer,Bestellposition,Leistungszeilennummer,Kurztext,Leistungszeilentext,Username,Name,datetime_object.strftime('%d.%m.%Y'),time_entry.get(Sum_col),time_entry.get(Desc_col),Kontierung,Ansprechpartner_username,Ansprechpartner_name,"OFFEN"]) locale.setlocale(locale.LC_ALL, 'de_DE') -gc = gspread.service_account() -sh = gc.open('Zeiterfassung alle Projekte') -worksheet = sh.worksheet('Februar 2024') -week = [8] # or None +with open("config.yaml", encoding='utf8') as f: + cfg = yaml.load(f, Loader=yaml.FullLoader) -username = 'ZIM9003' -name = 'Markus Zimmerberger' -ansprechpartner_username = "GRM0003" -ansprechpartner_name = "Marlene Griesser" +gc = gspread.service_account() +sh = gc.open(cfg['spreadsheet_name']) +worksheet = sh.worksheet(cfg['worksheet_name']) +week = cfg['week'] # 10, 11, 12 or None + +username = cfg['username'] +name = cfg['name'] +ansprechpartner_username = cfg['ansprechpartner_username'] +ansprechpartner_name = cfg['ansprechpartner_name'] # read the whole sheet list_of_dicts = worksheet.get_all_records(numericise_ignore=['all'])