From 188240edae04d7e6a3156cecf84e1a9acb8349c1 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sat, 19 Aug 2017 20:57:01 +0300 Subject: Drop: doc/ because it's unmaintained and useless --- doc/Makefile | 89 ------------------------ doc/conf.py | 196 ---------------------------------------------------- doc/example.rst | 30 -------- doc/index.rst | 52 -------------- doc/logging.rst | 6 -- doc/manpages.rst | 19 ----- doc/profiling.rst | 8 --- doc/refman.rst | 10 --- doc/subcommands.rst | 34 --------- doc/walkthrough.rst | 28 -------- 10 files changed, 472 deletions(-) delete mode 100644 doc/Makefile delete mode 100644 doc/conf.py delete mode 100644 doc/example.rst delete mode 100644 doc/index.rst delete mode 100644 doc/logging.rst delete mode 100644 doc/manpages.rst delete mode 100644 doc/profiling.rst delete mode 100644 doc/refman.rst delete mode 100644 doc/subcommands.rst delete mode 100644 doc/walkthrough.rst diff --git a/doc/Makefile b/doc/Makefile deleted file mode 100644 index 76c32fc..0000000 --- a/doc/Makefile +++ /dev/null @@ -1,89 +0,0 @@ -# Makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -PAPER = -BUILDDIR = _build - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . - -.PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest - -help: - @echo "Please use \`make ' where is one of" - @echo " html to make standalone HTML files" - @echo " dirhtml to make HTML files named index.html in directories" - @echo " pickle to make pickle files" - @echo " json to make JSON files" - @echo " htmlhelp to make HTML files and a HTML help project" - @echo " qthelp to make HTML files and a qthelp project" - @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" - @echo " changes to make an overview of all changed/added/deprecated items" - @echo " linkcheck to check all external links for integrity" - @echo " doctest to run all doctests embedded in the documentation (if enabled)" - -clean: - -rm -rf $(BUILDDIR)/* - -html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." - -dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." - -pickle: - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -json: - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json - @echo - @echo "Build finished; now you can process the JSON files." - -htmlhelp: - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp - @echo - @echo "Build finished; now you can run HTML Help Workshop with the" \ - ".hhp project file in $(BUILDDIR)/htmlhelp." - -qthelp: - $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp - @echo - @echo "Build finished; now you can run "qcollectiongenerator" with the" \ - ".qhcp project file in $(BUILDDIR)/qthelp, like this:" - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/cliapp.qhcp" - @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/cliapp.qhc" - -latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo - @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." - @echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \ - "run these through (pdf)latex." - -changes: - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes - @echo - @echo "The overview file is in $(BUILDDIR)/changes." - -linkcheck: - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in $(BUILDDIR)/linkcheck/output.txt." - -doctest: - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in $(BUILDDIR)/doctest/output.txt." diff --git a/doc/conf.py b/doc/conf.py deleted file mode 100644 index e08ecdf..0000000 --- a/doc/conf.py +++ /dev/null @@ -1,196 +0,0 @@ -# -*- coding: utf-8 -*- -# -# cliapp documentation build configuration file, created by -# sphinx-quickstart on Sun May 29 13:50:03 2011. -# -# This file is execfile()d with the current directory set to its containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -import sys, os - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -sys.path.insert(0, os.path.abspath('..')) - -import cliapp - -# -- General configuration ----------------------------------------------------- - -# Add any Sphinx extension module names here, as strings. They can be extensions -# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['sphinx.ext.autodoc'] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# The suffix of source filenames. -source_suffix = '.rst' - -# The encoding of source files. -#source_encoding = 'utf-8' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = u'cliapp' -copyright = u'2011, Lars Wirzenius' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -version = cliapp.__version__ -# The full version, including alpha/beta/rc tags. -release = version - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -#language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - -# List of documents that shouldn't be included in the build. -#unused_docs = [] - -# List of directories, relative to source directory, that shouldn't be searched -# for source files. -exclude_trees = ['_build'] - -# The reST default role (used for this markup: `text`) to use for all documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - -# A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] - - -# -- Options for HTML output --------------------------------------------------- - -# The theme to use for HTML and HTML Help pages. Major themes that come with -# Sphinx are currently 'default' and 'sphinxdoc'. -html_theme = 'default' - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -#html_theme_options = {} - -# Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -#html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -#html_logo = None - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -#html_favicon = None - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_use_modindex = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = '' - -# Output file base name for HTML help builder. -htmlhelp_basename = 'cliappdoc' - - -# -- Options for LaTeX output -------------------------------------------------- - -# The paper size ('letter' or 'a4'). -#latex_paper_size = 'letter' - -# The font size ('10pt', '11pt' or '12pt'). -#latex_font_size = '10pt' - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, author, documentclass [howto/manual]). -latex_documents = [ - ('index', 'cliapp.tex', u'cliapp Documentation', - u'Lars Wirzenius', 'manual'), -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False - -# Additional stuff for the LaTeX preamble. -#latex_preamble = '' - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_use_modindex = True diff --git a/doc/example.rst b/doc/example.rst deleted file mode 100644 index ee5882f..0000000 --- a/doc/example.rst +++ /dev/null @@ -1,30 +0,0 @@ -Example -======= - -:: - - class ExampleApp(cliapp.Application): - - def add_settings(self): - self.settings.string_list(['pattern', 'e'], - 'search for regular expression PATTERN', - metavar='REGEXP') - - # We override process_inputs to be able to do something after the last - # input line. - def process_inputs(self, args): - self.matches = 0 - cliapp.Application.process_inputs(self, args) - self.output.write('There were %s matches.\\n' % self.matches) - - def process_input_line(self, name, line): - for pattern in self.settings['pattern']: - if pattern in line: - self.output.write('%s:%s: %s' % (name, self.lineno, line)) - self.matches += 1 - logging.debug('Match: %s line %d' % (name, self.lineno)) - - - if __name__ == '__main__': - ExampleApp().run() - diff --git a/doc/index.rst b/doc/index.rst deleted file mode 100644 index c213294..0000000 --- a/doc/index.rst +++ /dev/null @@ -1,52 +0,0 @@ -Welcome to cliapp -================= - -``cliapp`` is a Python framework for Unix-like command line programs, -which typically have the following characteristics: - -* non-interactive -* the programs read input files named on the command line, - or the standard input -* each line of input is processed individually -* output is to the standard output -* there are various options to modify how the program works -* certain options are common to all: ``--help``, ``--version`` - -Programs like the above are often used as filters in a pipeline. -The scaffolding to set up a command line parser, open each input -file, read each line of input, etc, is the same in each program. -Only the logic of what to do with each line differs. - -``cliapp`` is not restricted to line-based filters, but is a more -general framework. It provides ways for its users to override -most behavior. For example: - -* you can treat command line arguments as URLs, or record identfiers - in a database, or whatever you like -* you can read input files in whatever chunks you like, or not at all, - rather than forcing a line-based paradigm - -Despite all the flexibility, writing simple line-based filters -remains very straightforward. The point is to get the framework to -do all the usual things, and avoid repeating code across users of the -framework. - -.. toctree:: - :numbered: - - example - walkthrough - logging - subcommands - manpages - profiling - refman - - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` - diff --git a/doc/logging.rst b/doc/logging.rst deleted file mode 100644 index 1eed1de..0000000 --- a/doc/logging.rst +++ /dev/null @@ -1,6 +0,0 @@ -Logging -======= - -Logging support: by default, no log file is written, it must be -requested explicitly by the user. The default log level is info. - diff --git a/doc/manpages.rst b/doc/manpages.rst deleted file mode 100644 index 3d3af26..0000000 --- a/doc/manpages.rst +++ /dev/null @@ -1,19 +0,0 @@ -Manual pages -============ - -``cliapp`` provides a way to fill in a manual page template, in -**troff** format, with information about all options. This -allows you to write the rest of the manual page without having -to remember to update all options. This is a compromise between -ease-of-development and manual page quality. - -A high quality manual page probably needs to be written from -scratch. For example, the description of each option in a manual -page should usually be longer than what is suitable for -``--help`` output. However, it is tedious to write option -descriptions many times. - -To use this, use the ``--generate-manpage=TEMPLATE`` option, -where ``TEMPLATE`` is the name of the template file. See -``example.1`` in the ``cliapp`` source tree for an example. - diff --git a/doc/profiling.rst b/doc/profiling.rst deleted file mode 100644 index 243fbce..0000000 --- a/doc/profiling.rst +++ /dev/null @@ -1,8 +0,0 @@ -Profiling support -================= - -If ``sys.argv[0]`` is ``foo``, and the environment -variable ``FOO_PROFILE`` is set, then the execution of the -application (the ``run`` method) is profiled, using ``cProfile``, and -the profile written to the file named in the environment variable. - diff --git a/doc/refman.rst b/doc/refman.rst deleted file mode 100644 index be16cf9..0000000 --- a/doc/refman.rst +++ /dev/null @@ -1,10 +0,0 @@ -Reference manual -================ - -.. automodule:: cliapp - :members: - :undoc-members: - :exclude-members: add_boolean_setting, add_bytesize_setting, - add_choice_setting, add_integer_setting, add_string_list_setting, - add_string_setting, config_files - diff --git a/doc/subcommands.rst b/doc/subcommands.rst deleted file mode 100644 index 02d653d..0000000 --- a/doc/subcommands.rst +++ /dev/null @@ -1,34 +0,0 @@ -Subcommands -=========== - -Sometimes a command line tool needs to support subcommands. -For example, version control tools often do this: -``git commit``, ``git clone``, etc. To do this with ``cliapp``, -you need to add methods with names like ``cmd_commit`` and -``cmd_clone``:: - - class VersionControlTool(cliapp.Application): - - def cmd_commit(self, args): - '''commit command description''' - pass - def cmd_clone(self, args): - '''clone command description''' - pass - -If any such methods exist, ``cliapp`` automatically supports -subcommands. The name of the method, without the ``cmd_`` prefix, -forms the name of the subcommand. Any underscores in the method -name get converted to dashes in the command line. Case is -preserved. - -Subcommands may also be added using the ``add_subcommand`` method. - -All options are global, not specific to the subcommand. -All non-option arguments are passed to the method in its only -argument. - -Subcommands are implemented by the ``process_args`` method. -If you override that method, you need to support subcommands -yourself (perhaps by calling the ``cliapp`` implementation). - diff --git a/doc/walkthrough.rst b/doc/walkthrough.rst deleted file mode 100644 index e15a10a..0000000 --- a/doc/walkthrough.rst +++ /dev/null @@ -1,28 +0,0 @@ -Walkthrough -=========== - -Every application should be a class that subclasses ``cliapp.Application``. -The subclass should provide specific methods. Read the documentation -for the ``cliapp.Application`` class to see all methods, but a rough -summary is here: - -* the ``settings`` attribute is the ``cliapp.Settings`` instance used by - the application -* override ``add_settings`` to add new settings for the application -* override ``process_*`` methods to override various stages in how - arguments and input files are processed -* override ``process_args`` to decide how each argument is processed; - by default, this called ``process_inputs`` or handles subcommands -* ``process_inputs`` calls ``process_input`` (note singular) for each - argument, or on ``-`` to process standard input if no files are named - on the command line -* ``process_input`` calls ``open_input`` to open each file, then calls - ``process_input_line`` for each input line -* ``process_input_line`` does nothing, by default - -This cascade of overrideable methods is started by the `run` -method, which also sets up logging, loads configuration files, -parses the command line, and handles reporting of exceptions. -It can also run the rest of the code under the Python profiler, -if the appropriate environment variable is set. - -- cgit v1.2.1