From f0063afa71bc7e71f19d174acc2fde26f0c11850 Mon Sep 17 00:00:00 2001 From: Ben McGinnes Date: Tue, 15 May 2018 13:13:16 +1000 Subject: docs: python bindings HOWTO - DITA XML version * Due to the org-babel bug which breaks Python source code examples beyond the most simple snippets, ported the HOWTO to a source format which I *know* for sure won't break it. * Details of the org-mode bug is in https://dev.gnupg.org/T3977 * DITA project uses DITA-OT 2.x (2.4 or 2.5, IIRC) with support for DITA 1.3. * source files were written with oXygenXML Editor 20.0, hence the oXygenXML project file in the directory; however only the .ditamap and .dita files are required to generate any output with the DITA-OT. Signed-off-by: Ben McGinnes --- .../python/docs/dita/howto/part06/group-lines.dita | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 lang/python/docs/dita/howto/part06/group-lines.dita (limited to 'lang/python/docs/dita/howto/part06') diff --git a/lang/python/docs/dita/howto/part06/group-lines.dita b/lang/python/docs/dita/howto/part06/group-lines.dita new file mode 100644 index 00000000..5a63d150 --- /dev/null +++ b/lang/python/docs/dita/howto/part06/group-lines.dita @@ -0,0 +1,47 @@ + + + + + Group Lines + +

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.

+

+ 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() + +

+

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.

+

To use this code as a module use:

+

+ from groups import group_lists +

+ +
+
-- cgit v1.2.3