Files
Buchhaltung-Tools/main.py
2026-04-28 22:09:23 +02:00

69 lines
3.1 KiB
Python

import forderungen as f
import config
import argparse
def parse_args() -> argparse.Namespace:
"""
Defines and parses command line arguments for this script.
"""
parser = argparse.ArgumentParser()
parser.add_argument(
"config",
type=str,
help="the file from which the config for the tool come",
)
return parser.parse_args()
def main(args: argparse.Namespace) -> None:
print("Willkommen zum Mieten Tool der Buchhaltung. Es könne folgende Aufgaben erledigt werden:\n\n" \
"\t1\t aus der Mietendatai eine in lexware importierbare csv Datei erstellen\n" \
"\t2\t alle ausgelesen Accounts mit Mame und Kontonummer anzeigen\n"\
"\t3\t aus der Buchungsdatei der Familienzimmer die Forderungen berechnen und in eine csv datei schreiben\n"\
"\t4\t Tool verlassen\n\n"
"Gib die Nummer welche Aufgabe gemacht werden soll.\n")
while True:
forderung = {}
line = input()
if line == "4":
break
else:
#accounts
filename_debitoren = config.filename_debitoren
newFilename = input(f"Aktuell werden die Debitoren aus der Datei {filename_debitoren} gelesen, wenn du eine andere Datei einlesen möchtest gib nun den neuen Pfad an:")
if len(newFilename)>=2:
filename_debitoren = newFilename
accounts = f.read_account_ids(filename_debitoren)
if line =="1":
#print accounts
#for name, id in accounts.items():
# print(f"{name} {id}")
names = f.read_account_names(filename_debitoren)
for id, name in names.items():
print(f"{id} {name}")
print("Bitte gib die Nummer einer weitern Aufgabe ein:\n")
elif line == "2":
#Miete
filename_miete = config.filename_mieten
newFilename = input(f"Aktuell werden die Mietforderungen aus der Datei {filename_miete} gelesen.\n Wenn du eine andere Datei einlesen möchtest gib nun den neuen Pfad an:")
if len(newFilename)>=2:
filename_miete = newFilename
forderung = f.create_forderungen_miete(filename_miete, accounts, forderung, 5, 2025)
f.print_to_file_lexware(forderung)
print("Bitte gib die Nummer einer Weitern Aufgabe ein:\n")
elif line == "3":
#familyrooms
filename_fz = config.filename_fz
newFilename = input(f"Aktuell werden die Mietforderungen aus der Datei {filename_fz} gelesen.\n Wenn du eine andere Datei einlesen möchtest gib nun den neuen Pfad an:")
if len(newFilename)>=2:
filename_fz = newFilename
forderung = f.create_forderungen_familienzimmer(filename_fz, accounts, forderung)
f.print_to_file_lexware(forderung)
print("Bitte gib die Nummer einer Weitern Aufgabe ein:\n")
else:
print("Ungültige Eingabe, bitte versuch es erneut!\n")
print("Auf Wiedersehen!")
if __name__ == "__main__":
main(parse_args())