diff --git a/src/sakia/gui/navigation/identity/model.py b/src/sakia/gui/navigation/identity/model.py index 589e957673ab5456fbddb6e3fe30f1e7fa177b8e..952173b838b017fcfe4618fd6dcfc5528c08b447 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 57903a5a8080490a905cd3b78d7c0e935a6dcce8..197f6757b66156b2ca28b9426182174cc3046086 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)