def updatePersistentCache(self, ext, isFullSync): if ext.pop('__cache', None) is not None: if not self.__persistentCache.data: desc, cacheData = self.__persistentCache.data = self.__persistentCache.get( ) if accountDataPersistentHash(cacheData) != desc: LOG_ERROR('Local account data cache is corrupted: resync') self._resynchronize() return False self.__persistentCache.data = cacheData self.__persistentCache.isDirty = False else: cacheData = self.__persistentCache.data if cacheData is None: LOG_ERROR( "Incorrect cache state while syncing data: server said to use cache but I don't have any" ) self._resynchronize() return False accountDataMergePersistent(ext, cacheData) if synchronizeDicts(accountDataGetDiffForPersistent(ext), self.__persistentCache.data)[1]: self.__persistentCache.isDirty = True else: if self.__persistentCache.data is None: self.__persistentCache.data = {} synchronizeDicts(accountDataGetDiffForPersistent(ext), self.__persistentCache.data) self.__persistentCache.isDirty = True return True
def updatePersistentCache(self, ext, isFullSync): if ext.pop('__cache', None) is not None: if not self.__persistentCache.data: desc, cacheData = self.__persistentCache.data = self.__persistentCache.get() if accountDataPersistentHash(cacheData) != desc: LOG_ERROR('Local account data cache is corrupted: resync') self._resynchronize() return False self.__persistentCache.data = cacheData self.__persistentCache.isDirty = False else: cacheData = self.__persistentCache.data if cacheData is None: LOG_ERROR("Incorrect cache state while syncing data: server said to use cache but I don't have any") self._resynchronize() return False accountDataMergePersistent(ext, cacheData) if synchronizeDicts(accountDataGetDiffForPersistent(ext), self.__persistentCache.data)[1]: self.__persistentCache.isDirty = True else: if self.__persistentCache.data is None: self.__persistentCache.data = {} synchronizeDicts(accountDataGetDiffForPersistent(ext), self.__persistentCache.data) self.__persistentCache.isDirty = True return True
def __savePersistentCache(self): if self.__persistentCache.isDirty and self.__persistentCache.data: self.__persistentCache.data = accountDataExtractPersistent( self.__persistentCache.data) self.__persistentCache.save( accountDataPersistentHash(self.__persistentCache.data), self.__persistentCache.data) self.__persistentCache.isDirty = False
def __savePersistentCache(self): if self.__persistentCache.isDirty and self.__persistentCache.data: self.__persistentCache.data = accountDataExtractPersistent(self.__persistentCache.data) self.__persistentCache.save(accountDataPersistentHash(self.__persistentCache.data), self.__persistentCache.data) self.__persistentCache.isDirty = False