aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustus Winter <[email protected]>2017-02-14 15:30:30 +0000
committerJustus Winter <[email protected]>2017-02-14 15:33:55 +0000
commit92adc9bbf640eb5d9177d3ba0189e0f6cee4e995 (patch)
treeb3eed78f8aa1333d59442389d847b0aff38a0e00
parentpython: Use the correct function to free buffers. (diff)
downloadgpgme-92adc9bbf640eb5d9177d3ba0189e0f6cee4e995.tar.gz
gpgme-92adc9bbf640eb5d9177d3ba0189e0f6cee4e995.zip
python: Wrap utility functions.
* NEWS: Update. * lang/python/gpg/core.py (pubkey_algo_string): New function. (pubkey_algo_name): Add docstring. (hash_algo_name): Likewise. (get_protocol_name): Likewise. (addrspec_from_uid): New function. * lang/python/gpgme.i (gpgme_pubkey_algo_string): Result must be freed. (gpgme_addrspec_from_uid): Likewise. Signed-off-by: Justus Winter <[email protected]>
-rw-r--r--NEWS8
-rw-r--r--lang/python/gpg/core.py49
-rw-r--r--lang/python/gpgme.i2
3 files changed, 56 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index 125d54e7..a974ec76 100644
--- a/NEWS
+++ b/NEWS
@@ -13,9 +13,11 @@ Noteworthy changes in version 1.8.1 (unreleased)
cpp: Key::addUid() NEW.
qt: CryptoConfig::stringValueList() NEW.
gpgme_data_rewind UN-DEPRECATE.
- py: Context.__init__ EXTENDED: New keyword argument home_dir.
- py: Context.home_dir NEW.
- py: Context.keylist EXTENDED: New keyword argument mode.
+ py: Context.__init__ EXTENDED: New keyword arg home_dir.
+ py: Context.home_dir NEW.
+ py: Context.keylist EXTENDED: New keyword arg mode.
+ py: core.pubkey_algo_string NEW.
+ py: core.addrspec_from_uid NEW.
Noteworthy changes in version 1.8.0 (2016-11-16)
diff --git a/lang/python/gpg/core.py b/lang/python/gpg/core.py
index e07ec330..18a7e3a5 100644
--- a/lang/python/gpg/core.py
+++ b/lang/python/gpg/core.py
@@ -1118,15 +1118,64 @@ class Data(GpgmeWrapper):
chunks.append(result)
return b''.join(chunks)
+def pubkey_algo_string(subkey):
+ """Return short algorithm string
+
+ Return a public key algorithm string (e.g. "rsa2048") for a given
+ SUBKEY.
+
+ Returns:
+ algo - a string
+
+ """
+ return gpgme.gpgme_pubkey_algo_string(subkey)
+
def pubkey_algo_name(algo):
+ """Return name of public key algorithm
+
+ Return the name of the public key algorithm for a given numeric
+ algorithm id ALGO (cf. RFC4880).
+
+ Returns:
+ algo - a string
+
+ """
return gpgme.gpgme_pubkey_algo_name(algo)
def hash_algo_name(algo):
+ """Return name of hash algorithm
+
+ Return the name of the hash algorithm for a given numeric
+ algorithm id ALGO (cf. RFC4880).
+
+ Returns:
+ algo - a string
+
+ """
return gpgme.gpgme_hash_algo_name(algo)
def get_protocol_name(proto):
+ """Get protocol description
+
+ Get the string describing protocol PROTO.
+
+ Returns:
+ proto - a string
+
+ """
return gpgme.gpgme_get_protocol_name(proto)
+def addrspec_from_uid(uid):
+ """Return the address spec
+
+ Return the addr-spec (cf. RFC2822 section 4.3) from a user id UID.
+
+ Returns:
+ addr_spec - a string
+
+ """
+ return gpgme.gpgme_addrspec_from_uid(uid)
+
def check_version(version=None):
return gpgme.gpgme_check_version(version)
diff --git a/lang/python/gpgme.i b/lang/python/gpgme.i
index dc691dde..c7fc14e0 100644
--- a/lang/python/gpgme.i
+++ b/lang/python/gpgme.i
@@ -113,6 +113,8 @@
/* Release returned buffers as necessary. */
%typemap(newfree) char * "gpgme_free($1);";
%newobject gpgme_data_release_and_get_mem;
+%newobject gpgme_pubkey_algo_string;
+%newobject gpgme_addrspec_from_uid;
%typemap(arginit) gpgme_key_t [] {
$1 = NULL;