Skip to content

Commit

Permalink
using internal dataset to translate cli arguments into a format for t…
Browse files Browse the repository at this point in the history
…he pdf
  • Loading branch information
MitchiLaser committed Sep 7, 2023
1 parent 4d42e70 commit cba29ca
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 30 deletions.
53 changes: 23 additions & 30 deletions src/timeforge/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@
import argparse
import argcomplete
from datetime import date, timedelta, datetime
import feiertage
import os
from pypdf import PdfReader, PdfWriter
import requests
import sys
import tempfile
from . import helpers
from . import config
from . import core


def main():
Expand Down Expand Up @@ -57,21 +66,8 @@ def main():

#########################################

# prevent autopep8 from moving these imports to the front
if True:
import feiertage
import os
from pypdf import PdfReader, PdfWriter
import requests
import sys
import tempfile
from . import helpers
from . import config
from . import core

#########################################

if args.verbose:
# print command line arguments
core.PrintDictAsTable(
{
"Name": args.month,
Expand All @@ -93,22 +89,19 @@ def main():

#########################################

form_data = {
'Std': args.time,
'Summe': args.time,
'monatliche SollArbeitszeit': args.time,
'Urlaub anteilig': 0,
'Übertrag vom Vormonat': 0,
'Übertrag in den Folgemonat': 0,
'Stundensatz': "%.2f" % (args.salary) + '€',
'Personalnummer': args.personell,
'OE': args.organisation,
'GF': args.name, # Name, Vorname
'abc': args.month,
'abdd': args.year,
'undefined': '', # Datum, Unterschrift Dienstvorgesetzte/r
'Ich bestätige die Richtigkeit der Angaben': (date(year=args.year, month=args.month, day=1) + timedelta(days=31)).replace(day=1)
}
user_input = core.APP_Data()
user_input.set("month", args.month)
user_input.set("year", args.year)
user_input.set("name", args.name)
user_input.set("personell", args.personell)
user_input.set("organisation", args.organisation)
user_input.set("time", args.time)
user_input.set("salary", str(args.salary))
user_input.set("jobs", [args.job])
user_input.set("output", args.output)
if len(missing := user_input.missing_keys()) != 0:
raise RuntimeError(f"Missing keys in the internal dataset, cannot generate pdf: {missing}")
form_data = user_input.pdf_content()

#########################################

Expand Down
4 changes: 4 additions & 0 deletions src/timeforge/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,7 @@

MILOG_FORM_URL: Final = r"https://www.pse.kit.edu/downloads/Formulare/KIT%20Arbeitszeitdokumentation%20MiLoG.pdf"
FEDERAL_STATE: Final = "BW" # short notation for Baden-Württemberg

# define the working time between 08:00 and 20:00
START_WORKING: 8
STOP_WORKING: 20

0 comments on commit cba29ca

Please sign in to comment.