# Klasse fuer Verwaltung einer Notizliste # (Arbeitsstufe unter Hinzunahme einer einfachen Bedienoberflaeche) import pickle # fuer save/load der Information import os # hier fuer test, ob notizen vorhanden class notiz: # verwaltet eine todo-Liste def __init__(self): if os.path.isfile('MyNotes'): f = open('MyNotes', "r") self.liste = pickle.load(f) f.close() else: self.liste = [] def hinzu(self, eintrag, wo = 'a'): # einen neuen zusaetzlichen Eintrag vornehmen if wo == 'a': self.liste.append(eintrag) else: self.liste.insert(0, eintrag) def herauf(self, pos): if pos > 0: self.liste[pos-1], self.liste[pos] = self.liste[pos], self.liste[pos-1] def rette(self): # die Notizen werden eingefroren f = open('MyNotes', "w") pickle.dump(self.liste, f) f.close() def raus(self, pos): del self.liste[pos] def list(self): if self.liste == []: print "no empty" else: for x in range(0, len(self.liste)): if len(self.liste) > 10: if x < 10: print '', print x, self.liste[x] def version(self): print "todo-list vers. 1.0" def help(self): print "[(h)elp, (l)ist, (a)dd, (u)p, (d)el, (q)uit]" def shell(self): while 1: print befehl = raw_input('% ') if befehl == 'h': self.help() elif befehl == 'l': self.list() elif befehl == 'a': eintrag = raw_input('new: ') self.hinzu(eintrag) elif befehl == 'u': self.list() print posi = input('number of position: ') print n.herauf(posi) self.list() elif befehl == 'd': posi = input('number of position: ') n.raus(posi) elif befehl == 'q': self.rette() break else: print "command not defined!" # need functions: # up eintrag (with insert) # ab hier Hauptprogramm if __name__ == '__main__': try: n = notiz() n.version() print n.list() print n.help() n.shell() except EOFError: pass print 'bye'