mirror of
https://github.com/psycopg/psycopg2.git
synced 2024-11-25 10:23:43 +03:00
Generate text documentation in a single file.
This commit is contained in:
parent
a1fa06e6d8
commit
620f77cb77
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -8,3 +8,4 @@ dist/*
|
||||||
build/*
|
build/*
|
||||||
doc/_build/*
|
doc/_build/*
|
||||||
doc/html/*
|
doc/html/*
|
||||||
|
doc/psycopg2.txt
|
||||||
|
|
|
@ -17,7 +17,7 @@ ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
||||||
|
|
||||||
.PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest
|
.PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest
|
||||||
|
|
||||||
doc: html
|
all: html text
|
||||||
|
|
||||||
check: doctest
|
check: doctest
|
||||||
|
|
||||||
|
@ -48,6 +48,12 @@ dirhtml:
|
||||||
@echo
|
@echo
|
||||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
|
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
|
||||||
|
|
||||||
|
text:
|
||||||
|
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
|
||||||
|
tools/stitch_text.py index.rst $(BUILDDIR)/text > psycopg2.txt
|
||||||
|
@echo
|
||||||
|
@echo "Build finished. The text file is psycopg2.txt."
|
||||||
|
|
||||||
pickle:
|
pickle:
|
||||||
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
|
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
|
||||||
@echo
|
@echo
|
||||||
|
|
|
@ -40,6 +40,15 @@ Contents:
|
||||||
extras
|
extras
|
||||||
errorcodes
|
errorcodes
|
||||||
|
|
||||||
|
|
||||||
|
.. ifconfig:: builder != 'text'
|
||||||
|
|
||||||
|
.. rubric:: Indices and tables
|
||||||
|
|
||||||
|
* :ref:`genindex`
|
||||||
|
* :ref:`search`
|
||||||
|
|
||||||
|
|
||||||
.. ifconfig:: todo_include_todos
|
.. ifconfig:: todo_include_todos
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
@ -48,11 +57,3 @@ Contents:
|
||||||
|
|
||||||
.. todolist::
|
.. todolist::
|
||||||
|
|
||||||
|
|
||||||
Indices and tables
|
|
||||||
==================
|
|
||||||
|
|
||||||
* :ref:`genindex`
|
|
||||||
* :ref:`search`
|
|
||||||
|
|
||||||
|
|
||||||
|
|
56
doc/tools/stitch_text.py
Executable file
56
doc/tools/stitch_text.py
Executable file
|
@ -0,0 +1,56 @@
|
||||||
|
#! /usr/bin/env python
|
||||||
|
"""A script to stitch together the generated text files in the correct order.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
def main():
|
||||||
|
if len(sys.argv) != 3:
|
||||||
|
print >>sys.stderr, "usage: %s index.rst text-dir"
|
||||||
|
return 2
|
||||||
|
|
||||||
|
_, index, txt_dir = sys.argv
|
||||||
|
|
||||||
|
for fb in iter_file_base(index):
|
||||||
|
emit(fb, txt_dir)
|
||||||
|
|
||||||
|
return 0
|
||||||
|
|
||||||
|
def iter_file_base(fn):
|
||||||
|
have_line = iter(open(fn)).next
|
||||||
|
|
||||||
|
while not have_line().startswith('.. toctree'):
|
||||||
|
pass
|
||||||
|
while have_line().strip().startswith(':'):
|
||||||
|
pass
|
||||||
|
|
||||||
|
yield os.path.splitext(os.path.basename(fn))[0]
|
||||||
|
|
||||||
|
n = 0
|
||||||
|
while 1:
|
||||||
|
line = have_line()
|
||||||
|
if line.isspace():
|
||||||
|
continue
|
||||||
|
if line.startswith(".."):
|
||||||
|
break
|
||||||
|
n += 1
|
||||||
|
yield line.strip()
|
||||||
|
|
||||||
|
if n < 5:
|
||||||
|
# maybe format changed?
|
||||||
|
raise Exception("Not enough files found. Format change in index.rst?")
|
||||||
|
|
||||||
|
def emit(basename, txt_dir):
|
||||||
|
for line in open(os.path.join(txt_dir, basename + ".txt")):
|
||||||
|
line = line.replace("``", "'")
|
||||||
|
sys.stdout.write(line)
|
||||||
|
|
||||||
|
# some space between sections
|
||||||
|
print
|
||||||
|
print
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
sys.exit(main())
|
||||||
|
|
Loading…
Reference in New Issue
Block a user