From 887fd14f72a82d78620257d9e16f6e8cfa402b0b Mon Sep 17 00:00:00 2001 From: alexander Date: Tue, 8 Apr 2025 11:00:53 +0200 Subject: [PATCH] =?UTF-8?q?Variablen=20ausgelagert.=20JSON=20Save=20hinzug?= =?UTF-8?q?ef=C3=BCgt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.gitignore | 3 + .idea/Zeiterfassung.iml | 8 ++ .../inspectionProfiles/profiles_settings.xml | 6 ++ .idea/misc.xml | 7 ++ .idea/modules.xml | 8 ++ .idea/vcs.xml | 6 ++ __pycache__/definitions.cpython-311.pyc | Bin 0 -> 350 bytes __pycache__/definitions.cpython-38.pyc | Bin 0 -> 269 bytes __pycache__/jsonhandler.cpython-311.pyc | Bin 0 -> 1111 bytes __pycache__/jsonhandler.cpython-38.pyc | Bin 455 -> 393 bytes __pycache__/timestamping.cpython-311.pyc | Bin 0 -> 3938 bytes __pycache__/timestamping.cpython-38.pyc | Bin 1757 -> 1785 bytes __pycache__/users.cpython-311.pyc | Bin 0 -> 2056 bytes __pycache__/users.cpython-38.pyc | Bin 1045 -> 1136 bytes __pycache__/zeiterfassung.cpython-38.pyc | Bin 1377 -> 1402 bytes definitions.py | 9 +++ jsonhandler.py | 10 ++- timestamping.py | 1 + tkinter Demo.py | 15 ++++ users.py | 6 +- users/testuser/settings.json | 4 +- users/testuser2/2025-4.txt | 2 + zeiterfassung.py | 75 +++++++++++------- 23 files changed, 122 insertions(+), 38 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/Zeiterfassung.iml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 __pycache__/definitions.cpython-311.pyc create mode 100644 __pycache__/definitions.cpython-38.pyc create mode 100644 __pycache__/jsonhandler.cpython-311.pyc create mode 100644 __pycache__/timestamping.cpython-311.pyc create mode 100644 __pycache__/users.cpython-311.pyc create mode 100644 definitions.py create mode 100644 tkinter Demo.py diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/Zeiterfassung.iml b/.idea/Zeiterfassung.iml new file mode 100644 index 0000000..909438d --- /dev/null +++ b/.idea/Zeiterfassung.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..a6218fe --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..7c204cb --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/__pycache__/definitions.cpython-311.pyc b/__pycache__/definitions.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6e45d15c4c96d996dc4586e268a56a621252efba GIT binary patch literal 350 zcmY+APf7zZ6vmTIr<8I2pi~3}T`6?aTtHoQErPq*$UxpqqccfKGR3-@TX+QV3|_+J zkezseLS1!bQf3yu2g&zA-Y*~TJ&FQkYxMnFeA@fRnZ9r*wx?FSA&OE&af<069Z)az z=rA2p{{c-$#;+AfWyT7$X1q|ZQLkoCN^ldUz%x~LIhex=O0lef>$|CM0ymzE zl7cjGKiT=o9^G+sRszo|FyT^)LT1(D-X*-~<09R0Js{_^G{B(`urE#k7U_CVA14)() F`~l}vPhJ23 literal 0 HcmV?d00001 diff --git a/__pycache__/jsonhandler.cpython-311.pyc b/__pycache__/jsonhandler.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ee3f40f89980ec868198b1995cea7cccd8f43ebc GIT binary patch literal 1111 zcmZ`&y=&V*6o01=TdKc8O=%1v7~G-CP{l(E4Q;0`rC_i+PZ54;Pp26WKthRgzN6OZMN#`?GzXpqa9+Z+~zvx6DkFpGc{%RwGoq0Vjc zD^Mo{R)FAaa9AQKD7-J&8`ScJb=O8TZB0i`Dj6oVv?}#w#;-Eh7j(_jTvkmsn>~A? zR_rQOHIr^?mQEe@nfwTWXOS9(78Z>(;EY%J!*Xrb(R#8(V&Yy=m2@ zo@ZEP*NNkjLZbumK$OfSR{;{MJ z2It%)>-6+=5 z?knHHHg-c{Ng&;I@pM>*$?~y?A{2a5KN7GY{Kz5(s$h8v?}$h^tX@>CR^32GVvZCx zTSj-RqZ4DXWZgln&gDoWnPFM)5k_*f`JOz}muFZD^B?5{Dc+KI@3)_S*7l|Oo;2T= z=Fwo%)e_vF1|8^u_^r!rva<8f literal 0 HcmV?d00001 diff --git a/__pycache__/jsonhandler.cpython-38.pyc b/__pycache__/jsonhandler.cpython-38.pyc index 2160e1aa6e807b04647de22e892b3ba3b8b8b9be..25ef2696d8a1ec2e6a4f14d887e32d770102b36f 100644 GIT binary patch delta 182 zcmX@k+{w%v%FD~e00hm~zN9-(qChlL4r2&}W&+a8DJ(4vQOqff z!3>(LFG2eJG#PI(YEA4fXXKd7&KQ^|1QaV~1IaLPF^Vu1fehDVDPjRqw^&PyQ;Ujk vai^rFW#(m;Waj4;gXN1jfU-ygCrB}eO>TZlX-=vgJCFx9k%NhYk%I#OYz-s8 delta 243 zcmYjLI|{-;5Z&3$XNg%GZ9PD&EyW`UqBdzn*fj(;3G5~a);5;8jW_TDf{+_ndjV&# zaf&zZ&CGkuO+19!E0r*;=lxThdo?o)6q;$UET_&b?5GRNE0GHz9v~0$0C}jRE6YO- zTb9Ld%2{VHz#Jjzym6<-YU5Ciy=mLBF8puOAI^~UuT3*Si;u|26PR+BBFiF2lOd!8 sKd6f-TZ}q--_?Z^xN-pj-8y>y4@M{lxvU!9S+j~!d5IvogcMTw1xsc%=Kufz diff --git a/__pycache__/timestamping.cpython-311.pyc b/__pycache__/timestamping.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c66d92801ae1663e6ab99097ab85c1a73237d422 GIT binary patch literal 3938 zcmbUkZDvLk{s~SR4Lg3`!U_tLdlq0>8`_Ue~AN^OifBLIv&0ZrG41tnD{wX8}CcpY-^kMCu zLrZ68-@bYC=IPDM`_k`xzAgmq&OcvG2PB04MF*|MHIbLYfNUTIDR>@DG`@HOvoSZp z!IzuouOWrMgC+z;04ORVK$qeI=vLeSB?Vtaap^e~IUdIrJ~@e-;_1f)FAwia9jF_K z!dBBMz1e2l^hZE>+#;h#K!4nxTg4uvi|t922gM)3W*)aTgx*D~T%N0RNbcaqzkv;X z%GqUNx@~yuawzpGI)+XoO<3k`^4HNa#^^f2@HA$0IMh}fK;$w;Iy>+NZIl$2+q~1(x`i#=tTIAKj#ykyvxJ3|K4ZC+G|8r5 ziIhprsW8y2U}^zYD>tYlO;2SO;({ejfegmyX_GC15-smkZeCHz4Ju9(U>{LvuZI#d zxr~}f&8s(4S(r`?=jN6&YF1YhKe?sPVFj^R`3m);%J5S;`0N*W8ei{@QQ+6+8eQ*ot-z%v5B2;Tu44tM}l~47d-3f zTc6&@J;+sNjGlzqlPG$(rLOzl(%9z%RViUe2~$b{vMu$M`wZ!*DIKkL^tuP6!7pp? z!dd(_n2ez>4vs&9q2iMLw z60=%P41pCl!M5b9`rj*`1JLM(bitG^RHX~GK(M%2Tm(lFL)0$cfi2w*CIjffu_VWT zB?Gp}2}zfG)5TNVgDKv{@W7$u+x%t%1GHHsJv{opoB?3ZE6#|x3ihbrIhG?xs59#* z4x4MlcHrh$z>eB$IBFY;2x-nW&Mtf@06#jW!c9j<;Bv{|KATpbQ~8!JwWLi$7*sP0 z>b!3GfM<6Y=h(H9gTM(mGl&S_8eQ5lgg|rgjg=*crdfp?g~=G@qRF~|w&l0V=L~tk zlm`kUHMd;Cw^s@)?C_(8)Ne}t)mE>0{H4&{1Etix!^Ok3z~SOApHlD=Pqg5VWp))KfoZgW@^NtI%2Zv$wi;-0^FT(Y~h7^Ha zBG@>IjSd6`>aF-ta&0HwurUSm%MtrWklZnO;$_OWO-$ zk$4X-7YgnxT&@8aedgO&I{k3699x@RpEZ2_rVnHa;&BFwxF-8b`0hyQr+42g_iuR* zR=o#n^8P1sWJ`{ee^xpD$xG5j6vi?-={`mcS@0Uj^{hwSm1X@q=+d+s#0XTsnChF%zDP~4Vb=nS(Hvbg{ELP} zOo>!krzhExrO^z#w*L(OrEu2$XMEN@Nh4{i(YV2)+82O03m3hEbNA0jrGwfM16JM{ zfgDzBx9K-T3T)@Hk7z-|igx%P)hyY$@fCh>a4;@fyrvUNQlJK5g}QHwLr{{qW3l_Qyy-kDWM93~hT21L68fYube*t;Fr_wbw<9(WQyvlTw`)jNN< z^~a$<4H@B!X87Wh@Yq&(?C+P1@KrN>)d*ZO1J|n3wVgVL#ok(Qe@QHfG@sL3xSjMS z{bvj>rAX!rwY zl|PV@E=rvue}N8jboKPNqTm1gkn zYA1W^DKYgAJ>{$5(i;UTR1w)wwUi_qskZ8nZKT(pSOm@;}e2h+zE5|Lq&Jv57u82X=4Hp zB&`m_5D3g%9Q^LD@&zEcWx!|dU-05Wvb#o5hd3@yG_JEBjpuV+sOG(T>0?=(X{;8h z=Fy@ywfUR)CEukux zn207N&c@XvA>5*~eb(Uosb7#m1Pz1D>=HUo>{ g>&0*u6OwOcr8=GJJ)c6F@pD&c`LZu#*^#UN0h-}`!2kdN delta 579 zcmZ8eze~eV5Y8oi>1$16{aK?0s|ZpA9b6nl1RX^Oap@v~_mn`BhD)m8;vzWf!#_cA z6$SqX|Ac~*le0Luc^5^&gnW1Jdv}-n?mlZTHUFSit6KEjKE5A+l&}0IY+o%kS8e57 zSRF@|lptGDt}2riN~#K3S5?&z*|LIttL?pUf!+Jd6@XFm1lz)=v%Izg@XfUSuwSO* zpn^J7-6+x7!0GA)D@=+Mqa<%TI7}xTDX1a_N0}&Kj9H&j4)ZA1Ssun|Hf35)0|K+= z-0TD#*&t}!-({wLQ~&aZvs}li?jD}?sY0R_C?@j=ERgh8!Gn^GGbSj#*2g&?2;LZQ z+IV7NmNno6!9ZY`9BZ6p-wo4LCkh*8PXwF4B9L3?$mpl#PNmn+zq=nm^k16nooGCX z^y#v>6LT5mqaMa#{;vYI=x&R?OcGdNLlaym*tSHMC}g?F udq!Rj79*QsZ=RvW@HcSs7A-8sF4yCp>UZ^qLm^qQR-Tt5>(Y}|Iq?PNgLf+c diff --git a/__pycache__/users.cpython-311.pyc b/__pycache__/users.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2b379dbc0e6109fae93e31958a00499e46249c46 GIT binary patch literal 2056 zcmb_dO=ufO6rNeFthFRpt|hv0WCs^g$R@RA8#_*0*PqH0(6I?}F~ z9h2CsK?g&X5?Tl98cITaaw#ShN=rj&X^(+kv}Q}hf}y4K(3`+L6rcKLC9S0tlSBJ< z=FPk}Z{C}k_s#6*U0p#0)cf0C^D{n#erH0HxJGCHdFX5+8Ob=0QuP+6uq$&Z4q7hn zdk4wBHI(Azfb3txDZktSQiqIZkR<%c98F8u!Kbsh;gmHzR0xXpF9LfXLX=Ss%Xm$o zEmn(O|0ddo{*EVKK-(~H2Wp*GvB|=5(``Wn7>q*Q{}9*)-bC}rL~}2#Vp^Z&^1~oo z&0V*QB6Nf;Tl~N1CTHSp@Ur81YG3x3NfY1ZZk?Y&Um%HhINfmgVumg_e$|jw;_!>Q zs!2YF8ya@7>~w-o$x@vx8!X(wKPx;`|S*Rz?tF*S5J9)?)Pi@^Ra zp-OnRUe-sx>G@jxw*RaCAISIDe>A@{AG}g|_p+6|VkfUyBPn|%1%~Cfyb1g4bR>=h zpm72$BJ2j_E++fk;08OUs{`Z-rV1V|im;@Gpc-d@!78fFRe<-q+@0XobJnpz``93e zR(RG9&z4@UhPq3ylWyioFleSwRJHl6mj+OKi2DRkw24eW+ckHbthZv0w#<1PG}8srTe~-sET4 zS@|1h_3VF-MOnHVbQnWMaDO|dNeo5~aN+|6r0$&xGK}T)Jlql|=Hjj4D5vHXEmKe=zr!=V!_(!W zLi!*w=?CV7*)_>4RAGJ$Kd1&6)p6P*!vHC$nv!lhA}7Hl0@e5#7{E0UDzEGYdMkn6 zy-3f-IXimtVf55)^pq7nZL^ZFBExoMxXkZ$M>j6ov1cB}q}`Zg#m?BQj9A^HcK2x6 zzb8I@+x*zv%37jy?^R1Yd*5e?FWi?c@%&FSmU!{Om?geZdHa$jUaDN4v&6Z|)tn{f z%He7xUJ>He&aU<2yPfe$XZ&%Vet9iziRtFVnjZ!GV3vEIvalzQ*kLf7@2>&dJnC_5 zxkKK}qinrfb7%>OWlwj5+R@%F0cP;Da8?Ot%Ji)){w^p0r%BVJ9~=5XPL>P%-zaA7>>A= literal 0 HcmV?d00001 diff --git a/__pycache__/users.cpython-38.pyc b/__pycache__/users.cpython-38.pyc index f0b193f21de8a047fef0ea601b3eaf41b4f7e1ed..8cb26f022789f6a9980c47cad1698188323b4d7f 100644 GIT binary patch literal 1136 zcmZ`&OK%e~5cYVz$u>8AS#wj-LdIW-c! z@(-G0{}2aXIdSLI6EmB>B*3c~d&V>4nQvy_Z*0^UuCpJ%M_)b0ev)v1p^m*qG96@+ zNk~|4wL=d|nfEyEJn`N!=}EC*Jt1qdBC8AN`7)4esHsReWa0WRjKR7gIM^Eiov#sV_OUq!%f@iQOYWVs z0+xIUS`_e|e-?-Al7+(Y+&D3b?2+?hBV+BvIFGZCJKlQfKwg4dL#-OvT+cLRclD}$ zl&7j4CF&%~q|)t!{CJwG%&PX=nLWz0c2C7t>0xBdG#j<2MrqTU%v^0hiH#lP>7-Mq zOe@GLjI$kf+N7KQ%5p!+2T@`=tvmCOYXZkr$qds$d7Wgx^eEHP)I?2jUF|LySs8L= zunT&VZUbYZbP{Ky0bzc#C>N^k4U#!WRv`MvTz|040)e<>V-N91FmGjnvSY<+{- zN~7EhcDk?!pAPo^v_ z=$Fs;`}gv@O;SHWr>97!906X+A(S|W)zzp8!cXr|^mVC*aTeP+&rCT(W!9zBzoNTf YKh5PdQ5_mQLn9erxd9KnK-B7g0M>^BlmGw# delta 614 zcmYjNv2GJV5S_W*J8z6H3X#wmrGfH@LPQNhNTi@ZZV(hl5n0)_IqS}jX4eQJM=nA` z8J*IHUjWh5^9OFJ=#c1AF>{GXb~SJIz1f|enLp;tY`;#^F7W#N{qOi|1n^79&BYo# zWAiUhx9`8Hb)gX~SXHSyE@D1w8-Ic#v5D=l?^t8k*c*$lAn*Q`RD&E>-MM!(npM^j zvvu!6D5qn8shocNhPv6o7nnBh@zFBoN2^X%`d~}SBkBo{C4(o;XSyYjirST1`)x>W zc?kpdk#4g;Kw(!)B8u%fn;$R)2spv>=nG8L2_EBrz6TS{LKNZ?u$Vzeveqx)%Clyp z3>IuwWpJz(iksDg3*5cHog@7)dhz!+Mb(xsrbz4ZWXF$8F6dlWJ#3TXK?2H|o4D);y_ac3!#uQ_=i7 OgF)U=4|~dJ)AER}0wMHpkm#Pd6u3K=GMF;3tvWGG=s;csSSWGLLM%#^{z zEep|B~V5JsDgtL4p~?j!H|_h Ho`Vqpyox0} delta 144 zcmeyx^^l7%l$V!_0SG2;{hWTCbt0b(W6(rx9Yy9S))bZ~wiMPV_7t`#juiG3juwU} z&Qz`x&TOV4zf{hN4PlI76R+=N%9}NL65|BUJdP5E6#iyL#?87+8BE+_KqHH_Kn62T iUch3($UXTci~3|<)<7wc3