jenkins-bot has submitted this change. ( 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/645931 )

Change subject: [bugfix] cache botMayEdit result
......................................................................

[bugfix] cache botMayEdit result

Patch detached from bcc30f5

Bug: T267770
Change-Id: I34d258ea7018044c0fda067b0e5794a0f5ec449d
---
M pywikibot/page/__init__.py
1 file changed, 5 insertions(+), 4 deletions(-)

Approvals:
  Xqt: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/pywikibot/page/__init__.py b/pywikibot/page/__init__.py
index 94e9c55..308dfe1 100644
--- a/pywikibot/page/__init__.py
+++ b/pywikibot/page/__init__.py
@@ -62,10 +62,13 @@
 from pywikibot.tools import is_IP

 if PYTHON_VERSION >= (3, 9):
+    from functools import cache
     Dict = dict
     List = list
 else:
+    from functools import lru_cache
     from typing import Dict, List
+    cache = lru_cache(None)


 PROTOCOL_REGEX = r'\Ahttps?://'
@@ -627,7 +630,7 @@
             return ''

         # check botMayEdit on a very early state (T262136)
-        self._bot_may_edit = self.botMayEdit()
+        self.botMayEdit()
         return self.latest_revision.text

     @text.setter
@@ -1093,6 +1096,7 @@
         """DEPRECATED. Determine whether the page may be edited."""
         return self.has_permission()

+    @cache
     def botMayEdit(self) -> bool:
         """
         Determine whether the active bot is allowed to edit the page.
@@ -1108,9 +1112,6 @@
         to override this by setting ignore_bot_templates=True in
         user-config.py, or using page.put(force=True).
         """
-        if hasattr(self, '_bot_may_edit'):
-            return self._bot_may_edit
-
         if not hasattr(self, 'templatesWithParams'):
             return True


--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/645931
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: I34d258ea7018044c0fda067b0e5794a0f5ec449d
Gerrit-Change-Number: 645931
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <[email protected]>
Gerrit-Reviewer: Xqt <[email protected]>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged
_______________________________________________
Pywikibot-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikibot-commits

Reply via email to