from contact import *

class CellPhone:
    
    '''An mobile device to keep track of Contacts.'''
    
    # Attributes:
    #  personal_contact_list (list)
    #      Some way of representing the list of personal contacts.
    #  business_context_list (list)
    #      Some way of representing the list of business contacts.
    
    def add_business_contact(self, c):
        '''Add BusinessContact c to this phone.'''
        pass

    def add_personal_contact(self, c):
        '''Add BusinessContact c to this phone.'''
        pass
    
    def remove_contact(self, c):
        '''Remove Contact c from this phone.
        Raise a ContactNotFoundException if c is not in the address book.'''
        pass
  
    def find_by_name(self, s):
        '''Return the list of Contacts with name matching str s (first or
        last).'''
        pass
    
    def find_by_address(self, a):
        '''Return the list fo Contacts with address containing str a.'''
        pass

class ContactNotFoundException(Exception):
    def __init__(self, c):
        self.contact = c
        
    def __str__(self):
        return repr(self.contact) # Some representation of the object

