jenkins-bot submitted this change.

View Change

Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified
[bugfix] Fix botMayEdit logic

The warning was printed when there was a valid key but the value didn't match any skip condition.

Also, store calledModuleName() in a variable to save space (and a little time).

Change-Id: Ibfce75f9157dae8fb94255e109b222e82323ed04
---
M pywikibot/page/__init__.py
1 file changed, 16 insertions(+), 18 deletions(-)

diff --git a/pywikibot/page/__init__.py b/pywikibot/page/__init__.py
index c6048e8..ccd8f41 100644
--- a/pywikibot/page/__init__.py
+++ b/pywikibot/page/__init__.py
@@ -1047,6 +1047,7 @@
return True

username = self.site.username()
+ module = pywikibot.calledModuleName()
try:
templates = self.templatesWithParams()
except (NoPageError, IsRedirectPageError, SectionError):
@@ -1056,7 +1057,7 @@
restrictions = set(self.site.get_edit_restricted_templates())

# also add archive templates for non-archive bots
- if pywikibot.calledModuleName() != 'archivebot':
+ if module != 'archivebot':
restrictions.update(self.site.get_archived_page_templates())

# multiple bots/nobots templates are allowed
@@ -1095,9 +1096,7 @@
'Edit declined' % key)
return False

- if 'all' in names \
- or pywikibot.calledModuleName() in names \
- or username in names:
+ if 'all' in names or module in names or username in names:
return False

if title == 'Bots':
@@ -1111,24 +1110,23 @@
'{{bots|%s=}} is not valid. Ignoring.' % key)
continue

- if key == 'allow' and not ('all' in names
- or username in names):
- return False
+ if key == 'allow':
+ if not ('all' in names or username in names):
+ return False

- if key == 'deny' and ('all' in names or username in names):
- return False
+ elif key == 'deny':
+ if 'all' in names or username in names:
+ return False

- if key == 'allowscript' \
- and not ('all' in names
- or pywikibot.calledModuleName() in names):
- return False
+ elif key == 'allowscript':
+ if not ('all' in names or module in names):
+ return False

- if key == 'denyscript' \
- and ('all' in names
- or pywikibot.calledModuleName() in names):
- return False
+ elif key == 'denyscript':
+ if 'all' in names or module in names:
+ return False

- if key: # ignore unrecognized keys with a warning
+ elif key: # ignore unrecognized keys with a warning
pywikibot.warning(
'{{bots|%s}} is not valid. Ignoring.' % params[0])


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

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: Ibfce75f9157dae8fb94255e109b222e82323ed04
Gerrit-Change-Number: 697109
Gerrit-PatchSet: 3
Gerrit-Owner: Matěj Suchánek <matejsuchanek97@gmail.com>
Gerrit-Reviewer: Xqt <info@gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged