gpgme/lang/python/docs/dita/howto/part06/group-lines.dita
Ben McGinnes 34308fe1fc docs: python bindings howto DITA
* Updated the example code for the groups work around to actually do
  what the documentation said (instead of having all results match
  group_lists).
2018-05-25 05:29:24 +10:00

50 lines
2.0 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dita PUBLIC "-//OASIS//DTD DITA Composite//EN" "ditabase.dtd">
<dita xml:lang="en-GB">
<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 = []
group_lists = []
for i in range(len(groups)):
group_lines.append(groups[i].split("="))
group_lists.append(groups[i].split("="))
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>