Xqt submitted this change.

View Change

Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified
[doc] Reorder and split Pywikibot API Reference

- Reorder and split Pywikibot API Reference to be more clearer
- Increase left navigation bar
- Rewrite pge._decorators, otherwise Sphinx hides the content and
shows wrong parameters

Change-Id: Icaac8e9504e34f1b05be43a427aae0a5e47f1d57
---
M docs/_static/css/pywikibot.css
A docs/api_ref/bot.rst
A docs/api_ref/bot_choice.rst
A docs/api_ref/cosmetic_changes.rst
A docs/api_ref/daemonize.rst
A docs/api_ref/date.rst
A docs/api_ref/date_time.rst
A docs/api_ref/diff.rst
A docs/api_ref/echo.rst
A docs/api_ref/editor.rst
A docs/api_ref/exceptions.rst
A docs/api_ref/family.rst
A docs/api_ref/fixes.rst
A docs/api_ref/flow.rst
A docs/api_ref/i18n.rst
M docs/api_ref/index.rst
A docs/api_ref/iw_interwiki_graph.rst
A docs/api_ref/iw_titletranslate.rst
A docs/api_ref/logentries.rst
A docs/api_ref/logging.rst
A docs/api_ref/login.rst
A docs/api_ref/proofreadpage.rst
M docs/api_ref/pywikibot.comms.rst
M docs/api_ref/pywikibot.config.rst
M docs/api_ref/pywikibot.data.rst
M docs/api_ref/pywikibot.families.rst
M docs/api_ref/pywikibot.page.rst
M docs/api_ref/pywikibot.pagegenerators.rst
M docs/api_ref/pywikibot.rst
M docs/api_ref/pywikibot.site.rst
M docs/api_ref/pywikibot.specialbots.rst
M docs/api_ref/pywikibot.tools.rst
M docs/api_ref/pywikibot.userinterfaces.rst
A docs/api_ref/reader.rst
A docs/api_ref/site_detect.rst
A docs/api_ref/textlib.rst
A docs/api_ref/throttle.rst
A docs/api_ref/version.rst
A docs/api_ref/x_backports.rst
M pywikibot/page/_decorators.py
40 files changed, 339 insertions(+), 362 deletions(-)

