diff options
| author | Ben McGinnes <[email protected]> | 2018-03-12 21:26:22 +0000 | 
|---|---|---|
| committer | Ben McGinnes <[email protected]> | 2018-03-12 21:26:22 +0000 | 
| commit | f81adeba992a9fd3b5a199e9a2e242a0f53cf639 (patch) | |
| tree | 5e65d857273893b19f12fc8a937038d0744a8e00 /lang/python/docs/GPGMEpythonHOWTOen.org | |
| parent | doc: python bindings howto (diff) | |
| download | gpgme-f81adeba992a9fd3b5a199e9a2e242a0f53cf639.tar.gz gpgme-f81adeba992a9fd3b5a199e9a2e242a0f53cf639.zip | |
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).
Diffstat (limited to 'lang/python/docs/GPGMEpythonHOWTOen.org')
| -rw-r--r-- | lang/python/docs/GPGMEpythonHOWTOen.org | 50 | 
1 files changed, 50 insertions, 0 deletions
| diff --git a/lang/python/docs/GPGMEpythonHOWTOen.org b/lang/python/docs/GPGMEpythonHOWTOen.org index 979ffa0a..4d02f97b 100644 --- a/lang/python/docs/GPGMEpythonHOWTOen.org +++ b/lang/python/docs/GPGMEpythonHOWTOen.org @@ -631,6 +631,56 @@     #+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    :PROPERTIES:    :CUSTOM_ID: copyright-and-license | 
