Práce s informacemi z discovery z pluginu

Získání identity kontaktu

Identitu kontaktu můžeme z Pyxlu získat následujícím kódem:

def ziskejIdentitu(self,jid):
   # ziskani identity, kterou ma Pyxl ulozenou v pameti (jid je typu unicode)
   identity=self.main.client.getIdentity(jid)
   # Pyxl jeste nema stazenou identitu tohoto kontaktu
   if not identity:
      # pozadame o stazeni
      d=self.main.client.getDiscoInfo(jid)
      # pridame callback funkci, ktera se spusti az se discoInfo stahne a preda se mu parametr jid
      d.addCallback(self.funkce,jid)

def funkce(self,node,jid):
   # tahle funkce se spusti po stazeni discoInfo Pyxlem a proto uz je v nem identita ulozena a muzeme ji ziskat
   identity=self.main.client.getIdentity(jid)

Návratová hodnota funkce getIdentity například pro Jdisk vypadá následovně:

{u'Filestore - Jabber Disk': {u'category': u'store', u'type': u'file', u'name': u'Filestore - Jabber Disk'}}

Ověření identity kontaktu

self.main.client.hasIdentity(frm.host, category)
self.main.client.hasIdentity(frm.host, category,typ)

Vrátí False, pokud kontakt nemá danou identitu, None pokud Pyxl nemá tento kontakt ve své databázi a True pokud kontakt danou identitu má. Pokud Pyxl nemá kontakt v databázi, opět se dá stáhnout postupem uvedeným výše. Pro kontakty v rosteru se stahuje automaticky.