svn: r5590
This commit is contained in:
Alex Roitman 2005-12-20 05:53:01 +00:00
parent 4ed4d6b1ac
commit 9895a58b1a
2 changed files with 126 additions and 153 deletions

View File

@ -1013,6 +1013,80 @@ class PrivateSourceNote(SourceNote,PrivacyBase):
SourceNote.__init__(self,source) SourceNote.__init__(self,source)
PrivacyBase.__init__(self,source) PrivacyBase.__init__(self,source)
class LocationBase(BaseObject):
"""
Base class for all things Address.
"""
def __init__(self,source=None):
"""
Creates a LocationBase object,
copying from the source object if it exists.
"""
BaseObject.__init__(self)
if source:
self.city = source.city
self.state = source.state
self.country = source.country
self.postal = source.postal
self.phone = source.phone
else:
self.city = ""
self.state = ""
self.country = ""
self.postal = ""
self.phone = ""
def get_text_data_list(self):
"""
Returns the list of all textual attributes of the object.
@return: Returns the list of all textual attributes of the object.
@rtype: list
"""
return [self.city,self.state,self.country,self.postal,self.phone]
def set_city(self,data):
"""sets the city name of the LocationBase object"""
self.city = data
def get_city(self):
"""returns the city name of the LocationBase object"""
return self.city
def set_postal_code(self,data):
"""sets the postal code of the LocationBase object"""
self.postal = data
def get_postal_code(self):
"""returns the postal code of the LocationBase object"""
return self.postal
def set_phone(self,data):
"""sets the phone number of the LocationBase object"""
self.phone = data
def get_phone(self):
"""returns the phone number of the LocationBase object"""
return self.phone
def set_state(self,data):
"""sets the state name of the LocationBase object"""
self.state = data
def get_state(self):
"""returns the state name of the LocationBase object"""
return self.state
def set_country(self,data):
"""sets the country name of the LocationBase object"""
self.country = data
def get_country(self):
"""returns the country name of the LocationBase object"""
return self.country
class Witness(BaseObject,PrivacyBase): class Witness(BaseObject,PrivacyBase):
# FIXME: this class is only present to enable db upgrade # FIXME: this class is only present to enable db upgrade
def __init__(self): def __init__(self):

View File

