jenkins-bot merged this change.

View Change

Approvals: Dalba: Looks good to me, approved jenkins-bot: Verified
[Bugfix] Fix for compat method url2link and other improvements

- url2link(page, site, insite) is a compat function
which wasn't ported to core.
Use Page.title(as_url=True, with_ns=False) instead in makelogpage method
- use join statement instead the for loop to create the WLE list
- read the logbook translation in initializer instead of asking for
ir several times
- set makeWelcomeLog to false if there is no translation for the logbook
- further improvements in makelogpage

detached from Iff53f38

Bug: T222713
Change-Id: I16b63c239c103207409fe540241d4de1a2708eea
---
M scripts/welcome.py
1 file changed, 24 insertions(+), 25 deletions(-)

diff --git a/scripts/welcome.py b/scripts/welcome.py
index df48877..3cf072e 100755
--- a/scripts/welcome.py
+++ b/scripts/welcome.py
@@ -487,7 +487,10 @@

self._totallyCount = 0
self.welcomed_users = []
+ self.log_name = i18n.translate(self.site, logbook)

+ if not self.log_name:
+ globalvar.makeWelcomeLog = False
if globalvar.randomSign:
self.defineSign(True)

@@ -667,21 +670,15 @@

def makelogpage(self, queue=None):
"""Make log page."""
- if queue is None:
- queue = []
- if not globalvar.makeWelcomeLog or len(queue) == 0:
- return
+ if not globalvar.makeWelcomeLog or not queue:
+ return False

- text = ''
- logg = i18n.translate(self.site, logbook)
- if not logg:
- return
-
- target = logg + '/' + time.strftime('%Y/%m/%d',
- time.localtime(time.time()))
if self.site.code == 'it':
- target = logg + '/' + time.strftime('%d/%m/%Y',
- time.localtime(time.time()))
+ pattern = '%d/%m/%Y'
+ else:
+ pattern = '%Y/%m/%d'
+ target = self.log_name + '/' + time.strftime(
+ pattern, time.localtime(time.time()))

log_page = pywikibot.Page(self.site, target)
if log_page.exists():
@@ -697,21 +694,25 @@
text += '\n!' + str.capitalize(
self.site.mediawiki_message('contribslink'))

- for result in queue:
- # Adding the log... (don't take care of the variable's name...).
- luser = pywikibot.url2link(result.username, self.site, self.site)
- text += '\n{{WLE|user=%s|contribs=%d}}' % (
- luser, result.editCount())
+ # Adding the log... (don't take care of the variable's name...).
+ text += '\n'
+ text += '\n'.join(
+ '{{WLE|user=%s|contribs=%d}}' % (
+ user.title(as_url=True, with_ns=False), user.editCount())
+ for user in queue)
+
# update log page.
while True:
try:
- log_page.put(text, i18n.twtranslate(
- self.site, 'welcome-updating'))
- return True
+ log_page.put(text, i18n.twtranslate(self.site,
+ 'welcome-updating'))
except pywikibot.EditConflict:
pywikibot.output('An edit conflict has occurred. Pausing for '
'10 seconds before continuing.')
time.sleep(10)
+ else:
+ break
+ return True

def parseNewUserLog(self):
"""Retrieve new users."""
@@ -837,8 +838,7 @@
pywikibot.output('An edit conflict has occurred, '
'skipping this user.')

- if globalvar.makeWelcomeLog and \
- i18n.translate(self.site, logbook):
+ if globalvar.makeWelcomeLog:
showStatus(5)
if welcomed_count == 1:
pywikibot.output('One user has been welcomed.')
@@ -867,8 +867,7 @@
users.editCount()))
# That user mustn't be welcomed.
continue
- if globalvar.makeWelcomeLog and i18n.translate(
- self.site, logbook) and welcomed_count > 0:
+ if globalvar.makeWelcomeLog and welcomed_count > 0:
showStatus()
if welcomed_count == 1:
pywikibot.output('Putting the log of the latest user...')

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

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I16b63c239c103207409fe540241d4de1a2708eea
Gerrit-Change-Number: 508513
Gerrit-PatchSet: 4
Gerrit-Owner: Xqt <info@gno.de>
Gerrit-Reviewer: D3r1ck01 <xsavitar.wiki@aol.com>
Gerrit-Reviewer: Dalba <dalba.wiki@gmail.com>
Gerrit-Reviewer: Dvorapa <dvorapa@seznam.cz>
Gerrit-Reviewer: John Vandenberg <jayvdb@gmail.com>
Gerrit-Reviewer: jenkins-bot (75)