jenkins-bot has submitted this change and it was merged.
Change subject: Sphinx documentation ......................................................................
Sphinx documentation
Autodoc documentation, using sphinx-epytext to support epytext fields, and some custom docstring alterations to improve the layout when parsed as rst.
Runs on Python 3.4 only, using Sphinx 1.3, and results in http://pywikibot.readthedocs.org/en/latest/
Bug: T66846 Change-Id: I900d3ee3ae9d8032a021db326c6a72b8b1ddf11e --- A docs/Makefile A docs/api_ref/index.rst A docs/api_ref/pywikibot.comms.rst A docs/api_ref/pywikibot.compat.rst A docs/api_ref/pywikibot.data.rst A docs/api_ref/pywikibot.families.rst A docs/api_ref/pywikibot.rst A docs/api_ref/pywikibot.userinterfaces.rst A docs/api_ref/tests/api_tests.rst A docs/api_ref/tests/archivebot_tests.rst A docs/api_ref/tests/data_ingestion_tests.rst A docs/api_ref/tests/date_tests.rst A docs/api_ref/tests/deprecation_tests.rst A docs/api_ref/tests/dry_api_tests.rst A docs/api_ref/tests/dry_site_tests.rst A docs/api_ref/tests/edit_failure_tests.rst A docs/api_ref/tests/family_tests.rst A docs/api_ref/tests/file_tests.rst A docs/api_ref/tests/http_tests.rst A docs/api_ref/tests/i18n_tests.rst A docs/api_ref/tests/index.rst A docs/api_ref/tests/interwiki_link_tests.rst A docs/api_ref/tests/ipregex_tests.rst A docs/api_ref/tests/link_tests.rst A docs/api_ref/tests/mediawikiversion_tests.rst A docs/api_ref/tests/namespace_tests.rst A docs/api_ref/tests/page_tests.rst A docs/api_ref/tests/pagegenerators_tests.rst A docs/api_ref/tests/pwb_tests.rst A docs/api_ref/tests/script_tests.rst A docs/api_ref/tests/site_tests.rst A docs/api_ref/tests/textlib_tests.rst A docs/api_ref/tests/thread_tests.rst A docs/api_ref/tests/timestripper_tests.rst A docs/api_ref/tests/ui_tests.rst A docs/api_ref/tests/upload_tests.rst A docs/api_ref/tests/weblib_tests.rst A docs/api_ref/tests/wikibase_edit_tests.rst A docs/api_ref/tests/wikibase_tests.rst A docs/api_ref/tests/wikidataquery_tests.rst A docs/api_ref/tests/wikistats_tests.rst A docs/api_ref/tests/xmlreader_tests.rst A docs/conf.py A docs/credits.rst A docs/getting_help.rst A docs/index.rst A docs/installation.rst A docs/library_usage.rst A docs/licenses.rst A docs/make.bat A docs/requirements-py3.txt A docs/scripts.maintenance.rst M tox.ini 53 files changed, 2,054 insertions(+), 0 deletions(-)
Approvals: Legoktm: Looks good to me, approved jenkins-bot: Verified
diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000..29248dc --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,153 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = -a +SPHINXBUILD = python3.4 `which 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) . +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext + +help: + @echo "Please use `make <target>' where <target> is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @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 " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @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." + +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +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/Pywikibot.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Pywikibot.qhc" + +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/Pywikibot" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Pywikibot" + @echo "# devhelp" + +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run `make' in that directory to run these through (pdf)latex" \ + "(use `make latexpdf' here to do that automatically)." + +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run `make' in that directory to run these through makeinfo" \ + "(use `make info' here to do that automatically)." + +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +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/docs/api_ref/index.rst b/docs/api_ref/index.rst new file mode 100644 index 0000000..329b2c3 --- /dev/null +++ b/docs/api_ref/index.rst @@ -0,0 +1,27 @@ +API reference +------------- + +High-level request structure +============================ + +User code mainly interacts with :class:`pywikibot.Page` objects, which represent +pages on a specific wiki. These objects get their properties by calling functions +on their associated :class:`pywikibot.Site` object, which represents a specific +wiki. + +The :class:`pywikibot.Site` object then calls the MediaWiki API using the +functions provided by :mod:`pywikibot.data.api`. This layer then uses :func:`pywikibot.comms.http.request` +to do the actual HTTP request. + +Contents +======== + +.. toctree:: + :glob: + + * + +Test documentation +================== +#. :doc:`tests/index` + diff --git a/docs/api_ref/pywikibot.comms.rst b/docs/api_ref/pywikibot.comms.rst new file mode 100644 index 0000000..072809f --- /dev/null +++ b/docs/api_ref/pywikibot.comms.rst @@ -0,0 +1,27 @@ +comms Package +============= + +:mod:`comms` Package +-------------------- + +.. automodule:: pywikibot.comms + :members: + :undoc-members: + :show-inheritance: + +:mod:`http` Module +------------------ + +.. automodule:: pywikibot.comms.http + :members: + :undoc-members: + :show-inheritance: + +:mod:`threadedhttp` Module +-------------------------- + +.. automodule:: pywikibot.comms.threadedhttp + :members: + :undoc-members: + :show-inheritance: + diff --git a/docs/api_ref/pywikibot.compat.rst b/docs/api_ref/pywikibot.compat.rst new file mode 100644 index 0000000..159f682 --- /dev/null +++ b/docs/api_ref/pywikibot.compat.rst @@ -0,0 +1,35 @@ +compat Package +============== + +:mod:`compat` Package +--------------------- + +.. automodule:: pywikibot.compat + :members: + :undoc-members: + :show-inheritance: + +:mod:`catlib` Module +-------------------- + +.. automodule:: pywikibot.compat.catlib + :members: + :undoc-members: + :show-inheritance: + +:mod:`query` Module +------------------- + +.. automodule:: pywikibot.compat.query + :members: + :undoc-members: + :show-inheritance: + +:mod:`userlib` Module +--------------------- + +.. automodule:: pywikibot.compat.userlib + :members: + :undoc-members: + :show-inheritance: + diff --git a/docs/api_ref/pywikibot.data.rst b/docs/api_ref/pywikibot.data.rst new file mode 100644 index 0000000..f14fd1e --- /dev/null +++ b/docs/api_ref/pywikibot.data.rst @@ -0,0 +1,27 @@ +data Package +============ + +:mod:`data` Package +------------------- + +.. automodule:: pywikibot.data + :members: + :undoc-members: + :show-inheritance: + +:mod:`api` Module +----------------- + +.. automodule:: pywikibot.data.api + :members: + :undoc-members: + :show-inheritance: + +:mod:`wikidataquery` Module +--------------------------- + +.. automodule:: pywikibot.data.wikidataquery + :members: + :undoc-members: + :show-inheritance: + diff --git a/docs/api_ref/pywikibot.families.rst b/docs/api_ref/pywikibot.families.rst new file mode 100644 index 0000000..6fad2d9 --- /dev/null +++ b/docs/api_ref/pywikibot.families.rst @@ -0,0 +1,235 @@ +families Package +================ + +:mod:`families` Package +----------------------- + +.. automodule:: pywikibot.families + :members: + :undoc-members: + :show-inheritance: + +:mod:`anarchopedia_family` Module +--------------------------------- + +.. automodule:: pywikibot.families.anarchopedia_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`battlestarwiki_family` Module +----------------------------------- + +.. automodule:: pywikibot.families.battlestarwiki_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`commons_family` Module +---------------------------- + +.. automodule:: pywikibot.families.commons_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`i18n_family` Module +------------------------- + +.. automodule:: pywikibot.families.i18n_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`incubator_family` Module +------------------------------ + +.. automodule:: pywikibot.families.incubator_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`lyricwiki_family` Module +------------------------------ + +.. automodule:: pywikibot.families.lyricwiki_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`mediawiki_family` Module +------------------------------ + +.. automodule:: pywikibot.families.mediawiki_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`meta_family` Module +------------------------- + +.. automodule:: pywikibot.families.meta_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`omegawiki_family` Module +------------------------------ + +.. automodule:: pywikibot.families.omegawiki_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`osm_family` Module +------------------------ + +.. automodule:: pywikibot.families.osm_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`outreach_family` Module +----------------------------- + +.. automodule:: pywikibot.families.outreach_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`species_family` Module +---------------------------- + +.. automodule:: pywikibot.families.species_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`strategy_family` Module +----------------------------- + +.. automodule:: pywikibot.families.strategy_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`test_family` Module +------------------------- + +.. automodule:: pywikibot.families.test_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`vikidia_family` Module +---------------------------- + +.. automodule:: pywikibot.families.vikidia_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`wikia_family` Module +-------------------------- + +.. automodule:: pywikibot.families.wikia_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`wikibooks_family` Module +------------------------------ + +.. automodule:: pywikibot.families.wikibooks_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`wikidata_family` Module +----------------------------- + +.. automodule:: pywikibot.families.wikidata_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`wikimedia_family` Module +------------------------------ + +.. automodule:: pywikibot.families.wikimedia_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`wikinews_family` Module +----------------------------- + +.. automodule:: pywikibot.families.wikinews_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`wikipedia_family` Module +------------------------------ + +.. automodule:: pywikibot.families.wikipedia_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`wikiquote_family` Module +------------------------------ + +.. automodule:: pywikibot.families.wikiquote_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`wikisource_family` Module +------------------------------- + +.. automodule:: pywikibot.families.wikisource_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`wikitech_family` Module +----------------------------- + +.. automodule:: pywikibot.families.wikitech_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`wikiversity_family` Module +-------------------------------- + +.. automodule:: pywikibot.families.wikiversity_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`wikivoyage_family` Module +------------------------------- + +.. automodule:: pywikibot.families.wikivoyage_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`wiktionary_family` Module +------------------------------- + +.. automodule:: pywikibot.families.wiktionary_family + :members: + :undoc-members: + :show-inheritance: + +:mod:`wowwiki_family` Module +---------------------------- + +.. automodule:: pywikibot.families.wowwiki_family + :members: + :undoc-members: + :show-inheritance: + diff --git a/docs/api_ref/pywikibot.rst b/docs/api_ref/pywikibot.rst new file mode 100644 index 0000000..8af3ac0 --- /dev/null +++ b/docs/api_ref/pywikibot.rst @@ -0,0 +1,224 @@ +pywikibot Package +================= + +:mod:`pywikibot` Package +------------------------ + +.. automodule:: pywikibot.__init__ + :members: + :undoc-members: + :show-inheritance: + +:mod:`bot` Module +----------------- + +.. automodule:: pywikibot.bot + :members: + :undoc-members: + :show-inheritance: + +:mod:`botirc` Module +-------------------- + +.. automodule:: pywikibot.botirc + :members: + :undoc-members: + :show-inheritance: + +:mod:`config2` Module +--------------------- + +.. automodule:: pywikibot.config2 + :members: + :undoc-members: + :show-inheritance: + +:mod:`date` Module +------------------ + +.. automodule:: pywikibot.date + :members: + :undoc-members: + :show-inheritance: + +:mod:`diff` Module +------------------ + +.. automodule:: pywikibot.diff + :members: + :undoc-members: + :show-inheritance: + +:mod:`echo` Module +------------------ + +.. automodule:: pywikibot.echo + :members: + :undoc-members: + :show-inheritance: + +:mod:`editor` Module +-------------------- + +.. automodule:: pywikibot.editor + :members: + :undoc-members: + :show-inheritance: + +:mod:`exceptions` Module +------------------------ + +.. automodule:: pywikibot.exceptions + :members: + :undoc-members: + :show-inheritance: + +:mod:`family` Module +-------------------- + +.. automodule:: pywikibot.family + :members: + :undoc-members: + :show-inheritance: + +:mod:`fixes` Module +------------------- + +.. automodule:: pywikibot.fixes + :members: + :undoc-members: + :show-inheritance: + +:mod:`i18n` Module +------------------ + +.. automodule:: pywikibot.i18n + :members: + :undoc-members: + :show-inheritance: + +:mod:`interwiki_graph` Module +----------------------------- + +.. automodule:: pywikibot.interwiki_graph + :members: + :undoc-members: + :show-inheritance: + +:mod:`logentries` Module +------------------------ + +.. automodule:: pywikibot.logentries + :members: + :undoc-members: + :show-inheritance: + +:mod:`login` Module +------------------- + +.. automodule:: pywikibot.login + :members: + :undoc-members: + :show-inheritance: + +:mod:`page` Module +------------------ + +.. automodule:: pywikibot.page + :members: + :undoc-members: + :show-inheritance: + +:mod:`pagegenerators` Module +---------------------------- + +.. automodule:: pywikibot.pagegenerators + :members: + :undoc-members: + :show-inheritance: + +:mod:`plural` Module +-------------------- + +.. automodule:: pywikibot.plural + :members: + :undoc-members: + :show-inheritance: + +:mod:`site` Module +------------------ + +.. automodule:: pywikibot.site + :members: + :undoc-members: + :private-members: + :show-inheritance: + +:mod:`textlib` Module +--------------------- + +.. automodule:: pywikibot.textlib + :members: + :undoc-members: + :show-inheritance: + +:mod:`throttle` Module +---------------------- + +.. automodule:: pywikibot.throttle + :members: + :undoc-members: + :show-inheritance: + +:mod:`titletranslate` Module +---------------------------- + +.. automodule:: pywikibot.titletranslate + :members: + :undoc-members: + :show-inheritance: + +:mod:`tools` Module +------------------- + +.. automodule:: pywikibot.tools + :members: + :undoc-members: + :private-members: + :show-inheritance: + +:mod:`version` Module +--------------------- + +.. automodule:: pywikibot.version + :members: + :undoc-members: + :show-inheritance: + +:mod:`weblib` Module +-------------------- + +.. automodule:: pywikibot.weblib + :members: + :undoc-members: + :show-inheritance: + +:mod:`xmlreader` Module +----------------------- + +.. automodule:: pywikibot.xmlreader + :members: + :undoc-members: + :show-inheritance: + +Subpackages +----------- + +.. toctree:: + + pywikibot.comms + pywikibot.compat + pywikibot.data + pywikibot.families + pywikibot.userinterfaces + diff --git a/docs/api_ref/pywikibot.userinterfaces.rst b/docs/api_ref/pywikibot.userinterfaces.rst new file mode 100644 index 0000000..f0f162c --- /dev/null +++ b/docs/api_ref/pywikibot.userinterfaces.rst @@ -0,0 +1,75 @@ +userinterfaces Package +====================== + +:mod:`userinterfaces` Package +----------------------------- + +.. automodule:: pywikibot.userinterfaces + :members: + :undoc-members: + :show-inheritance: + +:mod:`cgi_interface` Module +--------------------------- + +.. automodule:: pywikibot.userinterfaces.cgi_interface + :members: + :undoc-members: + :show-inheritance: + +:mod:`gui` Module +----------------- + +.. automodule:: pywikibot.userinterfaces.gui + :members: + :undoc-members: + :show-inheritance: + +:mod:`terminal_interface` Module +-------------------------------- + +.. automodule:: pywikibot.userinterfaces.terminal_interface + :members: + :undoc-members: + :show-inheritance: + +:mod:`terminal_interface_base` Module +------------------------------------- + +.. automodule:: pywikibot.userinterfaces.terminal_interface_base + :members: + :undoc-members: + :show-inheritance: + +:mod:`terminal_interface_unix` Module +------------------------------------- + +.. automodule:: pywikibot.userinterfaces.terminal_interface_unix + :members: + :undoc-members: + :show-inheritance: + +:mod:`terminal_interface_win32` Module +-------------------------------------- + +.. automodule:: pywikibot.userinterfaces.terminal_interface_win32 + :members: + :undoc-members: + :show-inheritance: + +:mod:`transliteration` Module +----------------------------- + +.. automodule:: pywikibot.userinterfaces.transliteration + :members: + :undoc-members: + :show-inheritance: + +:mod:`win32_unicode` Module +--------------------------- + +.. automodule:: pywikibot.userinterfaces.win32_unicode + :members: + :undoc-members: + :show-inheritance: + diff --git a/docs/api_ref/tests/api_tests.rst b/docs/api_ref/tests/api_tests.rst new file mode 100644 index 0000000..e7e2ac3 --- /dev/null +++ b/docs/api_ref/tests/api_tests.rst @@ -0,0 +1,21 @@ +========= +api_tests +========= + Tests in ``tests.api_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.api_tests.TestApiFunctions + :members: + .. autoclass:: tests.api_tests.TestDryApiFunctions + :members: + .. autoclass:: tests.api_tests.TestParamInfo + :members: + .. autoclass:: tests.api_tests.TestDryPageGenerator + :members: + .. autoclass:: tests.api_tests.TestPropertyGenerator + :members: + .. autoclass:: tests.api_tests.TestCachedRequest + :members: + diff --git a/docs/api_ref/tests/archivebot_tests.rst b/docs/api_ref/tests/archivebot_tests.rst new file mode 100644 index 0000000..4ba261b --- /dev/null +++ b/docs/api_ref/tests/archivebot_tests.rst @@ -0,0 +1,11 @@ +================ +archivebot_tests +================ + Tests in ``tests.archivebot_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.archivebot_tests.TestArchiveBot + :members: + diff --git a/docs/api_ref/tests/data_ingestion_tests.rst b/docs/api_ref/tests/data_ingestion_tests.rst new file mode 100644 index 0000000..83e33bd --- /dev/null +++ b/docs/api_ref/tests/data_ingestion_tests.rst @@ -0,0 +1,13 @@ +==================== +data_ingestion_tests +==================== + Tests in ``tests.data_ingestion_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.data_ingestion_tests.TestCSVReader + :members: + .. autoclass:: tests.data_ingestion_tests.TestPhoto + :members: + diff --git a/docs/api_ref/tests/date_tests.rst b/docs/api_ref/tests/date_tests.rst new file mode 100644 index 0000000..f0d9b12 --- /dev/null +++ b/docs/api_ref/tests/date_tests.rst @@ -0,0 +1,11 @@ +========== +date_tests +========== + Tests in ``tests.date_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.date_tests.TestDate + :members: + diff --git a/docs/api_ref/tests/deprecation_tests.rst b/docs/api_ref/tests/deprecation_tests.rst new file mode 100644 index 0000000..c8b85c2 --- /dev/null +++ b/docs/api_ref/tests/deprecation_tests.rst @@ -0,0 +1,13 @@ +================= +deprecation_tests +================= + Tests in ``tests.deprecation_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.deprecation_tests.DecoratorFullNameTestCase + :members: + .. autoclass:: tests.deprecation_tests.DeprecatorTestCase + :members: + diff --git a/docs/api_ref/tests/dry_api_tests.rst b/docs/api_ref/tests/dry_api_tests.rst new file mode 100644 index 0000000..200e705 --- /dev/null +++ b/docs/api_ref/tests/dry_api_tests.rst @@ -0,0 +1,19 @@ +============= +dry_api_tests +============= + Tests in ``tests.dry_api_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.dry_api_tests.DryCachedRequestTests + :members: + .. autoclass:: tests.dry_api_tests.DryMimeTests + :members: + .. autoclass:: tests.dry_api_tests.MimeTests + :members: + .. autoclass:: tests.dry_api_tests.MockCachedRequestKeyTests + :members: + .. autoclass:: tests.dry_api_tests.QueryGenTests + :members: + diff --git a/docs/api_ref/tests/dry_site_tests.rst b/docs/api_ref/tests/dry_site_tests.rst new file mode 100644 index 0000000..80ba172 --- /dev/null +++ b/docs/api_ref/tests/dry_site_tests.rst @@ -0,0 +1,15 @@ +============== +dry_site_tests +============== + Tests in ``tests.dry_site_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.dry_site_tests.TestDrySite + :members: + .. autoclass:: tests.dry_site_tests.TestMustBe + :members: + .. autoclass:: tests.dry_site_tests.TestNeedVersion + :members: + diff --git a/docs/api_ref/tests/edit_failure_tests.rst b/docs/api_ref/tests/edit_failure_tests.rst new file mode 100644 index 0000000..844d705 --- /dev/null +++ b/docs/api_ref/tests/edit_failure_tests.rst @@ -0,0 +1,15 @@ +================== +edit_failure_tests +================== + Tests in ``tests.edit_failure_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.edit_failure_tests.TestActionFailure + :members: + .. autoclass:: tests.edit_failure_tests.TestSaveFailure + :members: + .. autoclass:: tests.edit_failure_tests.TestWikibaseSaveTest + :members: + diff --git a/docs/api_ref/tests/family_tests.rst b/docs/api_ref/tests/family_tests.rst new file mode 100644 index 0000000..1945aa2 --- /dev/null +++ b/docs/api_ref/tests/family_tests.rst @@ -0,0 +1,13 @@ +============ +family_tests +============ + Tests in ``tests.family_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.family_tests.TestFamily + :members: + .. autoclass:: tests.family_tests.TestOldFamilyMethod + :members: + diff --git a/docs/api_ref/tests/file_tests.rst b/docs/api_ref/tests/file_tests.rst new file mode 100644 index 0000000..5f1a712 --- /dev/null +++ b/docs/api_ref/tests/file_tests.rst @@ -0,0 +1,11 @@ +========== +file_tests +========== + Tests in ``tests.file_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.file_tests.TestShareFiles + :members: + diff --git a/docs/api_ref/tests/http_tests.rst b/docs/api_ref/tests/http_tests.rst new file mode 100644 index 0000000..3c28574 --- /dev/null +++ b/docs/api_ref/tests/http_tests.rst @@ -0,0 +1,17 @@ +========== +http_tests +========== + Tests in ``tests.http_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.http_tests.DefaultUserAgentTestCase + :members: + .. autoclass:: tests.http_tests.HttpTestCase + :members: + .. autoclass:: tests.http_tests.ThreadedHttpTestCase + :members: + .. autoclass:: tests.http_tests.UserAgentTestCase + :members: + diff --git a/docs/api_ref/tests/i18n_tests.rst b/docs/api_ref/tests/i18n_tests.rst new file mode 100644 index 0000000..805aca1 --- /dev/null +++ b/docs/api_ref/tests/i18n_tests.rst @@ -0,0 +1,15 @@ +========== +i18n_tests +========== + Tests in ``tests.i18n_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.i18n_tests.TestTWNTranslate + :members: + .. autoclass:: tests.i18n_tests.TestTWTranslate + :members: + .. autoclass:: tests.i18n_tests.TestTranslate + :members: + diff --git a/docs/api_ref/tests/index.rst b/docs/api_ref/tests/index.rst new file mode 100644 index 0000000..f411dd1 --- /dev/null +++ b/docs/api_ref/tests/index.rst @@ -0,0 +1,52 @@ +============= +Library tests +============= + + Tests in this project: + +.. toctree:: + :maxdepth: 1 + + deprecation<./deprecation_tests> + thread<./thread_tests> + date<./date_tests> + mediawikiversion<./mediawikiversion_tests> + ipregex<./ipregex_tests> + xmlreader<./xmlreader_tests> + textlib<./textlib_tests> + http<./http_tests> + namespace<./namespace_tests> + dry_api<./dry_api_tests> + dry_site<./dry_site_tests> + api<./api_tests> + family<./family_tests> + site<./site_tests> + link<./link_tests> + interwiki_link<./interwiki_link_tests> + page<./page_tests> + file<./file_tests> + edit_failure<./edit_failure_tests> + timestripper<./timestripper_tests> + pagegenerators<./pagegenerators_tests> + wikidataquery<./wikidataquery_tests> + weblib<./weblib_tests> + i18n<./i18n_tests> + wikistats<./wikistats_tests> + ui<./ui_tests> + wikibase<./wikibase_tests> + wikibase_edit<./wikibase_edit_tests> + upload<./upload_tests> + +============ +Script tests +============ + + Tests in this project: + +.. toctree:: + :maxdepth: 1 + + pwb<./pwb_tests> + script<./script_tests> + archivebot<./archivebot_tests> + data_ingestion<./data_ingestion_tests> diff --git a/docs/api_ref/tests/interwiki_link_tests.rst b/docs/api_ref/tests/interwiki_link_tests.rst new file mode 100644 index 0000000..667ee4e --- /dev/null +++ b/docs/api_ref/tests/interwiki_link_tests.rst @@ -0,0 +1,13 @@ +==================== +interwiki_link_tests +==================== + Tests in ``tests.interwiki_link_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.interwiki_link_tests.TestInterwikiLinksToNonLocalSites + :members: + .. autoclass:: tests.interwiki_link_tests.TestPartiallyQualifiedLinkDifferentCodeParser + :members: + diff --git a/docs/api_ref/tests/ipregex_tests.rst b/docs/api_ref/tests/ipregex_tests.rst new file mode 100644 index 0000000..1401a01 --- /dev/null +++ b/docs/api_ref/tests/ipregex_tests.rst @@ -0,0 +1,11 @@ +============= +ipregex_tests +============= + Tests in ``tests.ipregex_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.ipregex_tests.PyWikiIpRegexCase + :members: + diff --git a/docs/api_ref/tests/link_tests.rst b/docs/api_ref/tests/link_tests.rst new file mode 100644 index 0000000..6b72b20 --- /dev/null +++ b/docs/api_ref/tests/link_tests.rst @@ -0,0 +1,49 @@ +========== +link_tests +========== + Tests in ``tests.link_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.link_tests.TestEmptyTitle + :members: + .. autoclass:: tests.link_tests.TestFullyQualifiedExplicitLinkDifferentFamilyParser + :members: + .. autoclass:: tests.link_tests.TestFullyQualifiedExplicitLinkNoLangConfigFamilyParser + :members: + .. autoclass:: tests.link_tests.TestFullyQualifiedExplicitLinkSameFamilyParser + :members: + .. autoclass:: tests.link_tests.TestFullyQualifiedImplicitLinkDifferentFamilyParser + :members: + .. autoclass:: tests.link_tests.TestFullyQualifiedImplicitLinkNoLangConfigFamilyParser + :members: + .. autoclass:: tests.link_tests.TestFullyQualifiedImplicitLinkSameFamilyParser + :members: + .. autoclass:: tests.link_tests.TestFullyQualifiedNoLangFamilyExplicitLinkParser + :members: + .. autoclass:: tests.link_tests.TestFullyQualifiedNoLangFamilyImplicitLinkParser + :members: + .. autoclass:: tests.link_tests.TestFullyQualifiedOneSiteFamilyExplicitLinkParser + :members: + .. autoclass:: tests.link_tests.TestFullyQualifiedOneSiteFamilyImplicitLinkParser + :members: + .. autoclass:: tests.link_tests.TestFullyQualifiedSameNamespaceFamilyParser + :members: + .. autoclass:: tests.link_tests.TestInvalidInterwikiLinks + :members: + .. autoclass:: tests.link_tests.TestLink + :members: + .. autoclass:: tests.link_tests.TestPartiallyQualifiedExplicitLinkDifferentCodeParser + :members: + .. autoclass:: tests.link_tests.TestPartiallyQualifiedExplicitLinkDifferentFamilyParser + :members: + .. autoclass:: tests.link_tests.TestPartiallyQualifiedExplicitLinkSameSiteParser + :members: + .. autoclass:: tests.link_tests.TestPartiallyQualifiedImplicitLinkDifferentCodeParser + :members: + .. autoclass:: tests.link_tests.TestPartiallyQualifiedImplicitLinkDifferentFamilyParser + :members: + .. autoclass:: tests.link_tests.TestPartiallyQualifiedImplicitLinkSameSiteParser + :members: + diff --git a/docs/api_ref/tests/mediawikiversion_tests.rst b/docs/api_ref/tests/mediawikiversion_tests.rst new file mode 100644 index 0000000..61de676 --- /dev/null +++ b/docs/api_ref/tests/mediawikiversion_tests.rst @@ -0,0 +1,11 @@ +====================== +mediawikiversion_tests +====================== + Tests in ``tests.mediawikiversion_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.mediawikiversion_tests.TestMediaWikiVersion + :members: + diff --git a/docs/api_ref/tests/namespace_tests.rst b/docs/api_ref/tests/namespace_tests.rst new file mode 100644 index 0000000..6b8f291 --- /dev/null +++ b/docs/api_ref/tests/namespace_tests.rst @@ -0,0 +1,11 @@ +=============== +namespace_tests +=============== + Tests in ``tests.namespace_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.namespace_tests.TestNamespaceObject + :members: + diff --git a/docs/api_ref/tests/page_tests.rst b/docs/api_ref/tests/page_tests.rst new file mode 100644 index 0000000..b37f817 --- /dev/null +++ b/docs/api_ref/tests/page_tests.rst @@ -0,0 +1,19 @@ +========== +page_tests +========== + Tests in ``tests.page_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.page_tests.TestCategoryObject + :members: + .. autoclass:: tests.page_tests.TestPageObject + :members: + .. autoclass:: tests.page_tests.TestPageObjectEnglish + :members: + .. autoclass:: tests.page_tests.TestPageRedirects + :members: + .. autoclass:: tests.page_tests.TestPageUserAction + :members: + diff --git a/docs/api_ref/tests/pagegenerators_tests.rst b/docs/api_ref/tests/pagegenerators_tests.rst new file mode 100644 index 0000000..4e9f260 --- /dev/null +++ b/docs/api_ref/tests/pagegenerators_tests.rst @@ -0,0 +1,27 @@ +==================== +pagegenerators_tests +==================== + Tests in ``tests.pagegenerators_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.pagegenerators_tests.TestDryPageGenerators + :members: + .. autoclass:: tests.pagegenerators_tests.EdittimeFilterPageGeneratorTestCase + :members: + .. autoclass:: tests.pagegenerators_tests.TestRepeatingGenerator + :members: + .. autoclass:: tests.pagegenerators_tests.TestPreloadingGenerator + :members: + .. autoclass:: tests.pagegenerators_tests.TestDequePreloadingGenerator + :members: + .. autoclass:: tests.pagegenerators_tests.TestPreloadingItemGenerator + :members: + .. autoclass:: tests.pagegenerators_tests.TestFactoryGenerator + :members: + .. autoclass:: tests.pagegenerators_tests.PageGeneratorIntersectTestCase + :members: + .. autoclass:: tests.pagegenerators_tests.EnglishWikipediaPageGeneratorIntersectTestCase + :members: + diff --git a/docs/api_ref/tests/pwb_tests.rst b/docs/api_ref/tests/pwb_tests.rst new file mode 100644 index 0000000..9fbefc1 --- /dev/null +++ b/docs/api_ref/tests/pwb_tests.rst @@ -0,0 +1,11 @@ +========= +pwb_tests +========= + Tests in ``tests.pwb_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.pwb_tests.TestPwb + :members: + diff --git a/docs/api_ref/tests/script_tests.rst b/docs/api_ref/tests/script_tests.rst new file mode 100644 index 0000000..0b3e19a --- /dev/null +++ b/docs/api_ref/tests/script_tests.rst @@ -0,0 +1,12 @@ +============ +script_tests +============ + Tests in ``tests.script_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.script_tests.TestScript + :members: + .. autofunction:: tests.script_tests.load_tests + diff --git a/docs/api_ref/tests/site_tests.rst b/docs/api_ref/tests/site_tests.rst new file mode 100644 index 0000000..eaadb7c --- /dev/null +++ b/docs/api_ref/tests/site_tests.rst @@ -0,0 +1,45 @@ +========== +site_tests +========== + Tests in ``tests.site_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.site_tests.SiteRandomTestCase + :members: + .. autoclass:: tests.site_tests.SiteSysopTestCase + :members: + .. autoclass:: tests.site_tests.SiteUserTestCase + :members: + .. autoclass:: tests.site_tests.SiteUserTestCase2 + :members: + .. autoclass:: tests.site_tests.TestCommonsSite + :members: + .. autoclass:: tests.site_tests.TestDataSiteClientPreloading + :members: + .. autoclass:: tests.site_tests.TestDataSitePreloading + :members: + .. autoclass:: tests.site_tests.TestImageUsage + :members: + .. autoclass:: tests.site_tests.TestNonEnglishWikipediaSite + :members: + .. autoclass:: tests.site_tests.TestSiteAPILimits + :members: + .. autoclass:: tests.site_tests.TestSiteExtensions + :members: + .. autoclass:: tests.site_tests.TestSiteInfo + :members: + .. autoclass:: tests.site_tests.TestSiteLoadRevisions + :members: + .. autoclass:: tests.site_tests.TestSiteLoadRevisionsSysop + :members: + .. autoclass:: tests.site_tests.TestSiteObject + :members: + .. autoclass:: tests.site_tests.TestSiteObjectDeprecatedFunctions + :members: + .. autoclass:: tests.site_tests.TestSiteTokens + :members: + .. autoclass:: tests.site_tests.TestWiktionarySite + :members: + diff --git a/docs/api_ref/tests/textlib_tests.rst b/docs/api_ref/tests/textlib_tests.rst new file mode 100644 index 0000000..8a4a991 --- /dev/null +++ b/docs/api_ref/tests/textlib_tests.rst @@ -0,0 +1,21 @@ +============= +textlib_tests +============= + Tests in ``tests.textlib_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.textlib_tests.TestCategoryRearrangement + :members: + .. autoclass:: tests.textlib_tests.TestFormatCategory + :members: + .. autoclass:: tests.textlib_tests.TestFormatInterwiki + :members: + .. autoclass:: tests.textlib_tests.TestLocalDigits + :members: + .. autoclass:: tests.textlib_tests.TestSectionFunctions + :members: + .. autoclass:: tests.textlib_tests.TestTemplatesInCategory + :members: + diff --git a/docs/api_ref/tests/thread_tests.rst b/docs/api_ref/tests/thread_tests.rst new file mode 100644 index 0000000..2656cd1 --- /dev/null +++ b/docs/api_ref/tests/thread_tests.rst @@ -0,0 +1,15 @@ +============ +thread_tests +============ + Tests in ``tests.thread_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.thread_tests.BasicThreadedGeneratorTestCase + :members: + .. autoclass:: tests.thread_tests.GeneratorIntersectTestCase + :members: + .. autoclass:: tests.thread_tests.BasicGeneratorIntersectTestCase + :members: + diff --git a/docs/api_ref/tests/timestripper_tests.rst b/docs/api_ref/tests/timestripper_tests.rst new file mode 100644 index 0000000..49f9070 --- /dev/null +++ b/docs/api_ref/tests/timestripper_tests.rst @@ -0,0 +1,13 @@ +================== +timestripper_tests +================== + Tests in ``tests.timestripper_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.timestripper_tests.TestTimeStripperWithDigitsAsMonths + :members: + .. autoclass:: tests.timestripper_tests.TestTimeStripperWithNoDigitsAsMonths + :members: + diff --git a/docs/api_ref/tests/ui_tests.rst b/docs/api_ref/tests/ui_tests.rst new file mode 100644 index 0000000..6a0dd48 --- /dev/null +++ b/docs/api_ref/tests/ui_tests.rst @@ -0,0 +1,11 @@ +======== +ui_tests +======== + Tests in ``tests.ui_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.ui_tests.TestTerminalUI + :members: + diff --git a/docs/api_ref/tests/upload_tests.rst b/docs/api_ref/tests/upload_tests.rst new file mode 100644 index 0000000..52f52a3 --- /dev/null +++ b/docs/api_ref/tests/upload_tests.rst @@ -0,0 +1,11 @@ +============ +upload_tests +============ + Tests in ``tests.upload_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.upload_tests.TestUpload + :members: + diff --git a/docs/api_ref/tests/weblib_tests.rst b/docs/api_ref/tests/weblib_tests.rst new file mode 100644 index 0000000..e9b107d --- /dev/null +++ b/docs/api_ref/tests/weblib_tests.rst @@ -0,0 +1,11 @@ +============ +weblib_tests +============ + Tests in ``tests.weblib_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.weblib_tests.TestArchiveSites + :members: + diff --git a/docs/api_ref/tests/wikibase_edit_tests.rst b/docs/api_ref/tests/wikibase_edit_tests.rst new file mode 100644 index 0000000..d9b7e74 --- /dev/null +++ b/docs/api_ref/tests/wikibase_edit_tests.rst @@ -0,0 +1,11 @@ +=================== +wikibase_edit_tests +=================== + Tests in ``tests.wikibase_edit_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.wikibase_edit_tests.TestWikibaseWriteGeneral + :members: + diff --git a/docs/api_ref/tests/wikibase_tests.rst b/docs/api_ref/tests/wikibase_tests.rst new file mode 100644 index 0000000..f529946 --- /dev/null +++ b/docs/api_ref/tests/wikibase_tests.rst @@ -0,0 +1,39 @@ +============== +wikibase_tests +============== + Tests in ``tests.wikibase_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.wikibase_tests.TestAlternateNamespaces + :members: + .. autoclass:: tests.wikibase_tests.TestClaimSetValue + :members: + .. autoclass:: tests.wikibase_tests.TestGeneral + :members: + .. autoclass:: tests.wikibase_tests.TestItemLoad + :members: + .. autoclass:: tests.wikibase_tests.TestItemPageExtensibility + :members: + .. autoclass:: tests.wikibase_tests.TestJSON + :members: + .. autoclass:: tests.wikibase_tests.TestLinks + :members: + .. autoclass:: tests.wikibase_tests.TestNamespaces + :members: + .. autoclass:: tests.wikibase_tests.TestPageMethods + :members: + .. autoclass:: tests.wikibase_tests.TestPreloadingItemGenerator + :members: + .. autoclass:: tests.wikibase_tests.TestPropertyPage + :members: + .. autoclass:: tests.wikibase_tests.TestRedirects + :members: + .. autoclass:: tests.wikibase_tests.TestWikibaseTypes + :members: + .. autoclass:: tests.wikibase_tests.TestWriteNormalizeData + :members: + .. autoclass:: tests.wikibase_tests.TestWriteNormalizeLang + :members: + diff --git a/docs/api_ref/tests/wikidataquery_tests.rst b/docs/api_ref/tests/wikidataquery_tests.rst new file mode 100644 index 0000000..9ab363e --- /dev/null +++ b/docs/api_ref/tests/wikidataquery_tests.rst @@ -0,0 +1,13 @@ +=================== +wikidataquery_tests +=================== + Tests in ``tests.wikidataquery_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.wikidataquery_tests.TestApiFunctions + :members: + .. autoclass:: tests.wikidataquery_tests.TestApiSlowFunctions + :members: + diff --git a/docs/api_ref/tests/wikistats_tests.rst b/docs/api_ref/tests/wikistats_tests.rst new file mode 100644 index 0000000..160d5ee --- /dev/null +++ b/docs/api_ref/tests/wikistats_tests.rst @@ -0,0 +1,11 @@ +=============== +wikistats_tests +=============== + Tests in ``tests.wikistats_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.wikistats_tests.WikiStatsTestCase + :members: + diff --git a/docs/api_ref/tests/xmlreader_tests.rst b/docs/api_ref/tests/xmlreader_tests.rst new file mode 100644 index 0000000..f3c24a2 --- /dev/null +++ b/docs/api_ref/tests/xmlreader_tests.rst @@ -0,0 +1,11 @@ +=============== +xmlreader_tests +=============== + Tests in ``tests.xmlreader_tests``: + +--------------- +Available tests +--------------- + .. autoclass:: tests.xmlreader_tests.XmlReaderTestCase + :members: + diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000..94e9571 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,275 @@ +# -*- coding: utf-8 -*- +"""Configuration file for Sphinx.""" +# +# Pywikibot documentation build configuration file, created by +# sphinx-quickstart on Wed Nov 5 15:50:05 2014. +# +# 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 os +import sys + +# 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('..')) + +# -- General configuration ----------------------------------------------------- + +# If your documentation needs a minimal Sphinx version, state it here. +# needs_sphinx = '1.0' + +# 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', 'sphinx_epytext', 'sphinx.ext.todo', 'sphinx.ext.coverage', 'sphinx.ext.viewcode'] + +# 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-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'Pywikibot' +copyright = u'2014, Pywikibot team' + +# 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 = '2.0' +# The full version, including alpha/beta/rc tags. +release = '2.0b2' + +# 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 patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = ['_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. See the documentation for +# a list of builtin themes. +html_theme = 'alabaster' + +# 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 +# "<project> v<release> 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_domain_indices = 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, "Created using Sphinx" is shown in the HTML footer. Default is True. +# html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +# html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a <link> tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +# html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +# html_file_suffix = None + +# Output file base name for HTML help builder. +htmlhelp_basename = 'Pywikibotdoc' + + +# -- Options for LaTeX output -------------------------------------------------- + +latex_elements = { +# The paper size ('letterpaper' or 'a4paper'). +# 'papersize': 'letterpaper', + +# The font size ('10pt', '11pt' or '12pt'). +# 'pointsize': '10pt', + +# Additional stuff for the LaTeX preamble. +# 'preamble': '', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, author, documentclass [howto/manual]). +latex_documents = [ + ('index', 'Pywikibot.tex', u'Pywikibot Documentation', + u'Pywikibot team', '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 + +# If true, show page references after internal links. +# latex_show_pagerefs = False + +# If true, show URL addresses after external links. +# latex_show_urls = False + +# Documents to append as an appendix to all manuals. +# latex_appendices = [] + +# If false, no module index is generated. +# latex_domain_indices = True + + +# -- Options for manual page output -------------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + ('index', 'pywikibot', u'Pywikibot Documentation', + [u'Pywikibot team'], 1) +] + +# If true, show URL addresses after external links. +# man_show_urls = False + + +# -- Options for Texinfo output ------------------------------------------------ + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + ('index', 'Pywikibot', u'Pywikibot Documentation', + u'Pywikibot team', 'Pywikibot', 'One line description of project.', + 'Miscellaneous'), +] + +# Documents to append as an appendix to all manuals. +# texinfo_appendices = [] + +# If false, no module index is generated. +# texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +# texinfo_show_urls = 'footnote' + + +def pywikibot_env(): + """Allow pywikibot modules to be imported without a user-config.py.""" + os.environ['PYWIKIBOT2_NO_USER_CONFIG'] = '1' + + +def pywikibot_script_docstring_fixups( + app, what, name, obj, options, lines): + """Pywikibot specific conversions.""" + result = ['This script supports use of :py:mod:`pywikibot.pagegenerators` arguments.' + if l in ('¶ms;', '&pagegenerators_help;') + else ' The available fixes are listed in :py:mod:`pywikibot.fixes`.' + if l == '&fixes-help;' + else l + ':' + if l.endswith(':') and not l.strip().startswith(':') and 'Traceback (most recent call last)' not in l + else ' ' + l if l.startswith('-') + else l.replace(' ', ' ') + if l.startswith(' ') + else ' ' + l.strip() + if l.strip().startswith('python') + else l + for l in lines] + lines[:] = result[:] + + +def setup(app): + """Implicit Sphinx extension hook.""" + app.connect('autodoc-process-docstring', pywikibot_script_docstring_fixups) + +pywikibot_env() diff --git a/docs/credits.rst b/docs/credits.rst new file mode 100644 index 0000000..e5a065d --- /dev/null +++ b/docs/credits.rst @@ -0,0 +1,14 @@ +Credits +======= + +pywikibot +--------- +.. include:: ../CREDITS + :literal: + +documentation +------------- +The documentation was initially maintained on mediawiki.org. The contributors +of the various pages are listed below: + +(...to do...) diff --git a/docs/getting_help.rst b/docs/getting_help.rst new file mode 100644 index 0000000..17798ac --- /dev/null +++ b/docs/getting_help.rst @@ -0,0 +1,5 @@ +Getting help +------------ + +.. note:: + Please see `Manual:Pywikibot/Communication https://www.mediawiki.org/w/index.php?title=Manual%3APywikibot%2FCommunication`_ diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000..692f264 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,53 @@ +Welcome to pywikibot! +===================== + +.. warning:: + + **This documentation is incomplete**, and needs quite some work. + + If you are not familiar with pywikibot, please start at the + old documentation: + `Manual:Pywikibot on mediawiki.org https://www.mediawiki.org/wiki/Manual:Pywikibot`_ + + +Pywikibot is a full-stack framework for editing `MediaWiki https://mediawiki.org`_ wiki's. (more intro) + +Pywikibot supports Python 2.6.5 and 2.7; Python 3 support is under way. + +Pywikibot is licensed under the :ref:`MIT license <licenses-MIT>`; the documentation is licensed under the :ref:`CC-BY-SA-3.0 <licenses-CCBYSA>` license. + +The documentation consists of four major parts: + +#. :doc:`installation` +#. :doc:`scripts/index` +#. :doc:`library_usage` +#. :doc:`api_ref/index` + +For bot users: +============== + +.. toctree:: + :maxdepth: 1 + + installation + scripts/index + getting_help + + +For bot developers: +=================== + +.. toctree:: + :maxdepth: 2 + + installation + library_usage + getting_help + api_ref/index + +Miscellaneous +============= +.. toctree:: + + licenses + credits diff --git a/docs/installation.rst b/docs/installation.rst new file mode 100644 index 0000000..2221e95 --- /dev/null +++ b/docs/installation.rst @@ -0,0 +1,7 @@ +Installation +------------ + +.. _installation: + +.. note:: + Please see the old documentation at `Manual:Pywikibot/Installation https://www.mediawiki.org/wiki/Manual:Pywikibot/Installation`_ diff --git a/docs/library_usage.rst b/docs/library_usage.rst new file mode 100644 index 0000000..759b795 --- /dev/null +++ b/docs/library_usage.rst @@ -0,0 +1,5 @@ +Using pywikibot as library +------------ + +.. note:: + Please see the old documentation at `Manual:Pywikibot/Create your own script https://www.mediawiki.org/wiki/Manual:Pywikibot/Create_your_own_script`_ diff --git a/docs/licenses.rst b/docs/licenses.rst new file mode 100644 index 0000000..9ab1340 --- /dev/null +++ b/docs/licenses.rst @@ -0,0 +1,44 @@ +Licenses +======== + +The framework itself is available under the :ref:`MIT license <licenses-MIT>`; the +documentation is available under the :ref:`CC-BY-SA 3.0 <licenses-CCBYSA>` license. + +Httplib2, which is provided as 'external' library, is also available +under the :ref:`MIT license <licenses-MIT>`. + +.. _licenses-MIT: + +MIT License +----------- +The framework is available under the MIT license: + +Copyright (c) 2004-2013 Pywikibot team + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +.. _licenses-CCBYSA: + +CC-BY-SA 3.0 +------------ +This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. diff --git a/docs/make.bat b/docs/make.bat new file mode 100644 index 0000000..8f12a97 --- /dev/null +++ b/docs/make.bat @@ -0,0 +1,190 @@ +@ECHO OFF + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set BUILDDIR=_build +set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . +set I18NSPHINXOPTS=%SPHINXOPTS% . +if NOT "%PAPER%" == "" ( + set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% + set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% +) + +if "%1" == "" goto help + +if "%1" == "help" ( + :help + echo.Please use `make ^<target^>` where ^<target^> is one of + echo. html to make standalone HTML files + echo. dirhtml to make HTML files named index.html in directories + echo. singlehtml to make a single large HTML file + 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. devhelp to make HTML files and a Devhelp project + echo. epub to make an epub + echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter + echo. text to make text files + echo. man to make manual pages + echo. texinfo to make Texinfo files + echo. gettext to make PO message catalogs + echo. changes to make an overview over 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 + goto end +) + +if "%1" == "clean" ( + for /d %%i in (%BUILDDIR%*) do rmdir /q /s %%i + del /q /s %BUILDDIR%* + goto end +) + +if "%1" == "html" ( + %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/html. + goto end +) + +if "%1" == "dirhtml" ( + %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. + goto end +) + +if "%1" == "singlehtml" ( + %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. + goto end +) + +if "%1" == "pickle" ( + %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the pickle files. + goto end +) + +if "%1" == "json" ( + %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the JSON files. + goto end +) + +if "%1" == "htmlhelp" ( + %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run HTML Help Workshop with the ^ +.hhp project file in %BUILDDIR%/htmlhelp. + goto end +) + +if "%1" == "qthelp" ( + %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run "qcollectiongenerator" with the ^ +.qhcp project file in %BUILDDIR%/qthelp, like this: + echo.^> qcollectiongenerator %BUILDDIR%\qthelp\Pywikibot.qhcp + echo.To view the help file: + echo.^> assistant -collectionFile %BUILDDIR%\qthelp\Pywikibot.ghc + goto end +) + +if "%1" == "devhelp" ( + %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. + goto end +) + +if "%1" == "epub" ( + %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The epub file is in %BUILDDIR%/epub. + goto end +) + +if "%1" == "latex" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. + goto end +) + +if "%1" == "text" ( + %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The text files are in %BUILDDIR%/text. + goto end +) + +if "%1" == "man" ( + %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The manual pages are in %BUILDDIR%/man. + goto end +) + +if "%1" == "texinfo" ( + %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. + goto end +) + +if "%1" == "gettext" ( + %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The message catalogs are in %BUILDDIR%/locale. + goto end +) + +if "%1" == "changes" ( + %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes + if errorlevel 1 exit /b 1 + echo. + echo.The overview file is in %BUILDDIR%/changes. + goto end +) + +if "%1" == "linkcheck" ( + %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck + if errorlevel 1 exit /b 1 + echo. + echo.Link check complete; look for any errors in the above output ^ +or in %BUILDDIR%/linkcheck/output.txt. + goto end +) + +if "%1" == "doctest" ( + %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest + if errorlevel 1 exit /b 1 + echo. + echo.Testing of doctests in the sources finished, look at the ^ +results in %BUILDDIR%/doctest/output.txt. + goto end +) + +:end diff --git a/docs/requirements-py3.txt b/docs/requirements-py3.txt new file mode 100644 index 0000000..89f085e --- /dev/null +++ b/docs/requirements-py3.txt @@ -0,0 +1,8 @@ +# This is a PIP requirements file for building Sphinx documentation of pywikibot +# using sphinx-1.3b1 on python3.4, and is used by readthedocs.org. + +sphinx==1.3.1 +sphinx-epytext>=0.0.3 + +# mandatory; see README.conversion.txt +httplib2>=0.9.0 diff --git a/docs/scripts.maintenance.rst b/docs/scripts.maintenance.rst new file mode 100644 index 0000000..74a478a --- /dev/null +++ b/docs/scripts.maintenance.rst @@ -0,0 +1,43 @@ +maintenance Package +=================== + +:mod:`maintenance` Package +-------------------------- + +.. automodule:: scripts.maintenance + :members: + :undoc-members: + :show-inheritance: + +:mod:`cache` Module +------------------- + +.. automodule:: scripts.maintenance.cache + :members: + :undoc-members: + :show-inheritance: + +:mod:`compat2core` Module +------------------------- + +.. automodule:: scripts.maintenance.compat2core + :members: + :undoc-members: + :show-inheritance: + +:mod:`make_i18n_dict` Module +---------------------------- + +.. automodule:: scripts.maintenance.make_i18n_dict + :members: + :undoc-members: + :show-inheritance: + +:mod:`wikimedia_sites` Module +----------------------------- + +.. automodule:: scripts.maintenance.wikimedia_sites + :members: + :undoc-members: + :show-inheritance: + diff --git a/tox.ini b/tox.ini index 8eb7852..1642ed7 100644 --- a/tox.ini +++ b/tox.ini @@ -163,3 +163,8 @@ exclude = .tox,.git,./*.egg,ez_setup.py,build,externals,user-config.py,./scripts/i18n/* max_line_length = 130
+[testenv:doc] +changedir = docs +commands = make html +basepython = python3.4 +deps = -rdocs/requirements-py3.txt
pywikibot-commits@lists.wikimedia.org