@ -530,29 +530,20 @@ class Attribute(PrivateSourceNote):
# Address for Person/Repository # Address for Person/Repository
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
class Address(PrivateSourceNote,DateBase): class Address(PrivateSourceNote,DateBase,LocationBase):
"""Provides address information for a person""" """Provides address information."""
def __init__(self,source=None): def __init__(self,source=None):
"""Creates a new Address instance, copying from the source """Creates a new Address instance, copying from the source
if provided""" if provided"""
PrivateSourceNote.__init__(self,source) PrivateSourceNote.__init__(self,source)
DateBase.__init__(self,source) DateBase.__init__(self,source)
LocationBase.__init__(self,source)
if source: if source:
self.street = source.street self.street = source.street
self.city = source.city
self.state = source.state
self.country = source.country
self.postal = source.postal
self.phone = source.phone
else: else:
self.street = "" self.street = ""
self.city = ""
self.state = ""
self.country = ""
self.postal = ""
self.phone = ""
def get_text_data_list(self): def get_text_data_list(self):
""" """
@ -561,8 +552,7 @@ class Address(PrivateSourceNote,DateBase):
@return: Returns the list of all textual attributes of the object. @return: Returns the list of all textual attributes of the object.
@rtype: list @rtype: list
""" """
return [self.street,self.city,self.state,self.country, return [self.street] + LocationBase.get_text_data_list()
self.postal,self.phone]
#return [self.street,self.city,self.state,self.country, #return [self.street,self.city,self.state,self.country,
# self.postal,self.phone,self.get_date()] # self.postal,self.phone,self.get_date()]
@ -581,7 +571,7 @@ class Address(PrivateSourceNote,DateBase):
def get_handle_referents(self): def get_handle_referents(self):
""" """
Returns the list of child objects which may, directly or through Returns the list of child objects which may, directly or through
their children, reference primary objects.. their children, reference primary objects.
@return: Returns the list of objects refereincing primary objects. @return: Returns the list of objects refereincing primary objects.
@rtype: list @rtype: list
@ -596,45 +586,61 @@ class Address(PrivateSourceNote,DateBase):
"""returns the street portion of the Address""" """returns the street portion of the Address"""
return self.street return self.street
def set_phone(self,val): #-------------------------------------------------------------------------
"""sets the phone number portion of the Address""" #
self.phone = val # Location class for Places
#
#-------------------------------------------------------------------------
class Location(LocationBase):
"""
Provides information about a place.
def get_phone(self): The data including city, county, state, and country.
"""returns the phone number portion of the Address""" Multiple Location objects can represent the same place, since names
return self.phone of citys, countys, states, and even countries can change with time.
"""
def set_city(self,val): def __init__(self,source=None):
"""sets the city portion of the Address""" """
self.city = val Creates a Location object, copying from the source object if it exists.
"""
def get_city(self): LocationBase.__init__(self,source)
"""returns the city portion of the Address""" if source:
return self.city self.parish = source.parish
self.county = source.county
else:
self.parish = ""
self.county = ""
def set_state(self,val): def get_text_data_list(self):
"""sets the state portion of the Address""" """
self.state = val Returns the list of all textual attributes of the object.
def get_state(self): @return: Returns the list of all textual attributes of the object.
"""returns the state portion of the Address""" @rtype: list
return self.state """
return [self.parish,self.county] + LocationBase.get_text_data_list()
def set_country(self,val): def is_empty(self):
"""sets the country portion of the Address""" return not self.city and not self.county and not self.state and \
self.country = val not self.country and not self.postal and not self.phone
def get_country(self): def set_parish(self,data):
"""returns the country portion of the Address""" """sets the religious parish name"""
return self.country self.parish = data
def set_postal_code(self,val): def get_parish(self):
"""sets the postal code of the Address""" """gets the religious parish name"""
self.postal = val return self.parish
def get_postal_code(self): def set_county(self,data):
"""returns the postal code of the Address""" """sets the county name of the Location object"""
return self.postal self.county = data
def get_county(self):
"""returns the county name of the Location object"""
return self.county
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# #
@ -724,113 +730,6 @@ class Url(BaseObject,PrivacyBase):
return 0 return 0
return 1 return 1
#-------------------------------------------------------------------------
#
# Location class for Places
#
#-------------------------------------------------------------------------
class Location(BaseObject):
"""
Provides information about a place.
The data including city, county, state, and country.
Multiple Location objects can represent the same place, since names
of citys, countys, states, and even countries can change with time.
"""
def __init__(self,source=None):
"""
Creates a Location object, copying from the source object if it exists.
"""
BaseObject.__init__(self)
if source:
self.city = source.city
self.parish = source.parish
self.county = source.county
self.state = source.state
self.country = source.country
self.postal = source.postal
self.phone = source.phone
else:
self.city = ""
self.parish = ""
self.county = ""
self.state = ""
self.country = ""
self.postal = ""
self.phone = ""
def get_text_data_list(self):
"""
Returns the list of all textual attributes of the object.
@return: Returns the list of all textual attributes of the object.
@rtype: list
"""
return [self.city,self.parish,self.county,self.state,
self.country,self.postal,self.phone]
def is_empty(self):
return not self.city and not self.county and not self.state and \
not self.country and not self.postal and not self.phone
def set_city(self,data):
"""sets the city name of the Location object"""
self.city = data
def get_postal_code(self):
"""returns the postal code of the Location object"""
return self.postal
def set_postal_code(self,data):
"""sets the postal code of the Location object"""
self.postal = data
def get_phone(self):
"""returns the phone number of the Location object"""
return self.phone
def set_phone(self,data):
"""sets the phone number of the Location object"""
self.phone = data
def get_city(self):
"""returns the city name of the Location object"""
return self.city
def set_parish(self,data):
"""sets the religious parish name"""
self.parish = data
def get_parish(self):
"""gets the religious parish name"""
return self.parish
def set_county(self,data):
"""sets the county name of the Location object"""
self.county = data
def get_county(self):
"""returns the county name of the Location object"""
return self.county
def set_state(self,data):
"""sets the state name of the Location object"""
self.state = data
def get_state(self):
"""returns the state name of the Location object"""
return self.state
def set_country(self,data):
"""sets the country name of the Location object"""
self.country = data
def get_country(self):
"""returns the country name of the Location object"""
return self.country
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# #
# LDS Ordinance class # LDS Ordinance class