class Person():
def __init__(self, name, phone, pw):
self.name = name
self.phone = phone
self.password = pw
self.__personList = PersonList()
#setters
def set_name ( self, name):
self.name = name
def set_phone( self,phone):
self.phone = phone
def set_password( self, passw):
self.password = passw
#getters
def get_name( self ):
return self.name
def get_phone(self):
return self.phone
def get_password(self ):
return self.password
#operator overload
def __eq__(self,other):
return (self.name==other.name) and (self.password==other.password) and (self.phone==other.phone)
class PersonList():
def __init__(self):
self.persons = []
def add(self, person):
#saves from double counting same person
if not self.isPersonInList(person):
self.persons.append(person)
def remove(self, person):
self.persons.pop(person)
def isPersonInList(self,person):
for pi in self.persons:
if person==pi:
return True
return False
def Print(self):
for person in self.persons:
print "%s : %s (pass) %s (phone)"%(person.name, person.password, person.phone )
class ReadData():
def __init__(self, inputFile = None):
self.personList = PersonList()
self.inputfile = inputFile
def Run(self):
if not self.inputfile:
print "Provide input file to find data"
else:
print "Opening to read file : "+self.inputfile
with open(inputFile,"r") as fin:
for line in fin:
name,phone,passw = line.split(",")
name= name.replace(" ","")
phone= int(phone.replace(" ",""))
passw= passw.replace(" ","")
person = Person(name,phone,passw)
self.personList.add(person)
def setInput(self,nameinput):
self.inputfile = nameinput
#Supposingly the myinput.txt has the following format:
#NAME,PHONE,PASSWORD
readData = ReadData()
readData.Run()
readData.setInput("myfile.txt")
readData.Run()
#per1 = Person("John",3444, 1234 )
#per2 = Person("Mary",3652, 12342)
#perList.add(per1)
#perList.add(per2)
#perList.add(per3)
#perList.Print()