From fbc298dc1b0fbb51ebc92a9d56c45b78c5e9989d Mon Sep 17 00:00:00 2001 From: Ben McGinnes Date: Sun, 16 Dec 2018 17:12:21 +1100 Subject: [PATCH] python: howto and examples * Tightening up both the documentation and some of the example code. Tested-by: Ben McGinnes Signed-off-by: Ben McGinnes --- lang/python/doc/rst/gpgme-python-howto.rst | 32 ++++++++++--------- lang/python/doc/src/gpgme-python-howto | 32 ++++++++++--------- .../doc/texinfo/gpgme-python-howto.texi | 32 ++++++++++--------- lang/python/examples/howto/groups.py | 24 ++++++-------- 4 files changed, 61 insertions(+), 59 deletions(-) diff --git a/lang/python/doc/rst/gpgme-python-howto.rst b/lang/python/doc/rst/gpgme-python-howto.rst index 7843965a..be77bb79 100644 --- a/lang/python/doc/rst/gpgme-python-howto.rst +++ b/lang/python/doc/rst/gpgme-python-howto.rst @@ -367,7 +367,7 @@ needed, both by and in order to create, the bindings (including both the If specifying a selected number of languages to create bindings for, try to leave Python last. Currently the majority of the other language bindings are also preceding Python of either version when - listed alphabetically and so that just happens by default currently. + listed alphabetically (not counting the Qt bindings). If Python is set to precede one of the other languages then it is possible that the errors described here may interrupt the build @@ -376,6 +376,12 @@ needed, both by and in order to create, the bindings (including both the bindings separately with alternative ``configure`` steps for GPGME using the ``--enable-languages=$LANGUAGE`` option. + Alternatively ``make`` (or ``gmake``, depending on your platform) may + be run with the the ``-k`` option, which tells make to keep going + even if errors are encountered. In that case the failure of one + language\'s set of bindings to build should not hamper another + language\'s bindings to build. + .. _snafu-lessons-for-the-lazy: Reinstalling Responsibly @@ -2939,21 +2945,17 @@ information in Python. else: gpgconfcmd = "gpgconf --list-options gpg" - try: - lines = subprocess.getoutput(gpgconfcmd).splitlines() - except: - process = subprocess.Popen(gpgconfcmd.split(), stdout=subprocess.PIPE) - procom = process.communicate() - if sys.version_info[0] == 2: - lines = procom[0].splitlines() - else: - lines = procom[0].decode().splitlines() + process = subprocess.Popen(gpgconfcmd.split(), stdout=subprocess.PIPE) + procom = process.communicate() - for i in range(len(lines)): - if lines[i].startswith("group") is True: - line = lines[i] - else: - pass + if sys.version_info[0] == 2: + lines = procom[0].splitlines() + else: + lines = procom[0].decode().splitlines() + + for line in lines: + if line.startswith("group") is True: + break groups = line.split(":")[-1].replace('"', '').split(',') diff --git a/lang/python/doc/src/gpgme-python-howto b/lang/python/doc/src/gpgme-python-howto index 0c1239b9..91576805 100644 --- a/lang/python/doc/src/gpgme-python-howto +++ b/lang/python/doc/src/gpgme-python-howto @@ -397,7 +397,7 @@ both by and in order to create, the bindings (including both the If specifying a selected number of languages to create bindings for, try to leave Python last. Currently the majority of the other language bindings are also preceding Python of either version when -listed alphabetically and so that just happens by default currently. +listed alphabetically (not counting the Qt bindings). If Python is set to precede one of the other languages then it is possible that the errors described here may interrupt the build @@ -406,6 +406,12 @@ these cases it may be preferable to configure all preferred language bindings separately with alternative =configure= steps for GPGME using the =--enable-languages=$LANGUAGE= option. +Alternatively =make= (or =gmake=, depending on your platform) may be +run with the the =-k= option, which tells make to keep going even if +errors are encountered. In that case the failure of one language's +set of bindings to build should not hamper another language's bindings +to build. + *** Reinstalling Responsibly :PROPERTIES: @@ -3000,21 +3006,17 @@ if sys.platform == "win32": else: gpgconfcmd = "gpgconf --list-options gpg" -try: - lines = subprocess.getoutput(gpgconfcmd).splitlines() -except: - process = subprocess.Popen(gpgconfcmd.split(), stdout=subprocess.PIPE) - procom = process.communicate() - if sys.version_info[0] == 2: - lines = procom[0].splitlines() - else: - lines = procom[0].decode().splitlines() +process = subprocess.Popen(gpgconfcmd.split(), stdout=subprocess.PIPE) +procom = process.communicate() -for i in range(len(lines)): - if lines[i].startswith("group") is True: - line = lines[i] - else: - pass +if sys.version_info[0] == 2: + lines = procom[0].splitlines() +else: + lines = procom[0].decode().splitlines() + +for line in lines: + if line.startswith("group") is True: + break groups = line.split(":")[-1].replace('"', '').split(',') diff --git a/lang/python/doc/texinfo/gpgme-python-howto.texi b/lang/python/doc/texinfo/gpgme-python-howto.texi index 552ef91b..7d505b4e 100644 --- a/lang/python/doc/texinfo/gpgme-python-howto.texi +++ b/lang/python/doc/texinfo/gpgme-python-howto.texi @@ -566,7 +566,7 @@ IMPORTANT Note If specifying a selected number of languages to create bindings for, try to leave Python last. Currently the majority of the other language bindings are also preceding Python of either version when -listed alphabetically and so that just happens by default currently. +listed alphabetically (not counting the Qt bindings). If Python is set to precede one of the other languages then it is possible that the errors described here may interrupt the build @@ -574,6 +574,12 @@ process before generating bindings for those other languages. In these cases it may be preferable to configure all preferred language bindings separately with alternative @samp{configure} steps for GPGME using the @samp{--enable-languages=$LANGUAGE} option. + +Alternatively @samp{make} (or @samp{gmake}, depending on your platform) may be +run with the the @samp{-k} option, which tells make to keep going even if +errors are encountered. In that case the failure of one language's +set of bindings to build should not hamper another language's bindings +to build. @end enumerate @node Reinstalling Responsibly @@ -3139,21 +3145,17 @@ if sys.platform == "win32": else: gpgconfcmd = "gpgconf --list-options gpg" -try: - lines = subprocess.getoutput(gpgconfcmd).splitlines() -except: - process = subprocess.Popen(gpgconfcmd.split(), stdout=subprocess.PIPE) - procom = process.communicate() - if sys.version_info[0] == 2: - lines = procom[0].splitlines() - else: - lines = procom[0].decode().splitlines() +process = subprocess.Popen(gpgconfcmd.split(), stdout=subprocess.PIPE) +procom = process.communicate() -for i in range(len(lines)): - if lines[i].startswith("group") is True: - line = lines[i] - else: - pass +if sys.version_info[0] == 2: + lines = procom[0].splitlines() +else: + lines = procom[0].decode().splitlines() + +for line in lines: + if line.startswith("group") is True: + break groups = line.split(":")[-1].replace('"', '').split(',') diff --git a/lang/python/examples/howto/groups.py b/lang/python/examples/howto/groups.py index 0418abd7..98659cce 100644 --- a/lang/python/examples/howto/groups.py +++ b/lang/python/examples/howto/groups.py @@ -37,21 +37,17 @@ if sys.platform == "win32": else: gpgconfcmd = "gpgconf --list-options gpg" -try: - lines = subprocess.getoutput(gpgconfcmd).splitlines() -except: - process = subprocess.Popen(gpgconfcmd.split(), stdout=subprocess.PIPE) - procom = process.communicate() - if sys.version_info[0] == 2: - lines = procom[0].splitlines() - else: - lines = procom[0].decode().splitlines() +process = subprocess.Popen(gpgconfcmd.split(), stdout=subprocess.PIPE) +procom = process.communicate() -for i in range(len(lines)): - if lines[i].startswith("group") is True: - line = lines[i] - else: - pass +if sys.version_info[0] == 2: + lines = procom[0].splitlines() +else: + lines = procom[0].decode().splitlines() + +for line in lines: + if line.startswith("group") is True: + break groups = line.split(":")[-1].replace('"', '').split(',')