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 <justus@g10code.com>
This commit is contained in:
Justus Winter 2017-02-14 16:30:30 +01:00
parent 9fc9533c28
commit 92adc9bbf6
No known key found for this signature in database
GPG Key ID: DD1A52F9DA8C9020
3 changed files with 56 additions and 3 deletions

6
NEWS
View File

@ -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.__init__ EXTENDED: New keyword arg home_dir.
py: Context.home_dir NEW.
py: Context.keylist EXTENDED: New keyword argument mode.
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)

View File

@ -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)

View File

@ -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;