import os import json class Contact: def __init__(self): self.names = '' self.last_name = '' self.maiden_name = '' self.emails = [] self.phones = [] def full_name(self): return ' '.join([self.names, self.last_name, self.maiden_name]) class AddressBook: def __init__(self, data_folder): filename = os.path.join(data_folder, 'address_book.json') with open(filename, 'r') as f: data = json.load(f) self.contacts = [] for c in data: contact = Contact() for k, val in c.items(): setattr(contact, k, val) self.contacts.append(contact) def find(self, name): for c in self.contacts: if c.full_name() == name or c.names == name or c.last_name == name: return c return None def find_id(self, name): for (k, c) in enumerate(self.contacts): if c.full_name() == name or c.names == name or c.last_name == name: return k return -1