Manejo de personas

This commit is contained in:
2020-11-02 00:58:41 -03:00
parent 3c5d3d5c52
commit 626f836f8b
2 changed files with 77 additions and 0 deletions

40
src/address_book.py Normal file
View File

@ -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

37
src/bosses.py Normal file
View File

@ -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