Nullzero has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/153224

Change subject: Fix docstrings and PEP257
......................................................................

Fix docstrings and PEP257

Change-Id: I3406bee8df5c244703f744b9dd83b953af983517
---
M pywikibot/data/api.py
1 file changed, 42 insertions(+), 20 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core 
refs/changes/24/153224/1

diff --git a/pywikibot/data/api.py b/pywikibot/data/api.py
index 2bdb78a..efe88b3 100644
--- a/pywikibot/data/api.py
+++ b/pywikibot/data/api.py
@@ -47,7 +47,9 @@
 
 
 class APIError(pywikibot.Error):
+
     """The wiki site returned an error message."""
+
     def __init__(self, code, info, **kwargs):
         """Save error dict returned by MW API."""
         self.code = code
@@ -67,6 +69,7 @@
 
 
 class Request(MutableMapping):
+
     """A request to a Site's api.php interface.
 
     Attributes of this object (except for the special parameters listed
@@ -121,6 +124,7 @@
     @param format: (optional) Defaults to "json"
 
     """
+
     def __init__(self, **kwargs):
         try:
             self.site = kwargs.pop("site")
@@ -277,7 +281,7 @@
     def submit(self):
         """Submit a query and parse the response.
 
-        @return:  The data retrieved from api.php (a dict)
+        @return: a dict containing data retrieved from api.php
 
         """
         while True:
@@ -469,7 +473,10 @@
 
 class CachedRequest(Request):
     def __init__(self, expiry, *args, **kwargs):
-        """ expiry should be either a number of days or a datetime.timedelta 
object """
+        """Construct a CachedRequest object.
+
+        @param expiry: either a number of days or a datetime.timedelta object
+        """
         super(CachedRequest, self).__init__(*args, **kwargs)
         if not isinstance(expiry, datetime.timedelta):
             expiry = datetime.timedelta(expiry)
@@ -479,7 +486,7 @@
 
     @staticmethod
     def _get_cache_dir():
-        """The base directory path for cache entries.
+        """Return the base directory path for cache entries.
 
         The directory will be created if it does not already exist.
 
@@ -508,11 +515,12 @@
         return dir
 
     def _uniquedescriptionstr(self):
-        """ Unique description for the cache entry.
+        """Return unique description for the cache entry.
 
         If this is modified, please also update
         scripts/maintenance/cache.py to support
-        the new key and all previous keys. """
+        the new key and all previous keys.
+        """
 
         login_status = self.site._loginstatus
 
@@ -544,7 +552,7 @@
         return dt + self.expiry < datetime.datetime.now()
 
     def _load_cache(self):
-        """ Return whether the cache can be used """
+        """Return whether the cache can be used."""
         try:
             with open(self._cachefile_path(), 'rb') as f:
                 uniquedescr, self._data, self._cachetime = pickle.load(f)
@@ -561,7 +569,7 @@
             return False
 
     def _write_cache(self, data):
-        """ writes data to self._cachefile_path() """
+        """Write data to self._cachefile_path()."""
         data = [self._uniquedescriptionstr(), data, datetime.datetime.now()]
         with open(self._cachefile_path(), 'wb') as f:
             pickle.dump(data, f)
@@ -575,6 +583,7 @@
 
 
 class QueryGenerator(object):
+
     """Base class for iterators that handle responses to API action=query.
 
     By default, the iterator will iterate each item in the query response,
@@ -590,11 +599,12 @@
     links. See the API documentation for specific query options.
 
     """
+
     def __init__(self, **kwargs):
-        """
-        Constructor: kwargs are used to create a Request object;
-        see that object's documentation for values. 'action'='query' is
-        assumed.
+        """Construct a QueryGenerator object.
+
+        kwargs are used to create a Request object; see that object's
+        documentation for values. 'action'='query' is assumed.
 
         """
         if "action" in kwargs and kwargs["action"] != "query":
@@ -644,7 +654,7 @@
     def __modules(self):
         """
         Instance cache: hold the query data for paraminfo on
