projects
/
cascardo
/
ipsilon.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Implement cleanup for OpenIDStore
[cascardo/ipsilon.git]
/
ipsilon
/
providers
/
openid
/
store.py
diff --git
a/ipsilon/providers/openid/store.py
b/ipsilon/providers/openid/store.py
index
0eaee0a
..
3a45f19
100644
(file)
--- a/
ipsilon/providers/openid/store.py
+++ b/
ipsilon/providers/openid/store.py
@@
-65,18
+65,29
@@
class OpenIDStore(Store, OpenIDStoreInterface):
return True
return True
+ def _cleanup(self):
+ res1 = self.cleanupNonces()
+ res2 = self.cleanupAssociations()
+ return res1 + res2
+
def cleanupNonces(self):
nonces = self.get_unique_data('nonce')
def cleanupNonces(self):
nonces = self.get_unique_data('nonce')
+ cleaned = 0
for iden in nonces:
if nonces[iden]['timestamp'] < (time() - NonceSKEW):
for iden in nonces:
if nonces[iden]['timestamp'] < (time() - NonceSKEW):
+ cleaned += 1
self.del_unique_data('nonce', iden)
self.del_unique_data('nonce', iden)
+ return cleaned
def cleanupAssociations(self):
assocs = self.get_unique_data('association')
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()):
for iden in assocs:
if ((int(assocs[iden]['issued']) + int(assocs[iden]['lifetime']))
< time()):
+ cleaned += 1
self.del_unique_data('association', iden)
self.del_unique_data('association', iden)
+ return cleaned
def _initialize_schema(self):
q = self._query(self._db, 'association', UNIQUE_DATA_TABLE,
def _initialize_schema(self):
q = self._query(self._db, 'association', UNIQUE_DATA_TABLE,