From cf04f6f0cb6fc5b5a633b4cc7128f2748321055a Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Fri, 25 Sep 2015 12:08:48 +0200 Subject: [PATCH] port keyringanalyzer to Python3 - ran through 2to3 - switch to new ConfigParser name - fix UTF-8 handling of gpg output - don't track tags and keyringcache.db in git --- .gitignore | 2 ++ debianmemberportfolio/model/keyringanalyzer.py | 18 +++++++++--------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 3b423a9..98a8e38 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,5 @@ data/ .ropeproject/ *.mo *.pot +tags +debianmemberportfolio/model/keyringcache.db diff --git a/debianmemberportfolio/model/keyringanalyzer.py b/debianmemberportfolio/model/keyringanalyzer.py index 09a5315..8af8962 100644 --- a/debianmemberportfolio/model/keyringanalyzer.py +++ b/debianmemberportfolio/model/keyringanalyzer.py @@ -3,7 +3,7 @@ # # Debian Member Portfolio Service application key ring analyzer tool # -# Copyright © 2009-2014 Jan Dittberner +# Copyright © 2009-2015 Jan Dittberner # # This file is part of the Debian Member Portfolio Service. # @@ -26,10 +26,10 @@ retrieved data in a file database. The tool was inspired by Debian qa's carnivore. """ -import anydbm +import dbm import pkg_resources import glob -import ConfigParser +import configparser import os import os.path import logging @@ -38,7 +38,7 @@ import sys import email.utils -CONFIG = ConfigParser.SafeConfigParser() +CONFIG = configparser.ConfigParser() def _get_keyrings(): @@ -160,11 +160,11 @@ def process_keyrings(): stdout=subprocess.PIPE) fpr = None for line in proc.stdout.readlines(): - fpr = process_gpg_list_keys_line(line, fpr) + fpr = process_gpg_list_keys_line(line.decode('utf8'), fpr) retcode = proc.wait() if retcode != 0: logging.error("subprocess ended with return code %d", retcode) - db = anydbm.open(pkg_resources.resource_filename(__name__, + db = dbm.open(pkg_resources.resource_filename(__name__, 'keyringcache'), 'c') for key in resultdict: db[key] = ":".join(resultdict[key]) @@ -173,9 +173,9 @@ def process_keyrings(): if __name__ == '__main__': logging.basicConfig(stream=sys.stderr, level=logging.WARNING) - CONFIG.readfp(pkg_resources.resource_stream( - __name__, 'portfolio.ini')) + CONFIG.read_string(pkg_resources.resource_string( + __name__, 'portfolio.ini').decode('utf8')) gpghome = os.path.expanduser(CONFIG.get('DEFAULT', 'gnupghome')) if not os.path.isdir(gpghome): - os.makedirs(gpghome, 0700) + os.makedirs(gpghome, 0o700) process_keyrings()