diff --git a/docs/_static/css/pywikibot.css b/docs/_static/css/pywikibot.css
index ea2ac64..56e8d93 100644
--- a/docs/_static/css/pywikibot.css
+++ b/docs/_static/css/pywikibot.css
@@ -34,4 +34,10 @@
}
code.xref:hover {
color: #900;
+}
+div.sphinxsidebar {
+ width: 250px
+}
+div.bodywrapper {
+ margin: 0 0 0 250px;
}
\ No newline at end of file
diff --git a/docs/api_ref/bot.rst b/docs/api_ref/bot.rst
new file mode 100644
index 0000000..12c5f10
--- /dev/null
+++ b/docs/api_ref/bot.rst
@@ -0,0 +1,6 @@
+:mod:`bot` --- Classes for Building Bots
+----------------------------------------
+
+.. automodule:: bot
+ :synopsis: User-interface related functions for building bots
+ :member-order: bysource
diff --git a/docs/api_ref/bot_choice.rst b/docs/api_ref/bot_choice.rst
new file mode 100644
index 0000000..652b57f
--- /dev/null
+++ b/docs/api_ref/bot_choice.rst
@@ -0,0 +1,5 @@
+:mod:`bot\_choice` --- UI Options and Choices
+---------------------------------------------
+
+.. automodule:: bot_choice
+ :synopsis: Options and Choices for :func:`pywikibot.input_choice`
diff --git a/docs/api_ref/cosmetic_changes.rst b/docs/api_ref/cosmetic_changes.rst
new file mode 100644
index 0000000..9f25a8d
--- /dev/null
+++ b/docs/api_ref/cosmetic_changes.rst
@@ -0,0 +1,5 @@
+:mod:`cosmetic\_changes` --- Cosmetic Changes of Wikitext
+---------------------------------------------------------
+
+.. automodule:: cosmetic_changes
+ :synopsis: This module can do slight modifications to tidy a wiki page's source code
diff --git a/docs/api_ref/daemonize.rst b/docs/api_ref/daemonize.rst
new file mode 100644
index 0000000..af1b7c5
--- /dev/null
+++ b/docs/api_ref/daemonize.rst
@@ -0,0 +1,5 @@
+:mod:`daemonize` --- Daemonize Current Process (Unix only)
+----------------------------------------------------------
+
+.. automodule:: daemonize
+ :synopsis: Module to daemonize the current process on Unix.
diff --git a/docs/api_ref/date.rst b/docs/api_ref/date.rst
new file mode 100644
index 0000000..2ecacf4
--- /dev/null
+++ b/docs/api_ref/date.rst
@@ -0,0 +1,5 @@
+:mod:`date` --- Date Classes and Functions
+------------------------------------------
+
+.. automodule:: date
+ :synopsis: Date data and manipulation module
diff --git a/docs/api_ref/date_time.rst b/docs/api_ref/date_time.rst
new file mode 100644
index 0000000..84832a0
--- /dev/null
+++ b/docs/api_ref/date_time.rst
@@ -0,0 +1,4 @@
+:mod:`time` --- Time Classes and Functions
+------------------------------------------
+
+.. automodule:: pywikibot.time
diff --git a/docs/api_ref/diff.rst b/docs/api_ref/diff.rst
new file mode 100644
index 0000000..c6f5641
--- /dev/null
+++ b/docs/api_ref/diff.rst
@@ -0,0 +1,5 @@
+:mod:`diff` --- Helpers for computing deltas
+--------------------------------------------
+
+.. automodule:: diff
+ :synopsis: Diff module
diff --git a/docs/api_ref/echo.rst b/docs/api_ref/echo.rst
new file mode 100644
index 0000000..30201b4
--- /dev/null
+++ b/docs/api_ref/echo.rst
@@ -0,0 +1,5 @@
+:mod:`echo` --- Echo Extension Classes and functions
+----------------------------------------------------
+
+.. automodule:: echo
+ :synopsis: Classes and functions for working with the Echo extension
diff --git a/docs/api_ref/editor.rst b/docs/api_ref/editor.rst
new file mode 100644
index 0000000..d2df798
--- /dev/null
+++ b/docs/api_ref/editor.rst
@@ -0,0 +1,5 @@
+:mod:`editor` --- Text editor class
+-----------------------------------
+
+.. automodule:: editor
+ :synopsis: Text editor class for your favourite editor
diff --git a/docs/api_ref/exceptions.rst b/docs/api_ref/exceptions.rst
new file mode 100644
index 0000000..7e37052
--- /dev/null
+++ b/docs/api_ref/exceptions.rst
@@ -0,0 +1,5 @@
+:mod:`exceptions` --- Exceptions and Warning Classes
+----------------------------------------------------
+
+.. automodule:: exceptions
+ :synopsis: Pywikibot exceptions and warning classes
diff --git a/docs/api_ref/family.rst b/docs/api_ref/family.rst
new file mode 100644
index 0000000..316feb1
--- /dev/null
+++ b/docs/api_ref/family.rst
@@ -0,0 +1,5 @@
+:mod:`family` --- MediaWiki families
+------------------------------------
+
+.. automodule:: family
+ :synopsis: Objects representing MediaWiki families
diff --git a/docs/api_ref/fixes.rst b/docs/api_ref/fixes.rst
new file mode 100644
index 0000000..657e5ba
--- /dev/null
+++ b/docs/api_ref/fixes.rst
@@ -0,0 +1,5 @@
+:mod:`fixes` --- standard fixes for replace.py script
+-----------------------------------------------------
+
+.. automodule:: fixes
+ :synopsis: File containing all standard fixes
diff --git a/docs/api_ref/flow.rst b/docs/api_ref/flow.rst
new file mode 100644
index 0000000..a3f16dd
--- /dev/null
+++ b/docs/api_ref/flow.rst
@@ -0,0 +1,5 @@
+:mod:`flow` --- Flow Entities
+-----------------------------
+
+.. automodule:: flow
+ :synopsis: Objects representing Flow entities, like boards, topics, and posts
diff --git a/docs/api_ref/i18n.rst b/docs/api_ref/i18n.rst
new file mode 100644
index 0000000..d717537
--- /dev/null
+++ b/docs/api_ref/i18n.rst
@@ -0,0 +1,11 @@
+:mod:`i18n` --- i18n Support
+----------------------------
+
+.. automodule:: i18n
+ :synopsis: Various i18n functions
+
+:mod:`plural` --- i18n Plural rules
+-----------------------------------
+
+.. automodule:: plural
+ :synopsis: Module containing plural rules of various languages
\ No newline at end of file
diff --git a/docs/api_ref/index.rst b/docs/api_ref/index.rst
index 7196738..c6bb0df 100644
--- a/docs/api_ref/index.rst
+++ b/docs/api_ref/index.rst
@@ -13,10 +13,31 @@
functions provided by :mod:`data.api`. This layer then uses :func:`comms.http.request`
to do the actual HTTP request.

-Contents
-========
+Table of Contents
+=================

.. toctree::
:glob:
+ :maxdepth: 2

