ich hab in meinem code (denk ich) ein einrückproblem.
mein code sieht wie folgt aus:
Code: Alles auswählen
#!/usr/bin/env python
# coding: utf8
import datetime
import time
import errno
import os
import sqlite3
from Tkinter import *
import tkMessageBox
import numpy
def ueberSicht():
base_path = r'C:\Users\DMD-OL\Desktop\Verwaltung Arbeitszeit\Monat'
try:
os.makedirs(base_path)
except OSError as error:
if error.errno != errno.EEXIST:
raise
dirname = 'C:\Users\DMD-OL\Desktop\Verwaltung Arbeitszeit\Monat'
objects = os.listdir(dirname)
result = []
liste = []
ist = []
soll = []
ueber = []
for objectname in objects:
objectpath = dirname + "/" + objectname
otype = "dir"
if (otype == "all" or
(otype == "dir" and os.path.isdir(objectpath) == True)):
result.append(objectname)
datei='%s\\adressenliste.db' % (objectpath)
con = sqlite3.connect(datei)
try:
try:
ktoNum = 0
#------------------------------------------------------------------------------------------------------------------------------------------------
so_Mo = 9
so_Di = 9
so_Mi = 9
so_Do = 9
so_Fr = 4
so_Sa = 0
so_So = 0
#------------------------------------------------------------------------------------------------------------------------------------------------
cursor = con.cursor()
cursor.execute('''SELECT ktoNum, vorname, nachname, gebdat, wohnort, ktoStand, erstePause, zweitePause FROM adressenliste WHERE ktoNum=?''', (ktoNum,))
aktuellesKonto = cursor.fetchone()
if aktuellesKonto != None:
cursor = con.cursor()
cursor.execute('''SELECT ktoNum, vorname, nachname, gebdat, wohnort FROM adressenliste WHERE ktoNum=?''', (ktoNum,))
for row in cursor:
name = ('{1} {2}'.format(row[0], row[1],row[2],row[3], row[4]))
nummer = ('{0}'.format(row[0], row[1],row[2],row[3], row[4]))
gebdat = ('{3}'.format(row[0], row[1],row[2],row[3], row[4]))
wohnort = ('{4}'.format(row[0], row[1],row[2],row[3], row[4]))
for index in result:
print index
index = '%s' %(index)
now = time.strptime(index, '%d.%m.%Y')
date = datetime.date(now.tm_year,now.tm_mon, now.tm_mday)
wto = date.weekday()
monat = time.strftime("%B %Y")
shifts = [0, -1, -2, -3, -4, -5, +1]
offset = shifts[wto]
if offset == 0:
offset = so_Mo
elif offset == -1:
offset = so_Di
elif offset == -2:
offset = so_Mi
elif offset == -3:
offset = so_Do
elif offset == -4:
offset = so_Fr
elif offset == -5:
offset = so_Sa
elif offset == +1:
offset = so_So
con = sqlite3.connect(datei)
cursor = con.cursor()
cursor.execute('''SELECT id, ktoNum, vorname, nachname, gebdat, wohnort, ktoStand, erstePause, zweitePause FROM adressenliste WHERE ktoNum=?''', (ktoNum,))
for column in cursor:
ueberStd = column[6] - offset
konto = [objectname, column[6], offset, ueberStd]
liste.append(konto)
ist.append(column[6])
soll.append(offset)
ueber.append(ueberStd)
else:
if aktuellesKonto == None:
label123.configure(text=('In Konto: '+str(ktoNum)+' sind bisher keine Arbeitsstunden verzeichnet!\nDies kann ueber '+"'"+'KONTO WAEHLEN'+"'"+' gemacht werden.'))
break
istSum = numpy.sum(ist)
sollSum = numpy.sum(soll)
ueberSum = numpy.sum(ueber)
window_4= Tk()
window_4.geometry('+800+200')
window_4.title('GUI-Verwaltung')
for row, items in enumerate(liste):
for column, item in enumerate(items):
label_0 = Label(window_4, text=("' KONTOUEBERSICHT '"),font=('Arial', 12, 'bold underline'), height=3, width=20, fg="#000000000", justify='left')
label_0.grid(row=0, column=0, columnspan=2)
label_1 = Label(window_4, text=(monat), font=('Arial', 12, 'bold underline'), height=1, width=20, fg="#000000000", justify='center')
label_1.grid(row=1, column=0, columnspan=2)
label_2 = Label(window_4, height=3,width=20, fg="#000000000", justify='center')
label_2.grid(row=2, column=0)
label_3 = Label(window_4,text=('Kontonummer:'),font=('Arial', 9, 'bold'), height=1,width=20, relief="groove", fg="#000000000", justify='center')
label_3.grid(row=3, column=0)
label_4 = Label(window_4,text=(nummer),font=('Arial', 9, 'bold'),height=1,width=20, relief="groove", fg="#000000000", justify='center')
label_4.grid(row=3, column=1)
label_5 = Label(window_4,text=('Name:'),font=('Arial', 9, 'bold'), height=1,width=20,relief="groove", fg="#000000000", justify='center')
label_5.grid(row=4, column=0)
label_6 = Label(window_4,text=(name),font=('Arial', 9, 'bold'),height=1,width=20, relief="groove", fg="#000000000", justify='center')
label_6.grid(row=4, column=1)
label_7 = Label(window_4,text=('Geburtsdatum:'),font=('Arial', 9, 'bold'), height=1,width=20,relief="groove", fg="#000000000", justify='center')
label_7.grid(row=5, column=0)
label_8 = Label(window_4,text=(gebdat),font=('Arial', 9, 'bold'),height=1,width=20, relief="groove", fg="#000000000", justify='center')
label_8.grid(row=5, column=1)
label_9 = Label(window_4,text=('Wohnort:'),font=('Arial', 9, 'bold'), height=1,width=20,relief="groove", fg="#000000000", justify='center')
label_9.grid(row=6, column=0)
label_10 = Label(window_4,text=(wohnort),font=('Arial', 9, 'bold'),height=1,width=20, relief="groove", fg="#000000000", justify='center')
label_10.grid(row=6, column=1)
label_11 = Label(window_4, height=2,width=20, fg="#000000000", justify='center')
label_11.grid(row=7, column=0)
gitter = Label(window_4,text=('Datum'),font=('Arial', 9, 'bold'),height=1,width=20, relief="ridge", bg="#ddddddddd", fg="#000000000", justify='center')
gitter.grid(row=8, column=0)
gitter = Label(window_4,text=('IST-Stunden'),font=('Arial', 9, 'bold'),height=1,width=20, relief="ridge", bg="#ddddddddd", fg="#000000000", justify='center')
gitter.grid(row=8, column=1)
gitter = Label(window_4,text=('SOLL-Stunden'),font=('Arial', 9, 'bold'),height=1,width=20, relief="ridge", bg="#ddddddddd", fg="#000000000", justify='center')
gitter.grid(row=8, column=2)
gitter = Label(window_4,text=('UEBER-Stunden'),font=('Arial', 9, 'bold'),height=1,width=20, relief="ridge", bg="#ddddddddd", fg="#000000000", justify='center')
gitter.grid(row=8, column=3)
label_12 =Label(window_4, text=item, width=20, relief="sunken", bg='#eeeee0', fg="#000000000", justify='center').grid(column=column, row=row+9)
gitter=Label(window_4, text=('Summe:'), width=20, relief="ridge", font=('Arial', 8, 'bold'), bg='#cdc8b1', fg="#000000000", justify='center').grid(column=0, row=row+10)
gitter=Label(window_4, text=(istSum), width=20, relief="ridge",font=('Arial', 8, 'bold'), bg='#cdc8b1', fg="#000000000", justify='center').grid(column=1, row=row+10)
gitter=Label(window_4, text=(sollSum), width=20, relief="ridge",font=('Arial', 8, 'bold'), bg='#cdc8b1', fg="#000000000", justify='center').grid(column=2, row=row+10)
gitter=Label(window_4, text=(ueberSum), width=20, relief="ridge",font=('Arial', 8, 'bold'), bg='#cdc8b1', fg="#000000000", justify='center').grid(column=3, row=row+10)
window_4.mainloop()
except:
con.rollback()
import Tkinter
window = Tkinter.Tk()
window.wm_withdraw()
window.geometry("1x1+200+200")
tkMessageBox.showerror(title="GUI-VERWALTUNG",message="EINGABEFEHLER:\n\nBitte gib eine nichtnegativen ganze Zahl als Kontonummer ein!",parent=window)
except:
con.close()
if __name__ == '__main__':
ueberSicht()
der code läuft jetzt das erste mal durch und gibt mir als ausgabe ein tabellenfenster (mit name und so), in der beispielsweise steht:
Name bla bla
Datum IST-Stunden SOLL-Stunden Ueber-Stunden
21.07.2015 9 9 0
und wenn ich dieses fenster schließe ein zweites ausgabefenster:
Name bla bla
Datum IST-Stunden SOLL-Stunden Ueber-Stunden
21.07.2015 9 9 0
22.07.2015 7 9 -2
ich will aber nur dieses zweite fenster haben.
hab ich irgendwo etwas falsch eingerückt?
ich hoffe, ihr habe einen besseren überblick. ich steig da grad net mehr durch
