jenkins-bot submitted this change.

View Change

Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified
[IMPR] Replace some assert statements in api.py

assert should not be used outside tests because they can be removed
with -o option; replace it with RuntimeError if applicable.

Change-Id: I6cec8ab6d5b0d5a3e2342753fffe19f38577a7b3
---
M pywikibot/data/api.py
1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/pywikibot/data/api.py b/pywikibot/data/api.py
index c1de7ac..733ef13 100644
--- a/pywikibot/data/api.py
+++ b/pywikibot/data/api.py
@@ -206,7 +206,8 @@
# the same data available in the paraminfo for query.
query_modules_param = self.parameter('paraminfo', 'querymodules')

- assert('limit' in query_modules_param)
+ if 'limit' not in query_modules_param:
+ raise RuntimeError('"limit" not found in query modules')
self._limit = query_modules_param['limit']

if query_modules_param and 'type' in query_modules_param:
@@ -583,7 +584,10 @@
if not param_data:
return None

- assert(len(param_data) == 1)
+ if len(param_data) != 1:
+ raise RuntimeError(
+ 'parameter data length is eiter empty or not unique.\n{}'
+ .format(param_data))
return param_data[0]

@property
@@ -1132,7 +1136,10 @@
if isinstance(value, datetime.datetime):
return value.strftime(pywikibot.Timestamp.ISO8601Format)
if isinstance(value, pywikibot.page.BasePage):
- assert(value.site == self.site)
+ if value.site != self.site:
+ raise RuntimeError(
+ 'value.site {!r} is different from Request.site {!r}'
+ .format(value.site, self.site))
return value.title(with_section=False)
return str(value)

@@ -1972,7 +1979,9 @@
filename = self._cachefile_path()
with open(filename, 'rb') as f:
uniquedescr, self._data, self._cachetime = pickle.load(f)
- assert(uniquedescr == self._uniquedescriptionstr())
+ if uniquedescr != self._uniquedescriptionstr():
+ raise RuntimeError('Expected unique description for the cache '
+ 'entry is different from file entry.')
if self._expired(self._cachetime):
self._data = None
return False
@@ -3110,7 +3119,10 @@
page.latest_revision_id = pagedict['lastrevid']

if 'imageinfo' in pagedict:
- assert(isinstance(page, pywikibot.FilePage))
+ if not isinstance(page, pywikibot.FilePage):
+ raise RuntimeError(
+ '"imageinfo" found but {} is not a FilePage object'
+ .format(page))
page._load_file_revisions(pagedict['imageinfo'])

if 'categoryinfo' in pagedict:

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

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