+ pywikibot
+ pywikibot.config
+ pywikibot.page
+ proofreadpage
+ pywikibot.pagegenerators
+ pywikibot.site
+ login
+ logentries
+ family
+ pywikibot.families
+ pywikibot.data
+ pywikibot.comms
+ exceptions
+ textlib
+ cosmetic_changes
+ bot
+ pywikibot.specialbots
+ bot_choice
+ pywikibot.userinterfaces
+ logging
*
diff --git a/docs/api_ref/iw_interwiki_graph.rst b/docs/api_ref/iw_interwiki_graph.rst
new file mode 100644
index 0000000..4682f47
--- /dev/null
+++ b/docs/api_ref/iw_interwiki_graph.rst
@@ -0,0 +1,5 @@
+:mod:`interwiki\_graph` --- Graphviz Drawing for Interwiki
+----------------------------------------------------------
+
+.. automodule:: interwiki_graph
+ :synopsis: Module with the Graphviz drawing calls
diff --git a/docs/api_ref/iw_titletranslate.rst b/docs/api_ref/iw_titletranslate.rst
new file mode 100644
index 0000000..b7faab7
--- /dev/null
+++ b/docs/api_ref/iw_titletranslate.rst
@@ -0,0 +1,5 @@
+:mod:`titletranslate` --- Interwiki Title Translator
+----------------------------------------------------
+
+.. automodule:: titletranslate
+ :synopsis: Title translate module
diff --git a/docs/api_ref/logentries.rst b/docs/api_ref/logentries.rst
new file mode 100644
index 0000000..279f91b
--- /dev/null
+++ b/docs/api_ref/logentries.rst
@@ -0,0 +1,5 @@
+:mod:`logentries` module
+------------------------
+
+.. automodule:: logentries
+ :synopsis: Objects representing Mediawiki log entries
diff --git a/docs/api_ref/logging.rst b/docs/api_ref/logging.rst
new file mode 100644
index 0000000..ee96efd
--- /dev/null
+++ b/docs/api_ref/logging.rst
@@ -0,0 +1,8 @@
+.. module:: logging
+ :synopsis: User output/logging functions
+
+:mod:`logging` --- Logging Functions
+------------------------------------
+
+.. automodule:: pywikibot.logging
+ :member-order: bysource
diff --git a/docs/api_ref/login.rst b/docs/api_ref/login.rst
new file mode 100644
index 0000000..d0150ed
--- /dev/null
+++ b/docs/api_ref/login.rst
@@ -0,0 +1,5 @@
+:mod:`login` module
+-------------------
+
+.. automodule:: login
+ :synopsis: Library to log the bot in to a wiki account
diff --git a/docs/api_ref/proofreadpage.rst b/docs/api_ref/proofreadpage.rst
new file mode 100644
index 0000000..e477ea5
--- /dev/null
+++ b/docs/api_ref/proofreadpage.rst
@@ -0,0 +1,5 @@
+:mod:`proofreadpage` --- ProofreadPage Extension
+------------------------------------------------
+
+.. automodule:: proofreadpage
+ :synopsis: Objects used with ProofreadPage Extension
diff --git a/docs/api_ref/pywikibot.comms.rst b/docs/api_ref/pywikibot.comms.rst
index 16f2c32..566c41f 100644
--- a/docs/api_ref/pywikibot.comms.rst
+++ b/docs/api_ref/pywikibot.comms.rst
@@ -1,20 +1,18 @@
-:mod:`comms` package
-====================
+:mod:`comms` --- Communication layer
+====================================

.. automodule:: comms
:synopsis: Communication layer

-Submodules
-----------

-:mod:`comms.eventstreams` module
---------------------------------
+:mod:`comms.eventstreams` --- Server-Sent Events Client
+-------------------------------------------------------

.. automodule:: comms.eventstreams
:synopsis: Server-Sent Events client

-:mod:`comms.http` module
-------------------------
+:mod:`comms.http` --- HTTP access interface
+-------------------------------------------

.. automodule:: comms.http
:synopsis: Basic HTTP access interface
diff --git a/docs/api_ref/pywikibot.config.rst b/docs/api_ref/pywikibot.config.rst
index 2197a12..ca1fdd8 100644
--- a/docs/api_ref/pywikibot.config.rst
+++ b/docs/api_ref/pywikibot.config.rst
@@ -1,5 +1,5 @@
-:mod:`config` module
---------------------
+:mod:`config` --- Pywikibot Config File
+---------------------------------------

API reference
^^^^^^^^^^^^^
diff --git a/docs/api_ref/pywikibot.data.rst b/docs/api_ref/pywikibot.data.rst
index 7eb2c10..1bfc4bb 100644
--- a/docs/api_ref/pywikibot.data.rst
+++ b/docs/api_ref/pywikibot.data.rst
@@ -1,38 +1,35 @@
-:mod:`data` package
-===================
+:mod:`data` --- Data Exchange
+=============================

.. automodule:: data
- :synopsis:
+ :synopsis: Data Exchange

-Submodules
-----------
-
-:mod:`data.api` module
-----------------------
+:mod:`data.api` --- MediaWiki API Requests
+------------------------------------------

.. automodule:: data.api
:synopsis: Module providing several layers of data access to the wiki

-:mod:`data.memento` module
---------------------------
+:mod:`data.memento` --- Memento Requests
+----------------------------------------

.. automodule:: data.memento
:synopsis: Fix ups for memento-client package version 0.6.1

-:mod:`data.mysql` module
-------------------------
+:mod:`data.mysql` --- Mysql Requests
+------------------------------------

.. automodule:: data.mysql
:synopsis: Miscellaneous helper functions for mysql queries

-:mod:`data.sparql` module
--------------------------
+:mod:`data.sparql` --- SPARQL requests
+--------------------------------------

.. automodule:: data.sparql
:synopsis: SPARQL Query interface

-:mod:`data.wikistats` module
-----------------------------
+:mod:`data.wikistats` --- WikiStats requests
+--------------------------------------------

.. automodule:: data.wikistats
:synopsis: Objects representing WikiStats API
diff --git a/docs/api_ref/pywikibot.families.rst b/docs/api_ref/pywikibot.families.rst
index 8a8245f..a4ae622 100644
--- a/docs/api_ref/pywikibot.families.rst
+++ b/docs/api_ref/pywikibot.families.rst
@@ -1,170 +1,167 @@
-:mod:`families` package
-=======================
+:mod:`families` --- Family Config Files
+=======================================

.. automodule:: families
:synopsis: Families package

-Submodules
-----------
-
-:mod:`families.commons\_family` module
---------------------------------------
+:mod:`families.commons\_family` --- Commons
+-------------------------------------------

.. automodule:: families.commons_family
:synopsis: Family module for Wikimedia Commons

-:mod:`families.foundation\_family` module
------------------------------------------
+:mod:`families.foundation\_family` --- Foundation Wiki
+------------------------------------------------------

