def remove_custom_attributes(self, key):
     AbstractPersonalData.remove_custom_attributes(self, key)
     if self.custom_attributes.has_key(key):
         del self.custom_attributes[key]
 def add_custom_attributes(self, key, value):
     AbstractPersonalData.add_custom_attributes(self, key, value)
     self.custom_attributes[key] = value
 def __init__(self):
     AbstractPersonalData.__init__(self)
     # dictionary of file. {att_name : att_value}
     self.custom_attributes = {}
 def remove_custom_attributes(self, key):
     AbstractPersonalData.remove_custom_attributes(self, key)
     if self.config.has_option(SECTION_CUSTOM, key):
         self.config.remove_option(SECTION_CUSTOM, key)
 def add_custom_attributes(self, key, value):
     AbstractPersonalData.add_custom_attributes(self, key, value)
     self.config.set(SECTION_CUSTOM, key, value.encode(self.encoding))
 def __init__(self):
     AbstractPersonalData.__init__(self)
     self.config.add_section(SECTION_PERSONAL)
     self.config.add_section(SECTION_CUSTOM)