From 51eab58d1ed96714747ec9de78ad82d452307386 Mon Sep 17 00:00:00 2001 From: Vincent Texier <vit@free.fr> Date: Wed, 27 Dec 2017 13:09:18 +0100 Subject: [PATCH] Fix UID missing in certifiers table #771 Fix refresh button not refreshing identities from network --- src/sakia/gui/navigation/identity/model.py | 8 +++-- src/sakia/services/identities.py | 34 +++++++++++++--------- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/src/sakia/gui/navigation/identity/model.py b/src/sakia/gui/navigation/identity/model.py index 589e9576..952173b8 100644 --- a/src/sakia/gui/navigation/identity/model.py +++ b/src/sakia/gui/navigation/identity/model.py @@ -53,9 +53,11 @@ class IdentityModel(QObject): async def refresh_identity_data(self): identity = self.identities_service.get_identity(self.connection.pubkey, self.connection.uid) identity = await self.identities_service.load_requirements(identity) - certifiers = await self.identities_service.load_certifiers_of(identity) - certified = await self.identities_service.load_certified_by(identity) - await self.identities_service.load_certs_in_lookup(identity, certifiers, certified) + + # update identities in database from the network + await self.identities_service.initialize_certifications(identity, None, None) + + # update identities from database self.table_model.init_certifiers() def table_data(self, index): diff --git a/src/sakia/services/identities.py b/src/sakia/services/identities.py index 57903a5a..197f6757 100644 --- a/src/sakia/services/identities.py +++ b/src/sakia/services/identities.py @@ -237,30 +237,36 @@ class IdentitiesService(QObject): logging.debug(str(e)) return certifications - async def initialize_certifications(self, identity, log_stream, progress): + async def initialize_certifications(self, identity, log_stream=None, progress=None): """ Initialize certifications to and from a given identity :param sakia.data.entities.Identity identity: - :param function log_stream: - :param function progress: + :param function log_stream: Logger function + :param function progress: Progress function for progress bar """ - log_stream("Requesting certifiers of data") + if log_stream: + log_stream("Requesting certifiers of data") certifiers = await self.load_certifiers_of(identity) - log_stream("Requesting certified by data") + if log_stream: + log_stream("Requesting certified by data") certified = await self.load_certified_by(identity) - log_stream("Requesting lookup data") + if log_stream: + log_stream("Requesting lookup data") certifiers, certified = await self.load_certs_in_lookup(identity, certifiers, certified) - log_stream("Requesting identities of certifications") + if log_stream: + log_stream("Requesting identities of certifications") identities = [] i = 0 nb_certs = len(certified + certifiers) for cert in certifiers: - log_stream("Requesting identity... {0}/{1}".format(i, nb_certs)) + if log_stream: + log_stream("Requesting identity... {0}/{1}".format(i, nb_certs)) i += 1 - progress(1/nb_certs) + if progress: + progress(1/nb_certs) certifier = self.get_identity(cert.certifier) if not certifier: certifier = await self.find_from_pubkey(cert.certifier) @@ -268,16 +274,18 @@ class IdentitiesService(QObject): identities.append(certifier) for cert in certified: - log_stream("Requesting identity... {0}/{1}".format(i, nb_certs)) + if log_stream: + log_stream("Requesting identity... {0}/{1}".format(i, nb_certs)) i += 1 - progress(1/nb_certs) + if progress: + progress(1/nb_certs) certified = self.get_identity(cert.certified) if not certified: certified = await self.find_from_pubkey(cert.certified) certified = await self.load_requirements(certified) identities.append(certified) - - log_stream("Commiting identities...") + if log_stream: + log_stream("Commiting identities...") for idty in identities: self._identities_processor.insert_or_update_identity(idty) -- GitLab