.. automodule:: families.foundation_family
- :synopsis: Family module for Foundation wiki
+ :synopsis: Family module for Foundation Wiki

-:mod:`families.i18n\_family` module
------------------------------------
+:mod:`families.i18n\_family` --- Translate Wiki
+-----------------------------------------------

.. automodule:: families.i18n_family
:synopsis: Family module for Translate Wiki

-:mod:`families.incubator\_family` module
-----------------------------------------
+:mod:`families.incubator\_family` --- Incubator
+-----------------------------------------------

.. automodule:: families.incubator_family
:synopsis: Family module for Incubator Wiki

-:mod:`families.lingualibre\_family` module
-------------------------------------------
+:mod:`families.lingualibre\_family` --- Lingua Libre
+----------------------------------------------------

.. automodule:: families.lingualibre_family
:synopsis: Family module for Lingua Libre

-:mod:`families.mediawiki\_family` module
-----------------------------------------
+:mod:`families.mediawiki\_family` --- MediaWiki
+-----------------------------------------------

.. automodule:: families.mediawiki_family
- :synopsis: Family module for MediaWiki wiki
+ :synopsis: Family module for MediaWiki Wiki

-:mod:`families.meta\_family` module
------------------------------------
+:mod:`families.meta\_family` --- Meta
+-------------------------------------

.. automodule:: families.meta_family
:synopsis: Family module for Meta Wiki

-:mod:`families.omegawiki\_family` module
-----------------------------------------
+:mod:`families.omegawiki\_family` --- Omega
+-------------------------------------------

.. automodule:: families.omegawiki_family
:synopsis: Family module for Omega Wiki

-:mod:`families.osm\_family` module
-----------------------------------
+:mod:`families.osm\_family` --- OpenStreetMap
+---------------------------------------------

.. automodule:: families.osm_family
- :synopsis: Family module for OpenStreetMap wiki
+ :synopsis: Family module for OpenStreetMap Wiki

-:mod:`families.outreach\_family` module
----------------------------------------
+:mod:`families.outreach\_family` --- Outreach
+---------------------------------------------

.. automodule:: families.outreach_family
- :synopsis: Family module for Wikimedia outreach wiki
+ :synopsis: Family module for Wikimedia Outreach Wiki

-:mod:`families.species\_family` module
---------------------------------------
+:mod:`families.species\_family` --- Species
+-------------------------------------------

.. automodule:: families.species_family
- :synopsis: Family module for Wikimedia species wiki
+ :synopsis: Family module for Wikimedia Species Wiki

-:mod:`families.vikidia\_family` module
---------------------------------------
+:mod:`families.vikidia\_family` --- Vikidia
+-------------------------------------------

.. automodule:: families.vikidia_family
- :synopsis: Family module for Vikidia
+ :synopsis: Family module for Vikidia Wiki

-:mod:`families.wikibooks\_family` module
-----------------------------------------
+:mod:`families.wikibooks\_family` --- Wikibooks
+-----------------------------------------------

.. automodule:: families.wikibooks_family
:synopsis: Family module for Wikibooks

-:mod:`families.wikidata\_family` module
----------------------------------------
+:mod:`families.wikidata\_family` --- Wikidata
+---------------------------------------------

.. automodule:: families.wikidata_family
:synopsis: Family module for Wikidata

-:mod:`families.wikihow\_family` module
---------------------------------------
+:mod:`families.wikihow\_family` --- Wikihow
+-------------------------------------------

.. automodule:: families.wikihow_family
- :synopsis: Family module for Wikihow wiki
+ :synopsis: Family module for Wikihow Wiki

-:mod:`families.wikimania\_family` module
-----------------------------------------
+:mod:`families.wikimania\_family` --- Wikimania
+-----------------------------------------------

.. automodule:: families.wikimania_family
- :synopsis: Family module for Wikimania wikis
+ :synopsis: Family module for Wikimania Wikis

-:mod:`families.wikimediachapter\_family` module
------------------------------------------------
+:mod:`families.wikimediachapter\_family` --- Wikimedia Chapter
+--------------------------------------------------------------

.. automodule:: families.wikimediachapter_family
:synopsis: Family module for Wikimedia chapter, thematic organisation and WUG wikis

-:mod:`families.wikinews\_family` module
----------------------------------------
+:mod:`families.wikinews\_family` --- Wikinews
+---------------------------------------------

.. automodule:: families.wikinews_family
:synopsis: Family module for Wikinews

-:mod:`families.wikipedia\_family` module
-----------------------------------------
+:mod:`families.wikipedia\_family` --- Wikipedia
+-----------------------------------------------

.. automodule:: families.wikipedia_family
:synopsis: Family module for Wikipedia

-:mod:`families.wikiquote\_family` module
-----------------------------------------
+:mod:`families.wikiquote\_family` --- Wikiquote
+-----------------------------------------------

.. automodule:: families.wikiquote_family
:synopsis: Family module for Wikiquote

-:mod:`families.wikisource\_family` module
------------------------------------------
+:mod:`families.wikisource\_family` --- Wikisource
+-------------------------------------------------

.. automodule:: families.wikisource_family
- :synopsis:Family module for Wikisource
+ :synopsis: Family module for Wikisource

-:mod:`families.wikisopore\_family` module
------------------------------------------
+:mod:`families.wikisopore\_family` --- Wikispore
+------------------------------------------------

.. automodule:: families.wikispore_family
:synopsis: Family module for Wikispore

