diff options
| author | Ben McGinnes <[email protected]> | 2018-05-15 03:13:16 +0000 | 
|---|---|---|
| committer | Ben McGinnes <[email protected]> | 2018-05-15 03:13:16 +0000 | 
| commit | f0063afa71bc7e71f19d174acc2fde26f0c11850 (patch) | |
| tree | a23a33ef70f13747642a8c96e7128e41b5f7ce58 /lang/python/docs/dita/howto/part06 | |
| parent | json: Improve auto-base64 encoding to not split UTF-8 chars. (diff) | |
| download | gpgme-f0063afa71bc7e71f19d174acc2fde26f0c11850.tar.gz gpgme-f0063afa71bc7e71f19d174acc2fde26f0c11850.zip | |
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 <[email protected]>
Diffstat (limited to 'lang/python/docs/dita/howto/part06')
| -rw-r--r-- | lang/python/docs/dita/howto/part06/group-lines.dita | 47 | 
1 files changed, 47 insertions, 0 deletions
| 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 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE dita PUBLIC "-//OASIS//DTD DITA Composite//EN" "ditabase.dtd"> +<dita> +    <topic id="topic_gbm_bxz_5db"> +        <title>Group Lines</title> +        <body> +            <p>There is not yet an easy way to access groups configured in the +          <filepath>gpg.conf</filepath> file from within GPGME. As a consequence these central +        groupings of keys cannot be shared amongst multiple programs, such as MUAs readily.</p> +      <p>The following code, however, provides a work-around for obtaining this information in +        Python.</p> +      <p> +        <codeblock id="groups-1" outputclass="language-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() +</codeblock> +      </p> +      <p>The result of that code is that <codeph>group_lines</codeph> is a list of lists where +          <codeph>group_lines[i][0]</codeph> is the name of the group and +          <codeph>group_lines[i][1]</codeph> is the key IDs of the group as a string.</p> +      <p>The <codeph>group_lists</codeph> result is very similar in that it is a list of lists. The +        first part, <codeph>group_lists[i][0]</codeph> matches <codeph>group_lines[i][0]</codeph> as +        the name of the group, but <codeph>group_lists[i][1]</codeph> is the key IDs of the group as +        a string.</p> +      <p>To use this code as a module use:</p> +      <p> +        <codeblock id="groups-2" outputclass="language-python">from groups import group_lists</codeblock> +      </p> +        </body> +    </topic> +</dita> | 