-        querymodule=self.module at self.site
+        querymodule=self.module at self.site.
 
         """
         if not hasattr(self.site, "_modules"):
@@ -653,13 +663,13 @@
 
     @__modules.deleter
     def __modules(self):
-        """Delete the instance cache - maybe we don't need it"""
+        """Delete the instance cache - maybe we don't need it."""
         if hasattr(self.site, "_modules"):
             del self.site._modules
 
     @property
     def _modules(self):
-        """Query api on self.site for paraminfo on querymodule=self.module"""
+        """Query api on self.site for paraminfo on querymodule=self.module."""
         if not set(self.module.split('|')) <= set(self.__modules.keys()):
             paramreq = CachedRequest(expiry=config.API_config_expiry,
                                      site=self.site, action="paraminfo",
@@ -711,7 +721,7 @@
         self.limit = int(value)
 
     def update_limit(self):
-        """Set query limit for self.module based on api response"""
+        """Set query limit for self.module based on api response."""
 
         for mod in self.module.split('|'):
             for param in self._modules[mod].get("parameters", []):
@@ -745,7 +755,7 @@
                     return
 
     def __iter__(self):
-        """Submit request and iterate the response based on self.resultkey
+        """Submit request and iterate the response based on self.resultkey.
 
         Continues response as needed until limit (if any) is reached.
 
@@ -857,13 +867,15 @@
 
 
 class PageGenerator(QueryGenerator):
+
     """Iterator for response to a request of type action=query&generator=foo.
 
     This class can be used for any of the query types that are listed in the
-    API documentation as being able to be used as a generator.  Instances of
+    API documentation as being able to be used as a generator. Instances of
     this class iterate Page objects.
 
     """
+
     def __init__(self, generator, g_content=False, **kwargs):
         """
         Required and optional parameters are as for C{Request}, except that
@@ -905,6 +917,7 @@
 
 
 class CategoryPageGenerator(PageGenerator):
+
     """Like PageGenerator, but yields Category objects instead of Pages."""
 
     def result(self, pagedata):
@@ -913,6 +926,7 @@
 
 
 class ImagePageGenerator(PageGenerator):
+
     """Like PageGenerator, but yields ImagePage objects instead of Pages."""
 
     def result(self, pagedata):
@@ -924,7 +938,8 @@
 
 
 class PropertyGenerator(QueryGenerator):
-    """Iterator for queries of type action=query&property=...
+
+    """Iterator for queries of type action=query&prop=...
 
     See the API documentation for types of page properties that can be
     queried.
@@ -936,12 +951,13 @@
     be supplied when instantiating this class).
 
     """
+
     def __init__(self, prop, **kwargs):
         """
         Required and optional parameters are as for C{Request}, except that
         action=query is assumed and prop is required.
 
-        @param prop: the "property=" type from api.php
+        @param prop: the "prop=" type from api.php
         @type prop: str
 
         """
@@ -950,6 +966,7 @@
 
 
 class ListGenerator(QueryGenerator):
+
     """Iterator for queries of type action=query&list=...
 
     See the API documentation for types of lists that can be queried.  Lists
@@ -963,6 +980,7 @@
     returned information into a Page object.
 
     """
+
     def __init__(self, listaction, **kwargs):
         """
         Required and optional parameters are as for C{Request}, except that
@@ -976,10 +994,12 @@
 
 
 class LogEntryListGenerator(ListGenerator):
+
     """
     Like ListGenerator, but specialized for listaction="logevents" :
     yields LogEntry objects instead of dicts.
     """
+
     def __init__(self, logtype=None, **kwargs):
         ListGenerator.__init__(self, "logevents", **kwargs)
 
@@ -991,13 +1011,15 @@
 
 
 class LoginManager(login.LoginManager):
+
     """Supply getCookie() method to use API interface."""
+
     def getCookie(self, remember=True, captchaId=None, captchaAnswer=None):
         """Login to the site.
 
         Parameters are all ignored.
 
-        Returns cookie data if successful, None otherwise.
+        @return: cookie data if successful, None otherwise.
 
         """
         if hasattr(self, '_waituntil'):

-- 
To view, visit https://gerrit.wikimedia.org/r/153224
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3406bee8df5c244703f744b9dd83b953af983517
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Nullzero <nullzero.f...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to