-:mod:`families.wikitech\_family` module
----------------------------------------
+:mod:`families.wikitech\_family` --- Wikitech
+---------------------------------------------

.. automodule:: families.wikitech_family
:synopsis: Family module for Wikitech

-:mod:`families.wikiversity\_family` module
-------------------------------------------
+:mod:`families.wikiversity\_family` --- Wikiversity
+---------------------------------------------------

.. automodule:: families.wikiversity_family
:synopsis: Family module for Wikiversity

-:mod:`families.wikivoyage\_family` module
------------------------------------------
+:mod:`families.wikivoyage\_family`--- Wikivoyage
+------------------------------------------------

.. automodule:: families.wikivoyage_family
:synopsis: Family module for Wikivoyage

-:mod:`families.wiktionary\_family` module
------------------------------------------
+:mod:`families.wiktionary\_family` --- Wiktionary
+-------------------------------------------------

.. automodule:: families.wiktionary_family
:synopsis: Family module for Wiktionary

-:mod:`families.wowwiki\_family` module
---------------------------------------
+:mod:`families.wowwiki\_family` --- Fandom WOW
+----------------------------------------------

.. automodule:: families.wowwiki_family
- :synopsis: Family module for WOW wiki
+ :synopsis: Family module for Fandom WOW Wiki
diff --git a/docs/api_ref/pywikibot.page.rst b/docs/api_ref/pywikibot.page.rst
index 18e7eb7..d451b9c 100644
--- a/docs/api_ref/pywikibot.page.rst
+++ b/docs/api_ref/pywikibot.page.rst
@@ -1,5 +1,5 @@
-:mod:`page` package
-===================
+:mod:`page` --- MediaWiki Pages
+===============================

.. automodule:: page
:synopsis: Interface of various types of MediaWiki pages
@@ -7,20 +7,21 @@
Submodules
----------

-:mod:`page.\_collections` module
---------------------------------
+:mod:`page.\_collections` Wikibase Entity Structures
+----------------------------------------------------

-.. automodule:: page._collections
+.. automodule:: pywikibot.page._collections
:synopsis: Structures holding data for Wikibase entities

-:mod:`page.\_decorators` module
--------------------------------
+:mod:`page.\_decorators` --- Page Decorators
+--------------------------------------------

.. automodule:: page._decorators
:synopsis: Decorators for Page objects
+ :private-members:

-:mod:`page.\_revision` module
------------------------------
+:mod:`page.\_revision` --- Page Revision
+----------------------------------------

.. automodule:: page._revision
:synopsis: Object representing page revision
diff --git a/docs/api_ref/pywikibot.pagegenerators.rst b/docs/api_ref/pywikibot.pagegenerators.rst
index 72aef9c..3a8fcd5 100644
--- a/docs/api_ref/pywikibot.pagegenerators.rst
+++ b/docs/api_ref/pywikibot.pagegenerators.rst
@@ -1,23 +1,23 @@
-:mod:`pagegenerators` package
-=============================
+:mod:`pagegenerators` --- Page Generators
+=========================================

.. automodule:: pagegenerators
:synopsis: This module offers a wide variety of page generators

-:mod:`pagegenerators.\_factory` module
---------------------------------------
+:mod:`pagegenerators.\_factory` --- Pagegenerators Options Handler
+------------------------------------------------------------------

.. automodule:: pagegenerators._factory
:synopsis: GeneratorFactory module wich handles pagegenerators options

-:mod:`pagegenerators.\_filters` module
---------------------------------------
+:mod:`pagegenerators.\_filters` --- Filter Funtions
+---------------------------------------------------

.. automodule:: pagegenerators._filters
:synopsis: Page filter generators provided by the pagegenerators module

-:mod:`pagegenerators.\_generators` module
------------------------------------------
+:mod:`pagegenerators.\_generators` --- Generator Functions
+----------------------------------------------------------

.. automodule:: pagegenerators._generators
:synopsis: Page filter generators provided by the pagegenerators module
diff --git a/docs/api_ref/pywikibot.rst b/docs/api_ref/pywikibot.rst
index 53aebe5..3ae62f5 100644
--- a/docs/api_ref/pywikibot.rst
+++ b/docs/api_ref/pywikibot.rst
@@ -1,192 +1,4 @@
-pywikibot package
-=================
+:mod:`pywikibot` --- Base Classes and Functions
+===============================================

