Variablen ausgelagert. JSON Save hinzugefügt.

This commit is contained in:
alexander 2025-04-08 11:00:53 +02:00
parent b51e8ead99
commit 887fd14f72
23 changed files with 122 additions and 38 deletions

3
.idea/.gitignore generated vendored Normal file
View File

@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml

8
.idea/Zeiterfassung.iml generated Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="jdk" jdkName="Python 3.11" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>

7
.idea/misc.xml generated Normal file
View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Black">
<option name="sdkName" value="Python 3.11" />
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.11" project-jdk-type="Python SDK" />
</project>

8
.idea/modules.xml generated Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/Zeiterfassung.iml" filepath="$PROJECT_DIR$/.idea/Zeiterfassung.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml generated Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

9
definitions.py Normal file
View File

@ -0,0 +1,9 @@
# Zeiterfassung
#
# statische Werte
userfolder = "users"
settingsfolder = "settings"
usersettingsfilename = "settings.json"
program_name = "Zeiterfassung"
program_version = "Development"

View File

@ -7,8 +7,7 @@
import json
from users import *
from zeiterfassung import userfolder
from zeiterfassung import settingsfolder
from definitions import *
# Datenstrutur:
@ -21,4 +20,9 @@ def load_settings(filename):
with open(filename) as json_file:
data = json.load(json_file)
return data
return data
def write_settings(filename, settings):
with open(filename, "w") as json_file:
json.dump(settings, json_file, indent=4)

View File

@ -3,6 +3,7 @@
import time
import datetime
import os
from definitions import *
# Zeitstempel schreiben
def append_timestamp(filename):

15
tkinter Demo.py Normal file
View File

@ -0,0 +1,15 @@
import tkinter as tk
def aktionSF():
label3 = tk.Label(root, text="Aktion durchgeführt", bg="yellow")
label3.pack()
root = tk.Tk()
label1 = tk.Label(root, text="Hallo Welt", bg="orange")
label1.pack()
schaltf1 = tk.Button(root, text="Aktion durchführen", command=aktionSF)
schaltf1.pack()
root.mainloop()

View File

@ -5,8 +5,7 @@ import os
import time
import datetime
from zeiterfassung import userfolder
from zeiterfassung import settingsfolder
from definitions import *
# Benutzer anhand Verzeichnisse auflisten
def list_users(directory):
@ -20,8 +19,7 @@ def determine_filename(user, type="stamping"):
completepath = scriptpath() + "/" + userfolder +"/" + user + "/" + year + "-" + month + ".txt"
return completepath
elif type == "settings":
settings_filename = "setting.json"
completepath = scriptpath() + "/" + userfolder +"/" + user + "/" settings_filename
completepath = scriptpath() + "/" + userfolder +"/" + user + "/" + usersettingsfilename
return completepath
# Installationsverzeichnis bestimmen

View File

@ -1,5 +1,5 @@
{
"username": "testuser",
"name": "Der Tester",
"name": "Der neue Tester",
"password": "123456789"
}
}

View File

@ -4,3 +4,5 @@
1744018315
1744018470
1744018696
1744100316
1744100330

View File

@ -9,43 +9,60 @@ import os
from timestamping import *
from users import *
from jsonhandler import *
# Statische Definitionen
# Pfade:
userfolder = "users"
settingsfolder = "settings"
program_name = "Zeiterfassung"
program_version = "0.0.0"
from definitions import *
# Funktionen
def printUserList():
userlist = list_users(scriptpath() + "/" + userfolder)
for i in range(0, len(userlist)):
print(str(i + 1) + ": " + str(userlist[i]))
return(userlist)
# Hauptfunktion
def main():
print(program_name + " " + str(program_version))
print("Welche Funktion soll ausgeführt werden?")
print("1: Stempeln")
print("2: Stempelübersicht anzeigen")
question = int(input("Geben Sie Ihre Antwort ein: "))
while True:
if question == 1:
userlist = list_users(scriptpath() + "/" + userfolder)
print(userlist)
for i in range (0, len(userlist)):
print(str(i + 1) + ": " + str(userlist[i]))
print(program_name + " " + str(program_version))
print("Welche Funktion soll ausgeführt werden?")
print("1: Stempeln")
print("2: Stempelübersicht anzeigen")
print("3: Einstellungen ändern")
print("0: Beenden")
question = int(input("Geben Sie Ihre Antwort ein: "))
which_user = input("Für welchen User soll gestempelt werden? ")
append_timestamp(determine_filename(userlist[int(which_user) - 1]))
print("Stempeleintrag vorgenommen")
elif question == 2:
userlist = list_users(scriptpath() + "/" + userfolder)
for i in range (0, len(userlist)):
print(str(i + 1) + ": " + str(userlist[i]))
if question == 1:
userlist = printUserList()
which_user = input("Für welchen User soll gestempelt werden? ")
append_timestamp(determine_filename(userlist[int(which_user) - 1]))
print("Stempeleintrag vorgenommen")
elif question == 2:
userlist = printUserList()
which_user = input("Für welchen User sollen die Stempelzeiten angezeigt werden? " )
print("Zustand: " + stempel_zustand(determine_filename(userlist[int(which_user) -1])))
overview(determine_filename(userlist[int(which_user) - 1]))
which_user = input("Für welchen User sollen die Stempelzeiten angezeigt werden? " )
print("Zustand: " + stempel_zustand(determine_filename(userlist[int(which_user) -1])))
overview(determine_filename(userlist[int(which_user) - 1]))
else:
print("Keine Eingabe erkannt.")
elif question == 3:
userlist = printUserList()
which_user = input("Für welchen Benutzer sollen die Einstellungen geändert werden? ")
selected_user = userlist[int(which_user) - 1]
print("Benutzereinstellungen für Benutzer " + str(selected_user) + ":")
settings = load_settings(determine_filename(selected_user, "settings"))
for x in settings:
print(x + ": " + settings[x])
setting_to_change = input("Welche Einstellung soll geändert werden? ")
if setting_to_change in settings:
new_value = input("Wie ist der neue Wert? ")
settings[setting_to_change] = new_value
for x in settings:
print(x + ": " + settings[x])
print("Speicher Einstellungen")
write_settings(determine_filename(selected_user, type="settings"), settings)
elif question == 0:
exit()
else:
print("Keine Eingabe erkannt.")
# Programmstart