doc: python bindings howto
* Added a miscellaneous work-arounds section at the end. * Included code in said miscellaneous section for accessing the groups specified in a gpg.conf file. * It's a bit ugly since it does require subprocess (but not call, Popen or shell access and only accesses one command).
This commit is contained in:
parent
36dfbdffea
commit
f81adeba99
@ -631,6 +631,56 @@
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
|
* Miscellaneous work-arounds
|
||||||
|
:PROPERTIES:
|
||||||
|
:CUSTOM_ID: cheats-and-hacks
|
||||||
|
:END:
|
||||||
|
|
||||||
|
** Group lines
|
||||||
|
:PROPERTIES:
|
||||||
|
:CUSTOM_ID: group-lines
|
||||||
|
:END:
|
||||||
|
|
||||||
|
There is not yet an easy way to access groups configured in the
|
||||||
|
gpg.conf file from within GPGME. As a consequence these central
|
||||||
|
groupings of keys cannot be shared amongst multiple programs, such
|
||||||
|
as MUAs readily.
|
||||||
|
|
||||||
|
The following code, however, provides a work-around for obtaining
|
||||||
|
this information in Python.
|
||||||
|
|
||||||
|
#+begin_src python
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
lines = subprocess.getoutput("gpgconf --list-options gpg").splitlines()
|
||||||
|
|
||||||
|
for i in range(len(lines)):
|
||||||
|
if lines[i].startswith("group") is True:
|
||||||
|
line = lines[i]
|
||||||
|
else:
|
||||||
|
pass
|
||||||
|
|
||||||
|
groups = line.split(":")[-1].replace('"', '').split(',')
|
||||||
|
|
||||||
|
group_lines = groups
|
||||||
|
for i in range(len(group_lines)):
|
||||||
|
group_lines[i] = group_lines[i].split("=")
|
||||||
|
|
||||||
|
group_lists = group_lines
|
||||||
|
for i in range(len(group_lists)):
|
||||||
|
group_lists[i][1] = group_lists[i][1].split()
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
The result of that code is that =group_lines= is a list of lists
|
||||||
|
where =group_lines[i][0]= is the name of the group and
|
||||||
|
=group_lines[i][1]= is the key IDs of the group as a string.
|
||||||
|
|
||||||
|
The =group_lists= result is very similar in that it is a list of
|
||||||
|
lists. The first part, =group_lists[i][0]= matches
|
||||||
|
=group_lines[i][0]= as the name of the group, but
|
||||||
|
=group_lists[i][1]= is the key IDs of the group as a string.
|
||||||
|
|
||||||
|
|
||||||
* Copyright and Licensing
|
* Copyright and Licensing
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:CUSTOM_ID: copyright-and-license
|
:CUSTOM_ID: copyright-and-license
|
||||||
|
Loading…
Reference in New Issue
Block a user