.. automodule:: pywikibot
-
-Pywikibot Subpackages
----------------------
-
-.. toctree::
-
- pywikibot.comms
- pywikibot.data
- pywikibot.families
- pywikibot.page
- pywikibot.pagegenerators
- pywikibot.site
- pywikibot.specialbots
- pywikibot.tools
- pywikibot.userinterfaces
-
-Submodules
-----------
-
-:mod:`backports` module
------------------------
-
-.. automodule:: backports
- :synopsis: This module contains backports to support older Python versions
-
-:mod:`bot` module
------------------
-
-.. automodule:: bot
- :synopsis: User-interface related functions for building bots
- :member-order: bysource
-
-:mod:`bot\_choice` module
--------------------------
-
-.. automodule:: bot_choice
- :synopsis: Options and Choices for :func:`pywikibot.input_choice`
-
-.. include:: pywikibot.config.rst
-
-:mod:`cosmetic\_changes` module
--------------------------------
-
-.. automodule:: cosmetic_changes
- :synopsis: This module can do slight modifications to tidy a wiki page's source code
-
-:mod:`daemonize` module
------------------------
-
-.. automodule:: daemonize
- :synopsis: Module to daemonize the current process on Unix.
-
-:mod:`date` module
-------------------
-
-.. automodule:: date
- :synopsis: Date data and manipulation module
-
-:mod:`diff` module
-------------------
-
-.. automodule:: diff
- :synopsis: Diff module
-
-:mod:`echo` module
-------------------
-
-.. automodule:: echo
- :synopsis: Classes and functions for working with the Echo extension
-
-:mod:`editor` module
---------------------
-
-.. automodule:: editor
- :synopsis: Text editor class for your favourite editor
-
-:mod:`exceptions` module
-------------------------
-
-.. automodule:: exceptions
- :synopsis: Pywikibot exceptions and warning classes
-
-:mod:`family` module
---------------------
-
-.. automodule:: family
- :synopsis: Objects representing MediaWiki families
-
-:mod:`fixes` module
--------------------
-
-.. automodule:: fixes
- :synopsis: File containing all standard fixes
-
-:mod:`flow` module
-------------------
-
-.. automodule:: flow
- :synopsis: Objects representing Flow entities, like boards, topics, and posts
-
-:mod:`i18n` module
-------------------
-
-.. automodule:: i18n
- :synopsis: Various i18n functions
-
-:mod:`interwiki\_graph` module
-------------------------------
-
-.. automodule:: interwiki_graph
- :synopsis: Module with the Graphviz drawing calls
-
-:mod:`logentries` module
-------------------------
-
-.. automodule:: logentries
- :synopsis: Objects representing Mediawiki log entries
-
-.. module:: logging
- :synopsis: User output/logging functions
-
-:mod:`logging` module
----------------------
-
-.. automodule:: pywikibot.logging
- :member-order: bysource
-
-:mod:`login` module
--------------------
-
-.. automodule:: login
- :synopsis: Library to log the bot in to a wiki account
-
-:mod:`plural` module
---------------------
-
-.. automodule:: plural
- :synopsis: Module containing plural rules of various languages
-
-:mod:`proofreadpage` module
----------------------------
-
-.. automodule:: proofreadpage
- :synopsis: Objects used with ProofreadPage Extension
-
-:mod:`site\_detect` module
---------------------------
-
-.. automodule:: site_detect
- :synopsis: Classes for detecting a MediaWiki site
-
-:mod:`textlib` module
----------------------
-
-.. automodule:: textlib
- :synopsis: Functions for manipulating wiki-text
-
-:mod:`throttle` module
-----------------------
-
-.. automodule:: throttle
- :synopsis: Mechanics to slow down wiki read and/or write rate
-
-.. module:: time
- :synopsis: Time handling module
-
-:mod:`time` module
-------------------
-
-.. automodule:: pywikibot.time
-
-:mod:`titletranslate` module
-----------------------------
-
-.. automodule:: titletranslate
- :synopsis: Title translate module
-
-:mod:`version` module
----------------------
-
-.. automodule:: version
- :synopsis: Module to determine the pywikibot version (tag, revision and date)
-
-:mod:`xmlreader` module
------------------------
-
-.. automodule:: xmlreader
- :synopsis: XML reading module
diff --git a/docs/api_ref/pywikibot.site.rst b/docs/api_ref/pywikibot.site.rst
index 77093b3..046348e 100644
--- a/docs/api_ref/pywikibot.site.rst
+++ b/docs/api_ref/pywikibot.site.rst
@@ -1,5 +1,5 @@
-:mod:`site` package
-===================
+:mod:`site` --- MediaWiki sites
+===============================

.. py:module:: site
:synopsis: Library module representing MediaWiki sites (wikis)
@@ -8,8 +8,8 @@
:no-members:
:noindex:

-:mod:`BaseSite<pywikibot.site._basesite>` package
--------------------------------------------------
+:mod:`BaseSite<pywikibot.site._basesite>` --- Base Class for Sites
+------------------------------------------------------------------

.. py:module:: site._basesite
:synopsis: Objects with site methods independent of the communication interface
@@ -19,8 +19,8 @@
.. py:module:: site._apisite
:synopsis: Objects representing API interface to MediaWiki site

-:mod:`APISite<pywikibot.site.\_apisite>` Package
-------------------------------------------------
+:mod:`APISite<pywikibot.site.\_apisite>` --- API Interface for Sites
+--------------------------------------------------------------------

.. automodule:: pywikibot.site._apisite

@@ -30,48 +30,48 @@
.. automodule:: pywikibot.site._generators
:synopsis: Objects representing API generators to MediaWiki site

-:mod:`DataSite<pywikibot.site.\_datasite>` Package
---------------------------------------------------
+:mod:`DataSite<pywikibot.site.\_datasite>` --- API Interface for Wikibase
+-------------------------------------------------------------------------

.. py:module:: site._datasite
:synopsis: Objects representing API interface to Wikibase site

.. automodule:: pywikibot.site._datasite

-:mod:`Obsolete Sites<pywikibot.site._obsoletesites>` Package
-------------------------------------------------------------
+:mod:`Obsolete Sites<pywikibot.site._obsoletesites>` --- Outdated Sites
+-----------------------------------------------------------------------

.. py:module:: site._obsoletesites
:synopsis: Objects representing obsolete MediaWiki sites

.. automodule:: pywikibot.site._obsoletesites

