jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/663559 )
Change subject: [doc] Update doc for logentries_tests.py
......................................................................
[doc] Update doc for logentries_tests.py
The old format has been dropped with MW 1.25
Change-Id: I4ba5db953f6608d35b4f1924e6f0db07957af0c2
---
M tests/logentries_tests.py
1 file changed, 4 insertions(+), 4 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/tests/logentries_tests.py b/tests/logentries_tests.py
index 5de828a..42ad908 100644
--- a/tests/logentries_tests.py
+++ b/tests/logentries_tests.py
@@ -28,9 +28,9 @@
It uses the German Wikipedia for a current representation of the
log entries and the test Wikipedia for the future representation.
- It also tests on a wiki with MW 1.19 to check that it can still read
- the older format. It currently uses wowwiki which as of this commit
- uses 1.19.24.
+ It also tests on a wiki with MW < 1.25 to check that it can still
+ read the older format. It currently uses portalwiki which as of this
+ commit uses 1.23.16.
"""
sites = {
@@ -63,7 +63,7 @@
# This is an assertion as the tests don't make sense with newer
# MW versions and otherwise it might not be visible that the test
# isn't run on an older wiki.
- self.assertLess(self.site.mw_version, '1.24')
+ self.assertLess(self.site.mw_version, '1.25')
try:
le = next(iter(self.site.logevents(logtype=logtype, total=1)))
except StopIteration:
--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/663559
To unsubscribe, or for help writing mail filters, visit https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I4ba5db953f6608d35b4f1924e6f0db07957af0c2
Gerrit-Change-Number: 663559
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <info(a)gno.de>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged
jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/663293 )
Change subject: [doc] Update documentation in logentries.py
......................................................................
[doc] Update documentation in logentries.py
The API changes was made with mw 1.25, not 1.19
https://www.mediawiki.org/w/index.php?title=API:Logevents&oldid=2661391
Change-Id: Ife1ecf5ff38dfaacf464eaecc40889c294225011
---
M pywikibot/logentries.py
1 file changed, 24 insertions(+), 22 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/logentries.py b/pywikibot/logentries.py
index 68d9708..92a5d1c 100644
--- a/pywikibot/logentries.py
+++ b/pywikibot/logentries.py
@@ -5,6 +5,7 @@
# Distributed under the terms of the MIT license.
#
from collections import UserDict
+from contextlib import suppress
from typing import Optional
import pywikibot
@@ -43,7 +44,7 @@
raise Error('Wrong log type! Expecting %s, received %s instead.'
% (expected_type, self.type()))
- def __missing__(self, key):
+ def __missing__(self, key: str):
"""Debug when the key is missing.
HiddenKeyError is raised when the user does not have permission.
@@ -60,10 +61,11 @@
raise HiddenKeyError(
"Log entry ({}) has a hidden '{}' key and you don't have "
'permission to view it.'.format(self['type'], key))
+
raise KeyError("Log entry ({}) has no '{}' key"
.format(self['type'], key))
- def __repr__(self):
+ def __repr__(self) -> str:
"""Return a string representation of LogEntry object."""
return '<{0}({1}, logid={2})>'.format(type(self).__name__,
self.site.sitename, self.logid())
@@ -72,7 +74,7 @@
"""Combine site and logid as the hash."""
return self.logid() ^ hash(self.site)
- def __eq__(self, other):
+ def __eq__(self, other)-> bool:
"""Compare if self is equal to other."""
if not isinstance(other, LogEntry):
pywikibot.debug("'{0}' cannot be compared with '{1}'"
@@ -96,10 +98,10 @@
@rtype: dict or None
"""
- if 'params' in self:
+ with suppress(KeyError):
return self['params']
- else: # try old mw style preceding mw 1.19
- return self[self._expected_type]
+
+ return self[self._expected_type]
@deprecated('page()', since='20150617', future_warning=True)
def title(self):
@@ -188,8 +190,8 @@
# TODO what for IP ranges ?
if self.isAutoblockRemoval:
return self._blockid
- else:
- return super().page()
+
+ return super().page()
def flags(self) -> List[str]:
"""
@@ -203,7 +205,7 @@
return []
if not hasattr(self, '_flags'):
self._flags = self._params['flags']
- # pre mw 1.19 returned a delimited string.
+ # pre mw 1.25 returned a delimited string.
if isinstance(self._flags, str):
if self._flags:
self._flags = self._flags.split(',')
@@ -250,16 +252,18 @@
def oldgroups(self):
"""Return old rights groups."""
params = self._params
- if 'old' in params: # old mw style
+ if 'old' in params: # old mw style (mw < 1.25)
return params['old'].split(',') if params['old'] else []
+
return params['oldgroups']
@property
def newgroups(self):
"""Return new rights groups."""
params = self._params
- if 'new' in params: # old mw style
+ if 'new' in params: # old mw style (mw < 1.25)
return params['new'].split(',') if params['new'] else []
+
return params['newgroups']
@@ -294,7 +298,7 @@
@property
def target_ns(self):
"""Return namespace object of target page."""
- # key has been changed in mw 1.19
+ # key has been changed in mw 1.25 to 'target_ns'
return self.site.namespaces[self._params['target_ns']
if 'target_ns' in self._params
else self._params['new_ns']]
@@ -307,7 +311,7 @@
@property
def target_title(self):
"""Return the target title."""
- # key has been changed in mw 1.19
+ # key has been changed in mw 1.25 to 'target_title'
return (self._params['target_title']
if 'target_title' in self._params
else self._params['new_title'])
@@ -323,12 +327,8 @@
self._target_page = pywikibot.Page(self.site, self.target_title)
return self._target_page
- def suppressedredirect(self):
- """
- Return True if no redirect was created during the move.
-
- @rtype: bool
- """
+ def suppressedredirect(self) -> bool:
+ """Return True if no redirect was created during the move."""
# Introduced in MW r47901
return 'suppressedredirect' in self._params
@@ -342,7 +342,7 @@
@property
def current_id(self) -> int:
"""Return the current id."""
- # key has been changed in mw 1.19; try the new mw style first
+ # key has been changed in mw 1.25; try the new mw style first
# sometimes it returns strs sometimes ints
return int(self._params['curid']
if 'curid' in self._params else self._params['cur'])
@@ -350,13 +350,13 @@
@property
def previous_id(self) -> int:
"""Return the previous id."""
- # key has been changed in mw 1.19; try the new mw style first
+ # key has been changed in mw 1.25; try the new mw style first
# sometimes it returns strs sometimes ints
return int(self._params['previd']
if 'previd' in self._params else self._params['prev'])
@property
- def auto(self):
+ def auto(self) -> bool:
"""Return auto patrolled."""
return 'auto' in self._params and self._params['auto'] != 0
@@ -418,6 +418,7 @@
"""
if logtype not in self._site.logtypes:
raise KeyError('{} is not a valid logtype'.format(logtype))
+
return LogEntryFactory.get_entry_class(logtype)
@classmethod
@@ -456,6 +457,7 @@
pywikibot.debug('API log entry received:\n{0}'.format(logdata),
_logger)
raise Error("Log entry has no 'type' key")
+
return LogEntryFactory.get_entry_class(logtype)(logdata, self._site)
--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/663293
To unsubscribe, or for help writing mail filters, visit https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: Ife1ecf5ff38dfaacf464eaecc40889c294225011
Gerrit-Change-Number: 663293
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <info(a)gno.de>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged
jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/663277 )
Change subject: [tests] Use Portalwiki for logentries_tests.py
......................................................................
[tests] Use Portalwiki for logentries_tests.py
btrfswiki is MW 1.19 which is no longer supported.
Remove btrfswiki from test matrix and replace it with
portalwiki which is 1.23
Bug: T268979
Change-Id: Ic4ca4e8f7f4693c66d1d641768000674203db263
---
M tests/logentries_tests.py
1 file changed, 4 insertions(+), 5 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/tests/logentries_tests.py b/tests/logentries_tests.py
index 7201956..5de828a 100644
--- a/tests/logentries_tests.py
+++ b/tests/logentries_tests.py
@@ -50,10 +50,9 @@
'target': None,
},
'old': {
- 'family': AutoFamily('btrfs',
- # /api.php required for scriptpath()
- 'https://btrfs.wiki.kernel.org/api.php'),
- 'code': 'btrfs',
+ 'family': AutoFamily('portalwiki',
+ 'https://theportalwiki.com/wiki/Main_Page'),
+ 'code': 'en',
'target': None,
}
}
@@ -64,7 +63,7 @@
# This is an assertion as the tests don't make sense with newer
# MW versions and otherwise it might not be visible that the test
# isn't run on an older wiki.
- self.assertLess(self.site.mw_version, '1.20')
+ self.assertLess(self.site.mw_version, '1.24')
try:
le = next(iter(self.site.logevents(logtype=logtype, total=1)))
except StopIteration:
--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/663277
To unsubscribe, or for help writing mail filters, visit https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: Ic4ca4e8f7f4693c66d1d641768000674203db263
Gerrit-Change-Number: 663277
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <info(a)gno.de>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged