jenkins-bot has submitted this change. (
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1112370?usp=email )
Change subject: login.py: Recognise * in config.usernames
......................................................................
login.py: Recognise * in config.usernames
If there is an '*' in config.usernames as the language for a certain family,
expand it to all codes that are found in the family file if the code is not
already given.
Note: you may use -async to speed-up login process.
Bug: T110411
Change-Id: I5af62457d34709209c3a4ce76e54bb603e3729a3
---
M pywikibot/scripts/login.py
1 file changed, 19 insertions(+), 5 deletions(-)
Approvals:
jenkins-bot: Verified
Xqt: Looks good to me, approved
diff --git a/pywikibot/scripts/login.py b/pywikibot/scripts/login.py
index c1af7f6..eacc7f9 100755
--- a/pywikibot/scripts/login.py
+++ b/pywikibot/scripts/login.py
@@ -41,10 +41,14 @@
subdirectory.
.. versionchanged:: 7.4
- moved to :mod:`pywikibot.scripts` folder
+ moved to :mod:`pywikibot.scripts` folder.
+.. versionchanged:: 7.7
+ *-async* option was added.
+.. versionchanged:: 10.2
+ wildcard site codes in ``usernames`` dict are supported.
"""
#
-# (C) Pywikibot team, 2003-2024
+# (C) Pywikibot team, 2003-2025
#
# Distributed under the terms of the MIT license.
#
@@ -56,6 +60,7 @@
import pywikibot
from pywikibot import config
from pywikibot.exceptions import NoUsernameError, SiteDefinitionError
+from pywikibot.family import Family
from pywikibot.login import OauthLoginManager
from pywikibot.tools.threading import BoundedPoolExecutor
@@ -161,11 +166,20 @@
BoundedPoolExecutor('ThreadPoolExecutor'))[asynchronous]
with context as executor:
for family_name in namedict:
- for lang in namedict[family_name]:
+ family_codes = namedict[family_name]
+
+ if '*' in family_codes:
+ user = family_codes['*']
+ del family_codes['*']
+ codes = (code for code in Family.load(family_name).codes
+ if code not in family_codes)
+ family_codes.update(dict.fromkeys(codes, user))
+
+ for code in family_codes:
if asynchronous:
- executor.submit(login_one_site, lang, family_name, *params)
+ executor.submit(login_one_site, code, family_name, *params)
else:
- login_one_site(lang, family_name, *params)
+ login_one_site(code, family_name, *params)
if __name__ == '__main__':
--
To view, visit
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1112370?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: I5af62457d34709209c3a4ce76e54bb603e3729a3
Gerrit-Change-Number: 1112370
Gerrit-PatchSet: 6
Gerrit-Owner: Xqt <[email protected]>
Gerrit-Reviewer: Dalba <[email protected]>
Gerrit-Reviewer: Framawiki <[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]