41 lines
1.1 KiB
Python
41 lines
1.1 KiB
Python
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
|