aboutsummaryrefslogtreecommitdiffstats
path: root/lang/python/examples/howto/import-keys-hkp.py
diff options
context:
space:
mode:
authorBen McGinnes <[email protected]>2018-12-10 17:41:03 +0000
committerBen McGinnes <[email protected]>2018-12-10 17:41:03 +0000
commitfe7e01d164b64ad5e7f65cb80e4bf13f06d8d3ef (patch)
tree64afaeac4c8d1127ff156c17be4a69de3ecaa547 /lang/python/examples/howto/import-keys-hkp.py
parentpython: docs updates (diff)
downloadgpgme-fe7e01d164b64ad5e7f65cb80e4bf13f06d8d3ef.tar.gz
gpgme-fe7e01d164b64ad5e7f65cb80e4bf13f06d8d3ef.zip
python: key import via HKP example
* Fixed the logic used to search for any given pattern. * Added a sensible method of checking whether a pattern is a key ID or fingerprint. Tested-by: Ben McGinnes <[email protected]> Signed-off-by: Ben McGinnes <[email protected]>
Diffstat (limited to 'lang/python/examples/howto/import-keys-hkp.py')
-rwxr-xr-xlang/python/examples/howto/import-keys-hkp.py24
1 files changed, 11 insertions, 13 deletions
diff --git a/lang/python/examples/howto/import-keys-hkp.py b/lang/python/examples/howto/import-keys-hkp.py
index e6195241..832a888a 100755
--- a/lang/python/examples/howto/import-keys-hkp.py
+++ b/lang/python/examples/howto/import-keys-hkp.py
@@ -35,6 +35,7 @@ This script imports one or more public keys from the SKS keyservers.
c = gpg.Context()
server = hkp4py.KeyServer("hkps://hkps.pool.sks-keyservers.net")
results = []
+keys = []
if len(sys.argv) > 2:
pattern = " ".join(sys.argv[1:])
@@ -43,23 +44,20 @@ elif len(sys.argv) == 2:
else:
pattern = input("Enter the pattern to search for keys or user IDs: ")
-try:
- keys = server.search(pattern)
- if keys is not None:
- print("Found {0} key(s).".format(len(keys)))
- else:
- pass
-except Exception as e:
- keys = []
+if pattern is not None:
+ try:
+ key = server.search(hex(int(pattern, 16)))
+ except ValueError as e:
+ key = server.search(pattern)
+ keys.append(key[0])
for logrus in pattern.split():
- if logrus.startswith("0x") is True:
+ try:
+ key = server.search(hex(int(logrus, 16)))
+ except ValueErrer as ve:
key = server.search(logrus)
- else:
- key = server.search("0x{0}".format(logrus))
keys.append(key[0])
- print("Found {0} key(s).".format(len(keys)))
-if keys is not None:
+if len(keys) > 0:
for key in keys:
import_result = c.key_import(key.key_blob)
results.append(import_result)