jenkins-bot has submitted this change. (
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1346441?usp=email )
Change subject: Simplify username and PetScan query merges
......................................................................
Simplify username and PetScan query merges
Combine wildcard and family-specific usernames with a dictionary union,
retaining family-specific precedence without inserting a missing wildcard
into the configuration defaultdict.
Merge extra PetScan options into the newly constructed query instead of
copying it first. Keep caller-provided mappings unchanged.
Change-Id: I089c4e42f06b1d45e14ba3f6bfea3ba876fc4836
---
M pywikibot/__init__.py
M pywikibot/pagegenerators/_generators.py
2 files changed, 5 insertions(+), 7 deletions(-)
Approvals:
jenkins-bot: Verified
Xqt: Looks good to me, approved
diff --git a/pywikibot/__init__.py b/pywikibot/__init__.py
index 64ef994..a738738 100644
--- a/pywikibot/__init__.py
+++ b/pywikibot/__init__.py
@@ -254,10 +254,9 @@
issue_deprecation_warning(
'wikisource:beta', 'betawikisource:en', since='11.8.0')
- code_to_user = {}
- if '*' in _config.usernames: # T253127: usernames is a defaultdict
- code_to_user = _config.usernames['*'].copy()
- code_to_user.update(_config.usernames[family_name])
+ # T253127: Do not insert a missing wildcard into the defaultdict.
+ code_to_user = (_config.usernames.get('*', {})
+ | _config.usernames[family_name])
user = user or code_to_user.get(code) or code_to_user.get('*')
if not isinstance(interface, type):
diff --git a/pywikibot/pagegenerators/_generators.py
b/pywikibot/pagegenerators/_generators.py
index 4dcf807..d698be7 100644
--- a/pywikibot/pagegenerators/_generators.py
+++ b/pywikibot/pagegenerators/_generators.py
@@ -1452,10 +1452,9 @@
for namespace in namespaces:
query[f'ns[{int(namespace)}]'] = 1
- query_final = query.copy()
- query_final.update(extra_options)
+ query |= extra_options
- return query_final
+ return query
def query(self) -> Generator[dict[str, Any]]:
"""Query PetScan.
--
To view, visit
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1346441?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: I089c4e42f06b1d45e14ba3f6bfea3ba876fc4836
Gerrit-Change-Number: 1346441
Gerrit-PatchSet: 2
Gerrit-Owner: Mahveotm <[email protected]>
Gerrit-Reviewer: Xqt <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
Pywikibot-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]