X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fipsilon.git;a=blobdiff_plain;f=ipsilon%2Fproviders%2Fopenid%2Fstore.py;fp=ipsilon%2Fproviders%2Fopenid%2Fstore.py;h=3a45f190cf31ad4b2b9f3beed13054904a213d60;hp=0eaee0acc2761c9a9e83662e318b05a437d71381;hb=11bbbe3ac6a0842599ab2e5110427758ebaa5573;hpb=3ffc77559c269b85385350166f5392cab654c429 diff --git a/ipsilon/providers/openid/store.py b/ipsilon/providers/openid/store.py index 0eaee0a..3a45f19 100644 --- a/ipsilon/providers/openid/store.py +++ b/ipsilon/providers/openid/store.py @@ -65,18 +65,29 @@ class OpenIDStore(Store, OpenIDStoreInterface): return True + def _cleanup(self): + res1 = self.cleanupNonces() + res2 = self.cleanupAssociations() + return res1 + res2 + def cleanupNonces(self): nonces = self.get_unique_data('nonce') + cleaned = 0 for iden in nonces: if nonces[iden]['timestamp'] < (time() - NonceSKEW): + cleaned += 1 self.del_unique_data('nonce', iden) + return cleaned def cleanupAssociations(self): assocs = self.get_unique_data('association') + cleaned = 0 for iden in assocs: if ((int(assocs[iden]['issued']) + int(assocs[iden]['lifetime'])) < time()): + cleaned += 1 self.del_unique_data('association', iden) + return cleaned def _initialize_schema(self): q = self._query(self._db, 'association', UNIQUE_DATA_TABLE,