#!/usr/bin/python import cgi, cgitb cgitb.enable() form = cgi.FieldStorage() user = form.getvalue('user') passwd = form.getvalue('passwd') antwort = form.getvalue('antwort') datei = file('waehler.txt') zw = datei.read().split('\n') # Liste der Zeilen in waehler.txt datei.close # print zw # DEBUG wListe = [] # leere Wählerliste pListe = [] # leere Passwortliste mListe = [] # leere Markierungsliste for z in zw: zL = z.split(' ') # Liste aus Zeilenbestandteilen if len(zL) == 3: wListe = wListe+[zL[0]] pListe = pListe+[zL[1]] mListe = mListe+[zL[2]] # print wListe,pListe,mListe #DEBUG # user = 'egon' # DEBUG # passwd = 'geheim' # DEBUG if user in wListe: nr = wListe.index(user) if passwd == pListe[nr]: if mListe[nr] == '0': darfWaehlen = True meldung = 'darf wählen' mListe[nr] = '1' # auf 'gewählt' setzen else: darfWaehlen = False meldung = 'bereits gewählt' else: darfWaehlen = False meldung = 'im Wählerverzeichnis, aber Passwort falsch' else: darfWaehlen = False meldung = 'nicht im Wählerverzeichnis' # print meldung if darfWaehlen: # geänderte Datei 'waehler.txt' schreiben s = '' for i in range(len(wListe)): s = s + wListe[i]+' '+pListe[i]+' '+mListe[i]+'\n' datei = file('waehler.txt','w') datei.write(s) datei.close() # eigentliche Wahl # Dateiinhalt in Zeilen ablegen datei = file('abstimmung.txt','r') z = datei.read().split('\n') datei.close() # Dateiinhalt analysieren zJa = int(z[0].split(' ')[1]) zNein = int(z[1].split(' ')[1]) # Abfrage if antwort == 'ja': zJa = zJa+1 else: zNein = zNein+1 # Ausgabe vorbereiten s = 'ja '+str(zJa)+'\nnein '+str(zNein) # Datei schreiben datei = file('abstimmung.txt','w') datei.write(s) datei.close() print 'Content-type: text/html\n\n' print """ Informatik - Python - CGI - Login-Verarbeitung """ print '

',meldung,'

' if darfWaehlen: print '

ja: ',zJa,' nein: ',zNein,'

' print """ """