From: Patrick Uiterwijk Date: Fri, 4 Sep 2015 17:37:34 +0000 (+0200) Subject: Implement cleanup for OpenIDStore X-Git-Tag: v1.1.0~5 X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fipsilon.git;a=commitdiff_plain;h=11bbbe3ac6a0842599ab2e5110427758ebaa5573 Implement cleanup for OpenIDStore Signed-off-by: Patrick Uiterwijk Reviewed-by: Rob Crittenden --- 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,