##############################################################################
# Python From Scratch
# Autor: Nilo Ney Coutinho Menezes
# Editora Novatec (c) 2010-2024
# Site: https://pythonfromscratch.com
#
# File: listing\chapter 10\10.1466 - No Title.py
# Description: No Title
##############################################################################
from unique_list import UniqueList
class Telephones(UniqueList):
def __init__(self):
super().__init__(Telephone)
class PhonebookData:
def __init__(self, name):
self.name = name
self.telephones = Telephones()
@property
def name(self):
return self.__name
@name.setter
def name(self, value):
if not isinstance(value, Name):
raise TypeError("name must be an instance of the Name class")
self.__name = value
def search_telephone(self, telephone):
position = self.telephones.search(Telephone(telephone))
if position == -1:
return None
else:
return self.telephones[position]