diff options
| author | Ben McGinnes <[email protected]> | 2018-12-10 17:41:03 +0000 | 
|---|---|---|
| committer | Ben McGinnes <[email protected]> | 2018-12-10 17:41:03 +0000 | 
| commit | fe7e01d164b64ad5e7f65cb80e4bf13f06d8d3ef (patch) | |
| tree | 64afaeac4c8d1127ff156c17be4a69de3ecaa547 /lang/python | |
| parent | python: docs updates (diff) | |
| download | gpgme-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')
| -rwxr-xr-x | lang/python/examples/howto/import-keys-hkp.py | 24 | 
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)  | 
