forked from jan/debianmemberportfolio
Port dddatabuilder and keyfinder to Python3
This commit is contained in:
parent
104e6701eb
commit
52066eb904
2 changed files with 12 additions and 9 deletions
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
# Debian Member Portfolio Service data builder
|
||||
#
|
||||
# Copyright © 2009-2014 Jan Dittberner <jan@dittberner.info>
|
||||
# Copyright © 2009-2015 Jan Dittberner <jan@dittberner.info>
|
||||
#
|
||||
# This file is part of the Debian Member Portfolio Service.
|
||||
#
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
# Debian Member Portfolio Service key finder module
|
||||
#
|
||||
# Copyright © 2009-2014 Jan Dittberner <jan@dittberner.info>
|
||||
# Copyright © 2009-2015 Jan Dittberner <jan@dittberner.info>
|
||||
#
|
||||
# This file is part of the Debian Member Portfolio Service.
|
||||
#
|
||||
|
@ -36,14 +36,17 @@ cachetimestamp = 0
|
|||
def _get_keyring_cache():
|
||||
global db, cachetimestamp
|
||||
if db is None or (time.time() - cachetimestamp) > 86300:
|
||||
import anydbm
|
||||
import dbm
|
||||
import pkg_resources
|
||||
import os.path
|
||||
filename = pkg_resources.resource_filename(__name__,
|
||||
'keyringcache')
|
||||
logging.debug('reading cache data from %s', filename)
|
||||
assert os.path.exists(filename) and os.path.isfile(filename)
|
||||
db = anydbm.open(filename, 'r')
|
||||
assert (
|
||||
os.path.exists(filename + '.db') and
|
||||
os.path.isfile(filename + '.db')
|
||||
)
|
||||
db = dbm.open(filename, 'r')
|
||||
cachetimestamp = time.time()
|
||||
return db
|
||||
|
||||
|
@ -53,7 +56,7 @@ def _get_cached(cachekey):
|
|||
logging.debug('cache lookup for %s', cachekey)
|
||||
if cachekey in cache:
|
||||
logging.debug('found entry %s', cache[cachekey])
|
||||
return cache[cachekey]
|
||||
return cache[cachekey].decode('utf8')
|
||||
return None
|
||||
|
||||
|
||||
|
@ -91,7 +94,7 @@ def getLoginByFingerprint(fpr):
|
|||
def _dump_cache():
|
||||
cache = _get_keyring_cache()
|
||||
fprs = []
|
||||
for key in cache.keys():
|
||||
for key in [key.decode('utf8') for key in list(cache.keys())]:
|
||||
if key.startswith('email:fpr:'):
|
||||
fpr = key.replace('email:fpr:', '')
|
||||
if not fpr in fprs:
|
||||
|
@ -102,8 +105,8 @@ def _dump_cache():
|
|||
email = _get_cached('email:fpr:%s' % fpr)
|
||||
name = _get_cached('name:fpr:%s' % fpr)
|
||||
|
||||
print fpr, login, ':'
|
||||
print ' ', name, email
|
||||
print(fpr, login, ':')
|
||||
print(' ', name, email)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
Loading…
Reference in a new issue