-:mod:`Siteinfo<pywikibot.site._siteinfo>` Package
--------------------------------------------------
+:mod:`Siteinfo<pywikibot.site._siteinfo>` --- Site Info Container
+-----------------------------------------------------------------

.. py:module:: site._siteinfo
:synopsis: Objects representing site info data contents

.. automodule:: pywikibot.site._siteinfo

-:mod:`Namespace<pywikibot.site._namespace>` Package
----------------------------------------------------
+:mod:`Namespace<pywikibot.site._namespace>` --- Namespace Object
+----------------------------------------------------------------

.. py:module:: site._namespace
:synopsis: Objects representing Namespaces of MediaWiki site

.. automodule:: pywikibot.site._namespace

-:mod:`TokenWallet<pywikibot.site._tokenwallet>` Package
--------------------------------------------------------
+:mod:`TokenWallet<pywikibot.site._tokenwallet>` --- Token Wallet
+----------------------------------------------------------------

.. py:module:: site._tokenwallet
:synopsis: Objects representing api tokens

.. automodule:: pywikibot.site._tokenwallet

-:mod:`Uploader<pywikibot.site._upload>` Package
------------------------------------------------
+:mod:`Uploader<pywikibot.site._upload>` --- Uploader Interface
+--------------------------------------------------------------

.. py:module:: site._upload
:synopsis: Objects representing API upload to MediaWiki site
diff --git a/docs/api_ref/pywikibot.specialbots.rst b/docs/api_ref/pywikibot.specialbots.rst
index ee34884..7a91759 100644
--- a/docs/api_ref/pywikibot.specialbots.rst
+++ b/docs/api_ref/pywikibot.specialbots.rst
@@ -1,5 +1,5 @@
-:mod:`specialbots` package
-==========================
+:mod:`specialbots` --- Special Reusable Bots
+============================================

.. automodule:: specialbots
:synopsis: Module containing special bots reusable by scripts
\ No newline at end of file
diff --git a/docs/api_ref/pywikibot.tools.rst b/docs/api_ref/pywikibot.tools.rst
index 5b46ea8..8ed647e 100644
--- a/docs/api_ref/pywikibot.tools.rst
+++ b/docs/api_ref/pywikibot.tools.rst
@@ -1,47 +1,47 @@
-:mod:`tools` package
-====================
+:mod:`tools` --- Miscellaneous Helper Functions
+===============================================

.. automodule:: tools
:synopsis: Miscellaneous helper functions (not wiki-dependent)

-:mod:`tools.chars` module
--------------------------
+:mod:`tools.chars` --- Character Based Helper Functions
+-------------------------------------------------------

.. automodule:: tools.chars
:synopsis: Character based helper functions (not wiki-dependent)

-:mod:`tools.collections` module
--------------------------------
+:mod:`tools.collections` --- Container datatypes
+------------------------------------------------

.. automodule:: tools.collections
:synopsis: Collections datatypes

-:mod:`tools.deprecate` module
------------------------------
+:mod:`tools.deprecate` --- Deprecating Decorators and Classes
+-------------------------------------------------------------

.. automodule:: tools._deprecate
:synopsis: Module providing deprecation decorators

-:mod:`tools.djvu` module
-------------------------
+:mod:`tools.djvu` --- DJVU files wrapper
+----------------------------------------

.. automodule:: tools.djvu
:synopsis: Wrapper around djvulibre to access djvu files properties and content

-:mod:`tools.formatter` module
------------------------------
+:mod:`tools.formatter` --- Formatting Related Functions and Classes
+-------------------------------------------------------------------

.. automodule:: tools.formatter
:synopsis: Module containing various formatting related utilities

-:mod:`tools.itertools` module
------------------------------
+:mod:`tools.itertools` --- Iterators for Efficient Looping
+----------------------------------------------------------

.. automodule:: tools.itertools
:synopsis: Iterator functions

-:mod:`tools.\_logging` module
------------------------------
+:mod:`tools.\_logging` --- logging.Formatter Subclass
+-----------------------------------------------------

.. automodule:: tools._logging
:synopsis: Logging tools
diff --git a/docs/api_ref/pywikibot.userinterfaces.rst b/docs/api_ref/pywikibot.userinterfaces.rst
index bf08f20..bb1240b 100644
--- a/docs/api_ref/pywikibot.userinterfaces.rst
+++ b/docs/api_ref/pywikibot.userinterfaces.rst
@@ -1,59 +1,59 @@
-:mod:`userinterfaces` package
-=============================
+:mod:`userinterfaces` --- User interfaces
+=========================================

.. automodule:: userinterfaces
:synopsis: User interfaces module

-:mod:`\_interface\_base` module
--------------------------------
+:mod:`\_interface\_base` --- Abstract User Interface
+----------------------------------------------------

.. automodule:: userinterfaces._interface_base
:synopsis: Abstract base user interface module

-:mod:`terminal\_interface` module
----------------------------------
+:mod:`terminal\_interface` module --- Terminal User Interface
+-------------------------------------------------------------

.. automodule:: userinterfaces.terminal_interface
:synopsis: Platform independent terminal interface module

-:mod:`terminal\_interface\_base` module
----------------------------------------
+:mod:`terminal\_interface\_base` --- Base Terminal Interface
+-------------------------------------------------------------

.. automodule:: userinterfaces.terminal_interface_base
:synopsis: Base for terminal user interfaces

