Xqt has submitted this change. ( 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1074088?usp=email )

Change subject: [IMPR] add LogEntry.params as a public property
......................................................................

[IMPR] add LogEntry.params as a public property

This shortens the le.data['params'] dict to le.params and can be used
outside predefined methods and properties.

Change-Id: I865216e1ae3165e24c56c9dc438d01ad6b897ee2
---
M pywikibot/logentries.py
1 file changed, 17 insertions(+), 13 deletions(-)

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




diff --git a/pywikibot/logentries.py b/pywikibot/logentries.py
index 67e6296..8442df3 100644
--- a/pywikibot/logentries.py
+++ b/pywikibot/logentries.py
@@ -1,6 +1,6 @@
 """Objects representing MediaWiki log entries."""
 #
-# (C) Pywikibot team, 2007-2023
+# (C) Pywikibot team, 2007-2024
 #
 # Distributed under the terms of the MIT license.
 #
@@ -94,8 +94,12 @@
         return super().__getattribute__(item)

     @property
-    def _params(self) -> dict[str, Any]:
-        """Additional data for some log entry types."""
+    def params(self) -> dict[str, Any]:
+        """Additional data for some log entry types.
+
+        .. versionadded:: 9.4
+           private *_param* attribute became a public property
+        """
         return self.get('params', {})

     @cached
@@ -182,7 +186,7 @@
         if self.action() == 'unblock':
             return []

-        return self._params.get('flags', [])
+        return self.params.get('flags', [])

     @cached
     def duration(self) -> datetime.timedelta | None:
@@ -198,7 +202,7 @@
     @cached
     def expiry(self) -> pywikibot.Timestamp | None:
         """Return a Timestamp representing the block expiry date."""
-        details = self._params.get('expiry')
+        details = self.params.get('expiry')
         return pywikibot.Timestamp.fromISOformat(details) if details else None


@@ -217,7 +221,7 @@
            LogEntry has no additional data e.g. due to hidden data and
            insufficient rights.
         """
-        return self._params.get('oldgroups', [])
+        return self.params.get('oldgroups', [])

     @property
     def newgroups(self) -> list[str]:
@@ -228,7 +232,7 @@
            LogEntry has no additional data e.g. due to hidden data and
            insufficient rights.
         """
-        return self._params.get('newgroups', [])
+        return self.params.get('newgroups', [])


 class UploadEntry(LogEntry):
@@ -252,12 +256,12 @@
     @property
     def target_ns(self) -> pywikibot.site._namespace.Namespace:
         """Return namespace object of target page."""
-        return self.site.namespaces[self._params['target_ns']]
+        return self.site.namespaces[self.params['target_ns']]

     @property
     def target_title(self) -> str:
         """Return the target title."""
-        return self._params['target_title']
+        return self.params['target_title']

     @property
     @cached
@@ -268,7 +272,7 @@
     def suppressedredirect(self) -> bool:
         """Return True if no redirect was created during the move."""
         # Introduced in MW r47901
-        return 'suppressedredirect' in self._params
+        return 'suppressedredirect' in self.params

 
 class PatrolEntry(LogEntry):
@@ -280,17 +284,17 @@
     @property
     def current_id(self) -> int:
         """Return the current id."""
-        return int(self._params['curid'])
+        return int(self.params['curid'])

     @property
     def previous_id(self) -> int:
         """Return the previous id."""
-        return int(self._params['previd'])
+        return int(self.params['previd'])

     @property
     def auto(self) -> bool:
         """Return auto patrolled."""
-        return 'auto' in self._params and self._params['auto'] != 0
+        return 'auto' in self.params and self.params['auto'] != 0


 class LogEntryFactory:

--
To view, visit 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1074088?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.wikimedia.org/r/settings?usp=email

Gerrit-MessageType: merged
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I865216e1ae3165e24c56c9dc438d01ad6b897ee2
Gerrit-Change-Number: 1074088
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <i...@gno.de>
Gerrit-Reviewer: Xqt <i...@gno.de>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
Pywikibot-commits mailing list -- pywikibot-commits@lists.wikimedia.org
To unsubscribe send an email to pywikibot-commits-le...@lists.wikimedia.org

Reply via email to