def setUp(self):
     """override one in unittest.TestCase"""
     write_test_profile()
     # load profile
     peer_desc = PeerDescriptor(PROFILE_TEST)
     peer_desc.load(directory=PROFILE_DIR)
     self.document = peer_desc.document
Esempio n. 2
0
 def fill_data(self, peer_id, document, flag_update=True):
     """stores CacheDocument associated with peer"""
     # set peer_desc
     if not self.has_peer(peer_id):
         peer_desc = PeerDescriptor(peer_id, document=document)
         self.set_peer(peer_id, peer_desc)
     else:
         peer_desc = self.get_peer(peer_id)
     # set data
     peer_desc.document = document
     self.last_downloaded_desc = flag_update and peer_desc or None
     return peer_desc
Esempio n. 3
0
 def fill_blog(self, peer_id, blog, flag_update=True):
     """stores CacheDocument associated with peer"""
     blog = retro_compatibility(blog)
     if not isinstance(blog, Blogs):
         raise TypeError("data expected as AbstractDocument")
     # set peer_desc
     if not self.has_peer(peer_id):
         peer_desc = PeerDescriptor(peer_id, blog=blog)
         self.set_peer(peer_id, peer_desc)
     else:
         peer_desc = self.get_peer(peer_id)
     # set blog
     peer_desc.blog = blog
     self.last_downloaded_desc = flag_update and peer_desc or None
     return peer_desc
 def test_match(self):
     peer_desc = PeerDescriptor(PROFILE_TEST)
     peer_desc.load(directory=PROFILE_DIR)
     self.document.match(peer_desc)
     # check results
     self.assertEquals(3, len(self.document.results))
     self.assert_('All' in self.document.results)
     self.assert_('Mr_B' in self.document.results)
     self.assert_('MP3' in self.document.results)
     results = [(result.get_name(), result.get_match())
                for result in self.document.results['Mr_B'][PROFILE_TEST]]
     results.sort()
     self.assertEquals([('color', 'blue'),
                        ('lastname', 'breton'),
                        ('pseudo', 'atao'),
                        ('title', 'Mr')],
                       results)
 def on_add(self, evt):
     dlg = wx.FileDialog(
         self, message="Add profile ...",
         defaultDir=get_prefs("profile_dir"),
         defaultFile="",
         wildcard="Solipsis file (*.prf)|*.prf",
         style=wx.OPEN)
     if dlg.ShowModal() == wx.ID_OK:
         directory, file_name = os.path.split(dlg.GetPath()[:-4])
         peer_desc = PeerDescriptor(file_name, document=FileDocument())
         peer_desc.load(directory=directory)
         blogs = peer_desc.blog
         loader = peer_desc.document
         get_facade().fill_data(peer_desc.node_id, loader)
         get_facade().fill_blog(peer_desc.node_id, blogs)
         get_facade().fill_shared_files(peer_desc.node_id, loader.get_shared_files())
         self.display_profile(peer_desc)
         self.display_blog(peer_desc)
         self.display_files(peer_desc)
 def test_load_and_save(self):
     peer_desc = PeerDescriptor(PROFILE_TEST)
     peer_desc.load(directory=PROFILE_DIR)
     self.assertEquals(peer_desc.blog.count_blogs(), 1)
     self.assertEquals(peer_desc.document.get_pseudo(), PSEUDO)
     # change
     peer_desc.blog.add_blog(u"second blog", PSEUDO)
     peer_desc.document.set_pseudo(u"yop la hop")
     peer_desc.save(directory=PROFILE_DIR)
     # check
     new_desc = PeerDescriptor(PROFILE_TEST)
     new_desc.load(directory=PROFILE_DIR)
     self.assertEquals(new_desc.blog.count_blogs(), 2)
     self.assertEquals(new_desc.document.get_pseudo(), u"yop la hop")
 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)