def get_peers(self): """returns Peers""" # lazy initialisation if self.peers != {}: return ContactsMixin.get_peers(self) # full init if not self.config.has_section(SECTION_OTHERS): self.config.add_section(SECTION_OTHERS) options = self.config.options(SECTION_OTHERS) for peer_id in options: # check unicode if isinstance(peer_id, str): peer_id = unicode(peer_id, self.encoding) # get info description = self.config.get(SECTION_OTHERS, peer_id) try: pseudo, state, timestamp = description.split(',') peer_desc = PeerDescriptor(peer_id, state=state) ContactsMixin.set_peer(self, peer_id, peer_desc) peer_desc.load() # TODO: use timestamp except Exception, error: log(error, ": peer %s not retreived"% description)