-:mod:`terminal\_interface\_unix` module
----------------------------------------
+:mod:`terminal\_interface\_unix` --- Unix Terminal Interface
+------------------------------------------------------------

.. automodule:: userinterfaces.terminal_interface_unix
:synopsis: User interface for Unix terminals

-:mod:`terminal\_interface\_win32` module
-----------------------------------------
+:mod:`terminal\_interface\_win32` ---- Windows Terminal Interface
+-----------------------------------------------------------------

.. automodule:: userinterfaces.terminal_interface_win32
:synopsis: User interface for Win32 terminals

-:mod:`buffer\_interface` module
--------------------------------
+:mod:`buffer\_interface` --- Buffer Interface
+---------------------------------------------

.. automodule:: userinterfaces.buffer_interface
:synopsis: Non-interactive interface that stores output

-:mod:`gui` module
------------------
+:mod:`gui` --- Graphical User Interface
+---------------------------------------

.. automodule:: userinterfaces.gui
:synopsis: A window with a textfield where the user can edit

-:mod:`transliteration` module
------------------------------
+:mod:`transliteration` --- Transliteration
+------------------------------------------

.. automodule:: userinterfaces.transliteration
:synopsis: Module to transliterate text

-:mod:`win32\_unicode` module
-----------------------------
+:mod:`win32\_unicode` --- Unicode Interface for Python 3.5
+----------------------------------------------------------

.. automodule:: userinterfaces.win32_unicode
:synopsis: Unicode support for stdout, stderr and argv with Python 3.5.
diff --git a/docs/api_ref/reader.rst b/docs/api_ref/reader.rst
new file mode 100644
index 0000000..83e2d16
--- /dev/null
+++ b/docs/api_ref/reader.rst
@@ -0,0 +1,5 @@
+:mod:`xmlreader` --- XML Reader
+-------------------------------
+
+.. automodule:: xmlreader
+ :synopsis: XML reading module
diff --git a/docs/api_ref/site_detect.rst b/docs/api_ref/site_detect.rst
new file mode 100644
index 0000000..bd08507
--- /dev/null
+++ b/docs/api_ref/site_detect.rst
@@ -0,0 +1,5 @@
+:mod:`site\_detect` --- Classes for Detecting MediaWiki Sites
+-------------------------------------------------------------
+
+.. automodule:: site_detect
+ :synopsis: Classes for detecting a MediaWiki site
diff --git a/docs/api_ref/textlib.rst b/docs/api_ref/textlib.rst
new file mode 100644
index 0000000..d1708ac
--- /dev/null
+++ b/docs/api_ref/textlib.rst
@@ -0,0 +1,5 @@
+:mod:`textlib` --- Changing Wikitext
+------------------------------------
+
+.. automodule:: textlib
+ :synopsis: Functions for manipulating wiki-text
diff --git a/docs/api_ref/throttle.rst b/docs/api_ref/throttle.rst
new file mode 100644
index 0000000..71eda40
--- /dev/null
+++ b/docs/api_ref/throttle.rst
@@ -0,0 +1,5 @@
+:mod:`throttle` --- Slow Down Wiki I/O
+--------------------------------------
+
+.. automodule:: throttle
+ :synopsis: Mechanics to slow down wiki read and/or write rate
diff --git a/docs/api_ref/version.rst b/docs/api_ref/version.rst
new file mode 100644
index 0000000..58e7b9d
--- /dev/null
+++ b/docs/api_ref/version.rst
@@ -0,0 +1,5 @@
+:mod:`version` --- Determine Pywikibot Version
+----------------------------------------------
+
+.. automodule:: version
+ :synopsis: Module to determine the pywikibot version (tag, revision and date)
diff --git a/docs/api_ref/x_backports.rst b/docs/api_ref/x_backports.rst
new file mode 100644
index 0000000..6c72988
--- /dev/null
+++ b/docs/api_ref/x_backports.rst
@@ -0,0 +1,5 @@
+:mod:`backports` - Python Backports
+-----------------------------------
+
+.. automodule:: backports
+ :synopsis: This module contains backports to support older Python versions
diff --git a/pywikibot/page/_decorators.py b/pywikibot/page/_decorators.py
index ae20bb0..bf6722b 100644
--- a/pywikibot/page/_decorators.py
+++ b/pywikibot/page/_decorators.py
@@ -14,8 +14,8 @@
from pywikibot.tools import add_full_name, manage_wrapping


-@add_full_name
-def allow_asynchronous(func):
+# decorating this function leads sphinx to hide it
+def _allow_asynchronous(func):
"""
Decorator to make it possible to run a BasePage method asynchronously.

@@ -23,6 +23,8 @@
Optionally, you can also provide kwarg callback, which, if provided, is
a callable that gets the page as the first and a possible exception that
occurred during saving in the second thread or None as the second argument.
+
+ :meta public:
"""
def handle(func, self, *args, **kwargs):
do_async = kwargs.pop('asynchronous', False)
@@ -55,3 +57,7 @@
manage_wrapping(wrapper, func)

return wrapper
+
+
+#: `_allow_asynchronous` decorated with :func:`tools.add_full_name`
+allow_asynchronous = add_full_name(_allow_asynchronous)

To view, visit change 826598. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: Icaac8e9504e34f1b05be43a427aae0a5e47f1d57
Gerrit-Change-Number: 826598
Gerrit-PatchSet: 2
Gerrit-Owner: Xqt <info@gno.de>
Gerrit-Reviewer: Xqt <info@gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged