diff options
| author | Ben McGinnes <[email protected]> | 2019-01-27 04:57:53 +0100 |
|---|---|---|
| committer | Ben McGinnes <[email protected]> | 2019-01-27 04:57:53 +0100 |
| commit | 1e265723653042bc1010b457537b69a2011b43b7 (patch) | |
| tree | 26a6b8e266db592d627e52d50ecee37575579303 /lang/python/post_installer.py | |
| parent | json: Better use gpgme_free (diff) | |
| download | gpgme-1e265723653042bc1010b457537b69a2011b43b7.tar.gz gpgme-1e265723653042bc1010b457537b69a2011b43b7.zip | |
python: post installer docs fix script
* Moved post_installer.py into the examples/howto/ directory.
* Added instructions for its use to the Python Bindings HOWTO.
* Ran it as intended from the lang/python/ directory in order to both
prove it works and quickly and easily get the updated howto
replicated. Also to fix all those .texi files.
Tested-by: Ben McGinnes <[email protected]>
Signed-off-by: Ben McGinnes <[email protected]>
Diffstat (limited to 'lang/python/post_installer.py')
| -rwxr-xr-x | lang/python/post_installer.py | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/lang/python/post_installer.py b/lang/python/post_installer.py deleted file mode 100755 index b9fd36f2..00000000 --- a/lang/python/post_installer.py +++ /dev/null @@ -1,147 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- - -# Copyright (C) 2016-2018 g10 Code GmbH -# Copyright (C) 2015 Ben McGinnes <[email protected]> -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -from __future__ import absolute_import, print_function, unicode_literals - -import glob -import os -import os.path -import shutil -import subprocess -import sys -import sysconfig - -from shutil import which - -del absolute_import, print_function, unicode_literals - -try: - emacs = os.path.realpath(which("emacs")) -except TypeError as e: - emacs = None - -try: - makeinfo = os.path.realpath(which("makeinfo")) -except TypeError as e: - makeinfo = None - -try: - pandoc = os.path.realpath(which("pandoc")) -except TypeError as e: - pandoc = None - -try: - texinfo = os.path.realpath(which("texinfo")) -except TypeError as e: - texinfo = None - -docsrc = glob.glob('doc/src/**/*', recursive=True) - -for srcdoc in docsrc: - process = subprocess.Popen([emacs, srcdoc, "--batch", "-f", - "org-texinfo-export-to-texinfo", "--kill"], - stdout=subprocess.PIPE) - procom = process.communicate() - -doctexi1 = glob.glob('doc/src/**/*.texi', recursive=True) -doctexi2 = [] -doctexi3 = [] - -for texi in doctexi1: - doctexi2.append(os.path.realpath(texi)) - -for texdoc in doctexi2: - newtex = texdoc.replace("doc/src/", "doc/texinfo/") - doctexi3.append(newtex) - with open(texdoc, "r") as f: - badtex = f.read() - goodtex = badtex.replace("@documentencoding UTF-8\n", - "@documentencoding utf-8\n") - with open(newtex, "w") as f: - f.write(goodtex) - -for srcdoc in docsrc: - rstdoc = "{0}.rst".format(srcdoc.replace("doc/src/", "doc/rst/")) - process = subprocess.Popen([pandoc, "-f", "org", "-t", "rst+smart", "-o", - rstdoc, srcdoc], stdout=subprocess.PIPE) - procom = process.communicate() - -with open("doc/rst/index.rst", "r") as f: - genindex = f.readlines() - -indextop = ['.. GPGME Python Bindings documentation master file, created by\n', - ' sphinx-quickstart on Wed Dec 5 09:04:47 2018.\n', - ' You can adapt this file completely to your liking, but it should at least\n', - ' contain the root `toctree` directive.\n', '\n', - 'GPGME Python Bindings\n', '=====================\n', '\n', - '.. toctree::\n', ' :maxdepth: 3\n', ' :caption: Contents:\n', - '\n'] - -with open("doc/rst/index.rst", "w") as f: - for line in indextop: - f.write(line) - for line in genindex[5:]: - f.write(line) - -with open("doc/rst/Makefile", "w") as f: - f.write("""# Minimal makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -SOURCEDIR = . -BUILDDIR = _build - -# Put it first so that "make" without argument is like "make help". -help: - @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) - -.PHONY: help Makefile - -# Catch-all target: route all unknown targets to Sphinx using the new -# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). -%: Makefile - @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -""") - -info_path = os.path.realpath(sysconfig._PREFIX + "/share/info") -info_paths = os.environ["INFOPATH"].split(":") - -if info_paths.count(info_path) == 0: - info_paths.insert(0, info_path) -else: - pass - -for ipath in info_paths: - if os.path.exists(os.path.realpath(ipath)) is False: - info_paths.remove(ipath) - else: - pass - -print(""" -You may now build your preferred documentation format using either: - - 1. Sphinx in the doc/rst/ directory; and/or - 2. Texinfo or Makeinfo in the doc/texinfo/ directory. - -Alternatively the original Org mode source files can be found in the doc/src/ -directory. -""") |
