diff --git a/src/address_book.py b/src/address_book.py new file mode 100644 index 0000000..10d8df0 --- /dev/null +++ b/src/address_book.py @@ -0,0 +1,40 @@ +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 diff --git a/src/bosses.py b/src/bosses.py new file mode 100644 index 0000000..78c94ad --- /dev/null +++ b/src/bosses.py @@ -0,0 +1,37 @@ +import os +import json +from src.address_book import AddressBook + + +class Boss: + def __init__(self): + self.full_name = '' + self.aliases = [] + self.contact = None + + +class Bosses: + def __init__(self, data_folder): + filename = os.path.join(data_folder, 'bosses.json') + with open(filename, 'r') as f: + data = json.load(f) + self.bosses = [] + addrs = AddressBook(data_folder) + for b in data: + boss = Boss() + for k, val in b.items(): + setattr(boss, k, val) + boss.contact = addrs.find(boss.full_name) + self.bosses.append(boss) + + def is_boss(self, name): + for boss in self.bosses: + if boss.full_name in name: + return True + for m in boss.contact.emails: + if m in name: + return True + for a in boss.aliases: + if a in name: + return True + return False