Xqt has uploaded a new change for review. https://gerrit.wikimedia.org/r/267434
Change subject: [FEAT] Enable iprange with site.blocks generator. ...................................................................... [FEAT] Enable iprange with site.blocks generator. mw API provides bkip parameter to filter an ip address or an ip range block. Enable this feature with pwb. Also add some additional documentations. Bug: T125303 Change-Id: I9f4698a0b8319f8fb869c46c7d82e8d25a189822 --- M pywikibot/site.py 1 file changed, 17 insertions(+), 3 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core refs/changes/34/267434/1 diff --git a/pywikibot/site.py b/pywikibot/site.py index 369972c..4032896 100644 --- a/pywikibot/site.py +++ b/pywikibot/site.py @@ -4119,7 +4119,7 @@ return aigen def blocks(self, starttime=None, endtime=None, reverse=False, - blockids=None, users=None, step=None, total=None): + blockids=None, users=None, iprange=None, step=None, total=None): """Iterate all current blocks, in order of creation. Note that logevents only logs user blocks, while this method @@ -4128,10 +4128,21 @@ (see L{https://www.mediawiki.org/wiki/API:Blocks}). @param starttime: start iterating at this Timestamp + @type starttime: pywikibot.Timestamp @param endtime: stop iterating at this Timestamp + @type endtime: pywikibot.Timestamp @param reverse: if True, iterate oldest blocks first (default: newest) - @param blockids: only iterate blocks with these id numbers + @type reverse: bool + @param blockids: only iterate blocks with these id numbers. Numbers + must be separated by '|' if given by a basestring. + @type params: basestring, tuple or list @param users: only iterate blocks affecting these usernames or IPs + @type params: basestring, tuple or list + @param iprange: a single IP or an IP range. ranges broader than + IPv4/16 or IPv6/19 are not accepted. + @note: Cannot be used together with users. + @param total: total amount of block entries + @type total: int """ if starttime and endtime: if reverse: @@ -4146,7 +4157,8 @@ "endtime must be before starttime with reverse=False") bkgen = self._generator(api.ListGenerator, type_arg="blocks", step=step, total=total) - bkgen.request["bkprop"] = "id|user|by|timestamp|expiry|reason|range|flags" + bkgen.request['bkprop'] = ( + 'id|user|userid|by|timestamp|expiry|reason|range|flags') if starttime: bkgen.request["bkstart"] = starttime if endtime: @@ -4163,6 +4175,8 @@ users = [user.upper() if is_IP(user) and '::' not in user else user for user in users] bkgen.request["bkusers"] = users + elif iprange: + bkgen.requests['bkip'] = iprange return bkgen def exturlusage(self, url=None, protocol="http", namespaces=None, -- To view, visit https://gerrit.wikimedia.org/r/267434 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I9f4698a0b8319f8fb869c46c7d82e8d25a189822 Gerrit-PatchSet: 1 Gerrit-Project: pywikibot/core Gerrit-Branch: master Gerrit-Owner: Xqt <i...@gno.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits