#Die Buttons #Der Code des ersten Buttons der GUI mit der Funktion Auffüllen def callback1(): os.system("./scannen.sh") #ruft das bash-skript auf, das den scan ausfuehrt und das Ergebnis ins logfile schreibt #liest den Medikamenten namen aus dem logfile aus f = open("logfile")#öffnet die datei "logfile" medikament = f.read()#liest die datei "logfile" und speichert in variabler medikament medikament = medikament.strip()#entfernt zeilenumbrüche + leerzeichen #falls nichts gescannt wurde wird eine fehlermeldung ausgegeben if medikament == "Barcode konnte nicht gescannt werden, bitte versuchen Sie es erneut." : box.showwarning("Fehler","Barcode konnte nicht gescannt werden, bitte versuchen Sie es erneut.") else : #liest Medikamentenbestand aus dem File "bestand" aus filename = 'bestand' medi_bestand = {}#legt ein dictionary an with open(filename) as fh:#öffnet bestand und schließt es nach gebrauch wieder for line in fh: praeparat, bestand = line.strip().split(' ')#jede zeile in bestand enthält 2 parameter mit trennzeichen (split), medi_bestand[praeparat] = int(bestand.strip())#weist im dictionary jedem praeparat einen wert als int zu #Medikamente einfuellen medi_bestand[medikament]+=Slider.get()#erhöht die Anzahl des gescanneten Medikaments um den Wert des Sliders #speichere die aenderung in datei bestand ab with open('bestand','w') as file: # w = write for medikament in medi_bestand: file.write(medikament + " " + str(medi_bestand[medikament]) + "\n" )#schreibt den bestand wieder als string und fügt zeilenumbruch ein #zeigt den Erfolgsmeldung auf dem Bildschirm an box.showinfo('Auffüllen',"Erfolgreicher Scan!")