sample student manager

glenwill101 1 Tallied Votes 236 Views Share

While at work i had nothing to do so i wrote this simple python script that uses the dbm module to store user information its not perfect but im sure someone will find it helpful.

import dbm,sys
    from time import ctime
    class Database(object):
        def __init__(self):
    
            self.userData = dbm.open("User Data", "c")
            print "\t\tStudent Database Management  System"
            print "\t\t             SDMS"
            print "\t\t....................................\n"
    
            print "please select option "
            print "(1)Add/Edit User info"
            print "(2)View/Edit"
            print "(3)Remove User Data"
    
            funcChoice = raw_input("Choice")
            if funcChoice == "1":
                self.Add()
            elif funcChoice == "2":
                self.View()
            elif funcChoice == "3":
                self.Remove()
            elif funcChoice == "e":
                sys.exit("Please come again")
    
        def Add(self):
            print "\t\tNew User Wizard\n"
            self._Id = raw_input("ID number\n>")
            for key in self.userData.keys():
                if self._Id not in self.userData.keys():
                    self.First = str(raw_input("students first name?\n>"))
                    self.lastName = str(raw_input("students last name?\n>"))
                    self.userData[self._Id] = "Id: "+self._Id +" "+ "Name: "+self.First +" "+self.lastName + str(ctime())
    
                elif self._Id == key:
                    print "Id already found in database"
                    print "............................."
                    print "Do you want to replace User info for id"
                    answer = raw_input(">")
                    if answer == "y":
                        self.First = str(raw_input("students first name?"))
                        self.lastName = str(raw_input("students last name?"))
                        self.userData[self._Id] = "Id: "+self._Id+" "+"Name: "+str(self.First)+" " +str(self.lastName)
    
                    elif answer == "n":
                        sans = raw_input("do you want to choose a different user id?\n>")
                        if sans =="n":
                            sys.exit()
                        elif sans == "y":
                            self.Add()
                        elif sans == "e":
                            exit()
                    elif answer == "e":
                        sys.exit("come again")
                    else:
                        print "please use (y)es or (n)o or (e)xit"
    
    
            return
    
        def View(self):
            print "Please choose how you want to view student info\n\n"
            print "..................................................."
            print "(1)View Individual"
            print "(2)View All"
    
            viewChoice = raw_input("Choice\n>")
            if viewChoice == "1":
                viewFind = raw_input("\t\tuse student Id to Search\n\n>")
                print self.userData[viewFind]
    
            elif viewChoice == "2":
                for key in sorted(self.userData.keys()):
                    print self.userData[key]
    
        def Remove(self):
            print "What information do you want to remove\nWARNING!! if you delete any piece of data you wont be able to restore it\n"
            for key in sorted(self.userData.keys()):
                    print self.userData[key]
            data = raw_input(">")
    
            del self.userData[data]
            pass
    
    
    
    
    database = Database()