From: "Brian Dolbec" <dolsen@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/gentoo-keys:master commit in: gkeys/gkeys/
Date: Fri, 9 Jan 2015 21:07:27 +0000 (UTC) [thread overview]
Message-ID: <1420783649.c4dfd5ac664f6afec52a77ab911c2130e028e402.dolsen@gentoo> (raw)
commit: c4dfd5ac664f6afec52a77ab911c2130e028e402
Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 8 21:51:52 2015 +0000
Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Fri Jan 9 06:07:29 2015 +0000
URL: http://sources.gentoo.org/gitweb/?p=proj/gentoo-keys.git;a=commit;h=c4dfd5ac
gkeys: Fix seed file loading, saving unicode issues
Fix unicode cli args issues.
---
gkeys/gkeys/actions.py | 36 +++++++++++++++++++++---------------
gkeys/gkeys/seed.py | 28 +++++++++++++++++++++-------
gkeys/gkeys/seedhandler.py | 6 +++---
3 files changed, 45 insertions(+), 25 deletions(-)
diff --git a/gkeys/gkeys/actions.py b/gkeys/gkeys/actions.py
index 9d57870..59929cd 100644
--- a/gkeys/gkeys/actions.py
+++ b/gkeys/gkeys/actions.py
@@ -241,15 +241,15 @@ class Actions(object):
if self.config.options['print_results']:
if print_key:
print()
- print("Nick.....:", key.nick)
- print("Name.....:", key.name)
- print("Keydir...:", key.keydir)
+ print("Nick.....: %s" % key.nick)
+ print("Name.....: %s" % key.name)
+ print("Keydir...: %s" % key.keydir)
c = 0
for line in result.split('\n'):
if c == 0:
- print("Gpg info.:", line)
+ print("Gpg info.: %s" % line)
else:
- print(" ", line)
+ print(" %s" % line)
c += 1
self.logger.debug("data output:\n" + str(result))
return (True, result)
@@ -289,10 +289,12 @@ class Actions(object):
self.logger.debug("ACTIONS: installkey; result.failed = " +
str(result.failed))
if self.config.options['print_results']:
+ msg = "key desired: %(name)s, key added: %(key)s, succeeded:" +\
+ " %(success)s, fingerprint: %(fpr)s"
for result in results[key.name]:
- print("key desired:", key.name, ", key added:",
- result.username, ", succeeded:",
- not result.failed, ", fingerprint:", result.fingerprint)
+ print(msg % ({'name': key.name, 'key': result.username,
+ 'success': not result.failed,
+ 'fpr': result.fingerprint}))
self.logger.debug("stderr_out: " + str(result.stderr_out))
if result.failed:
failed.append(key)
@@ -488,7 +490,7 @@ class Actions(object):
return (False, ["Please provide a nickname or -n *"])
handler = SeedHandler(self.logger, self.config)
kwargs = handler.build_gkeydict(args)
- self.logger.debug("ACTIONS: addkey; kwargs: %s" % str(kwargs))
+ self.logger.debug("ACTIONS: removekey; kwargs: %s" % str(kwargs))
success, installed_keys = self.installed(args)[1]
for gkey in installed_keys:
if kwargs['nick'] not in gkey.nick:
@@ -539,17 +541,21 @@ class Actions(object):
self.logger.debug("ACTIONS: importkey; adding key: %s", gkey.name)
results[gkey.name] = self.gpg.add_key(gkey)
if self.config.options['print_results']:
+ msg = "key desired: %(name)s, key added: %(key)s, " + \
+ "succeeded: %(success)s, fingerprint: %(fpr)s"
for result in results[gkey.name]:
- print("key desired:", gkey.name, ", key added:",
- result.username, ", succeeded:",
- not result.failed, ", fingerprint:", result.fingerprint)
+ print(msg % ({'name': gkey.name, 'key': result.username,
+ 'success': not result.failed,
+ 'fpr': result.fingerprint}))
self.logger.debug("stderr_out: " + str(result.stderr_out))
if result.failed:
- self.logger.debug("ACTIONS: importkey; result.failed = " + str(result.failed))
+ self.logger.debug("ACTIONS: importkey; result.failed = "
+ + str(result.failed))
failed.append(gkey)
if not results[gkey.name][0].failed:
- print("Importing: ", gkey.name)
- self.logger.debug("ACTIONS: importkey; importing key: %s", gkey.name)
+ print("Importing: %s" % gkey.name)
+ self.logger.debug("ACTIONS: importkey; importing key: %s"
+ % gkey.name)
_keyring = os.path.join(catdir, args.keyring + '.gpg')
self.gpg.add_to_keyring(gkey, catdir, _keyring)
if failed and self.output:
diff --git a/gkeys/gkeys/seed.py b/gkeys/gkeys/seed.py
index 40bdd46..2f6e72a 100644
--- a/gkeys/gkeys/seed.py
+++ b/gkeys/gkeys/seed.py
@@ -16,8 +16,10 @@ with gentoo-keys specific convienience functions.
'''
+import codecs
import json
import os
+import sys
from gkeys.exception import UpdateDbError
from gkeys.log import logger
@@ -25,6 +27,14 @@ from gkeys.gkey import GKEY
from gkeys.fileops import ensure_dirs
+if sys.version_info[0] >= 3:
+ def decoder(text, enc='utf_8'):
+ return text
+else:
+ def decoder(text, enc='utf_8'):
+ return codecs.decode(text, enc)
+
+
class Seeds(object):
'''Handles all seed key file operations'''
@@ -51,7 +61,7 @@ class Seeds(object):
seedlines = None
self.seeds = {}
try:
- with open(self.filename, "r+") as seedfile:
+ with codecs.open(self.filename, "r+", encoding='utf_8') as seedfile:
seedlines = json.load(seedfile)
except IOError as err:
self.logger.debug("Seed: load; IOError occurred while loading file")
@@ -94,7 +104,7 @@ class Seeds(object):
fatal=True)
os.umask(int(self.config.get_key("permissions", "files"),0))
try:
- with open(self.filename, 'w') as seedfile:
+ with codecs.open(self.filename, 'w', encoding='utf_8') as seedfile:
seedfile.write(self._seeds2json(self.seeds))
seedfile.write("\n")
except IOError as err:
@@ -156,7 +166,10 @@ class Seeds(object):
break
result = res
else:
- result = {dev: gkey for dev, gkey in list(result.items()) if kwargs[key].lower() in getattr(gkey, key).lower()}
+ result = {dev: gkey for dev, gkey in list(result.items())
+ if kwargs[key].lower()
+ in getattr(gkey, key).lower()
+ }
return sorted(result.values())
@@ -193,10 +206,10 @@ class Seeds(object):
if self._list_search(value, val, exact):
results.append(seed)
elif exact:
- if value in val:
+ if decoder(value) in val:
results.append(seed)
else:
- if value.lower() in val.lower():
+ if decoder(value).lower() in val.lower():
results.append(seed)
return results
@@ -209,11 +222,12 @@ class Seeds(object):
found.append(self._list_search(f, values, exact))
return True in found
for val in values:
+ val = val
if exact:
- if find in val:
+ if decoder(find) in val:
return True
else:
- if find.lower() in val.lower():
+ if decoder(find).lower() in val.lower():
return True
return False
diff --git a/gkeys/gkeys/seedhandler.py b/gkeys/gkeys/seedhandler.py
index 5f15222..adf9507 100644
--- a/gkeys/gkeys/seedhandler.py
+++ b/gkeys/gkeys/seedhandler.py
@@ -16,7 +16,7 @@ from json import load
from gkeys.exception import UpdateDbError
from gkeys.gkey import GKEY
-from gkeys.seed import Seeds
+from gkeys.seed import Seeds, decoder
from gkeys.fileops import ensure_dirs
@@ -51,10 +51,10 @@ class SeedHandler(object):
for attr in GKEY._fields:
try:
value = getattr(args, attr)
- if attr == 'name' and value:
+ if attr == 'name' and isinstance(value, list):
value = " ".join(value)
if value is not None:
- keyinfo[attr] = value
+ keyinfo[attr] = decoder(value)
except AttributeError:
pass
return keyinfo
next reply other threads:[~2015-01-09 21:07 UTC|newest]
Thread overview: 144+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-09 21:07 Brian Dolbec [this message]
-- strict thread matches above, loose matches on Subject: below --
2018-08-15 16:15 [gentoo-commits] proj/gentoo-keys:master commit in: gkeys/gkeys/ Brian Dolbec
2018-08-15 1:51 Brian Dolbec
2018-08-15 1:05 Brian Dolbec
2018-07-07 15:10 Brian Dolbec
2018-07-07 15:10 Brian Dolbec
2018-07-07 5:23 Brian Dolbec
2018-07-07 5:23 Brian Dolbec
2018-07-07 5:23 Brian Dolbec
2018-07-07 5:23 Brian Dolbec
2018-07-07 5:23 Brian Dolbec
2018-07-07 5:23 Brian Dolbec
2018-07-07 5:23 Brian Dolbec
2018-07-07 5:23 Brian Dolbec
2018-07-07 5:23 Brian Dolbec
2018-07-07 5:23 Brian Dolbec
2018-07-07 5:23 Brian Dolbec
2018-07-07 5:23 Brian Dolbec
2018-07-07 5:23 Brian Dolbec
2018-07-07 5:23 Brian Dolbec
2018-07-07 5:23 Brian Dolbec
2018-07-07 5:23 Brian Dolbec
2018-07-07 5:23 Brian Dolbec
2018-07-07 5:23 Brian Dolbec
2016-12-24 9:13 [gentoo-commits] proj/gentoo-keys:gsoc-2016 " Brian Dolbec
2016-12-24 0:38 ` [gentoo-commits] proj/gentoo-keys:master " Brian Dolbec
2016-12-24 9:13 [gentoo-commits] proj/gentoo-keys:gsoc-2016 " Brian Dolbec
2016-12-24 0:38 ` [gentoo-commits] proj/gentoo-keys:master " Brian Dolbec
2016-12-24 9:13 [gentoo-commits] proj/gentoo-keys:gsoc-2016 " Brian Dolbec
2016-10-27 18:41 ` [gentoo-commits] proj/gentoo-keys:master " Brian Dolbec
2016-12-24 9:13 [gentoo-commits] proj/gentoo-keys:gsoc-2016 " Brian Dolbec
2016-10-27 21:49 ` [gentoo-commits] proj/gentoo-keys:master " Brian Dolbec
2016-12-24 4:52 Brian Dolbec
2016-06-01 15:16 Brian Dolbec
2016-06-01 15:16 Brian Dolbec
2016-01-23 23:33 Brian Dolbec
2016-01-23 23:33 Brian Dolbec
2016-01-23 19:04 Brian Dolbec
2015-12-25 17:03 Brian Dolbec
2015-12-13 0:51 Brian Dolbec
2015-08-25 14:10 Brian Dolbec
2015-08-25 14:10 Brian Dolbec
2015-08-09 22:52 Brian Dolbec
2015-08-09 1:09 Brian Dolbec
2015-08-09 1:09 Brian Dolbec
2015-08-09 1:09 Brian Dolbec
2015-08-09 1:09 Brian Dolbec
2015-08-09 1:09 Brian Dolbec
2015-08-09 1:09 Brian Dolbec
2015-08-09 1:09 Brian Dolbec
2015-08-09 1:09 Brian Dolbec
2015-08-09 1:09 Brian Dolbec
2015-08-09 1:09 Brian Dolbec
2015-08-09 1:09 Brian Dolbec
2015-07-25 16:45 Brian Dolbec
2015-07-25 16:45 Brian Dolbec
2015-07-25 16:45 Brian Dolbec
2015-06-22 13:41 Brian Dolbec
2015-06-01 1:56 Brian Dolbec
2015-05-31 5:03 Brian Dolbec
2015-05-31 5:03 Brian Dolbec
2015-05-31 5:03 Brian Dolbec
2015-05-31 5:03 Brian Dolbec
2015-05-31 5:03 Brian Dolbec
2015-05-31 5:03 Brian Dolbec
2015-05-31 5:03 Brian Dolbec
2015-05-31 5:03 Brian Dolbec
2015-05-31 5:03 Brian Dolbec
2015-05-31 5:03 Brian Dolbec
2015-05-31 5:03 Brian Dolbec
2015-05-31 5:03 Brian Dolbec
2015-05-31 5:03 Brian Dolbec
2015-05-31 5:03 Brian Dolbec
2015-05-31 5:03 Brian Dolbec
2015-05-31 5:03 Brian Dolbec
2015-05-31 5:03 Brian Dolbec
2015-03-18 15:32 Brian Dolbec
2015-03-17 19:51 Brian Dolbec
2015-03-08 15:09 Brian Dolbec
2015-03-06 21:04 Brian Dolbec
2015-02-11 17:37 Brian Dolbec
2015-02-11 17:37 Brian Dolbec
2015-02-11 17:37 Brian Dolbec
2015-02-11 17:37 Brian Dolbec
2015-02-11 17:37 Brian Dolbec
2015-02-11 17:37 Brian Dolbec
2015-02-11 17:37 Brian Dolbec
2015-02-11 17:37 Brian Dolbec
2015-01-09 21:07 Brian Dolbec
2015-01-09 21:07 Brian Dolbec
2015-01-09 21:07 Brian Dolbec
2015-01-09 21:07 Brian Dolbec
2015-01-09 21:07 Brian Dolbec
2015-01-09 21:07 Brian Dolbec
2015-01-08 4:13 Brian Dolbec
2015-01-07 23:39 Brian Dolbec
2015-01-05 23:12 Brian Dolbec
2015-01-05 23:12 Brian Dolbec
2015-01-05 23:12 Brian Dolbec
2015-01-05 23:12 Brian Dolbec
2015-01-05 23:12 Brian Dolbec
2015-01-05 23:12 Brian Dolbec
2015-01-05 23:12 Brian Dolbec
2015-01-05 23:12 Brian Dolbec
2015-01-01 22:32 Brian Dolbec
2015-01-01 17:44 Brian Dolbec
2015-01-01 17:44 Brian Dolbec
2015-01-01 17:44 Brian Dolbec
2015-01-01 17:44 Brian Dolbec
2015-01-01 17:44 Brian Dolbec
2014-12-31 21:34 Brian Dolbec
2014-12-31 21:34 Brian Dolbec
2014-12-31 21:34 Brian Dolbec
2014-12-31 21:34 Brian Dolbec
2014-12-31 21:34 Brian Dolbec
2014-12-31 21:34 Brian Dolbec
2014-12-31 21:34 Brian Dolbec
2014-12-31 21:34 Brian Dolbec
2014-12-31 21:34 Brian Dolbec
2014-12-31 21:34 Brian Dolbec
2014-12-31 21:34 Brian Dolbec
2014-12-31 21:34 Brian Dolbec
2014-12-31 21:34 Brian Dolbec
2014-12-31 21:34 Brian Dolbec
2014-12-26 18:37 Brian Dolbec
2014-12-26 18:37 Brian Dolbec
2014-12-26 18:37 Brian Dolbec
2014-12-26 5:02 Brian Dolbec
2014-12-26 5:02 Brian Dolbec
2014-12-26 5:02 Brian Dolbec
2014-12-25 22:07 Brian Dolbec
2014-12-25 22:07 Brian Dolbec
2014-12-25 20:43 Brian Dolbec
2014-12-25 20:43 Brian Dolbec
2014-12-25 20:43 Brian Dolbec
2014-12-24 19:59 Brian Dolbec
2014-12-24 19:59 Brian Dolbec
2014-12-24 19:59 Brian Dolbec
2014-12-24 19:59 Brian Dolbec
2014-12-24 19:59 Brian Dolbec
2014-12-24 19:59 Brian Dolbec
2014-12-24 19:59 Brian Dolbec
2014-12-24 19:59 Brian Dolbec
2014-12-23 2:50 Brian Dolbec
2014-12-23 2:50 Brian Dolbec
2014-12-23 0:13 Brian Dolbec
2014-12-22 23:11 Brian Dolbec
2014-12-22 23:11 Brian Dolbec
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1420783649.c4dfd5ac664f6afec52a77ab911c2130e028e402.dolsen@gentoo \
--to=dolsen@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox