[Pywikipedia-svn] SVN: [7317] trunk/pywikipedia/welcome.py
alexsh at svn.wikimedia.org
alexsh at svn.wikimedia.org
Fri Sep 25 15:28:23 UTC 2009
Revision: 7317
Author: alexsh
Date: 2009-09-25 15:28:23 +0000 (Fri, 25 Sep 2009)
Log Message:
-----------
welcome.py:
- summary: remove multi-project dict.
- add wikiversity template msgs
- parselog(): remove get userinfo self, change to use userlib.User()
Modified Paths:
--------------
trunk/pywikipedia/welcome.py
Modified: trunk/pywikipedia/welcome.py
===================================================================
--- trunk/pywikipedia/welcome.py 2009-09-25 15:18:15 UTC (rev 7316)
+++ trunk/pywikipedia/welcome.py 2009-09-25 15:28:23 UTC (rev 7317)
@@ -173,7 +173,7 @@
__version__ = '$Id: welcome.py,v 1.5 2007/12/7 19.23.00 filnik Exp$'
#
-import wikipedia, config, query
+import wikipedia, config, query, userlib
import time, re, cPickle, os, urllib, string, locale
import codecs
from datetime import timedelta
@@ -224,28 +224,26 @@
#The edit summary for the welcome message (e.g. Welcome!).
summary = {
'commons':u'Welcome!',
- 'wikipedia': {
- 'ar':u'مرحبا!',
- 'da':u'Velkommen',
- 'de':u'Herzlich willkommen!',
- 'en':u'Welcome!',
- 'fa':u'خوش آمدید!',
- 'fr':u'Bienvenue sur Wikipedia !',
- 'ga':u'Fáilte!',
- 'he':u'ברוך הבא!',
- 'id':u'Selamat datang',
- 'it':u'Benvenuto!',
- 'ja':u'ウィキペディア日本語版へようこそ!',
- 'ka':u'კეთილი იყოს თქვენი მობრძანება!',
- 'nl':u'Welkom!',
- 'no':u'Velkommen!',
- 'pt':u'Bem vindo!',
- 'ru':u'Добро пожаловать!',
- 'sq':u'Tung',
- 'sr':u'Добродошли!',
- 'vo':u'Benokömö!',
- 'zh':u'欢迎!',
- }
+ 'ar':u'مرحبا!',
+ 'da':u'Velkommen',
+ 'de':u'Herzlich willkommen!',
+ 'en':u'Welcome!',
+ 'fa':u'خوش آمدید!',
+ 'fr':u'Bienvenue sur Wikipedia !',
+ 'ga':u'Fáilte!',
+ 'he':u'ברוך הבא!',
+ 'id':u'Selamat datang',
+ 'it':u'Benvenuto!',
+ 'ja':u'ウィキペディア日本語版へようこそ!',
+ 'ka':u'კეთილი იყოს თქვენი მობრძანება!',
+ 'nl':u'Welkom!',
+ 'no':u'Velkommen!',
+ 'pt':u'Bem vindo!',
+ 'ru':u'Добро пожаловать!',
+ 'sq':u'Tung',
+ 'sr':u'Добродошли!',
+ 'vo':u'Benokömö!',
+ 'zh':u'欢迎!',
}
# The text for the welcome message (e.g. {{welcome}}) and %s at the end
# that is your signature (the bot has a random parameter to add different
@@ -281,6 +279,11 @@
'it': u'{{subst:Utente:Filnik/Benve|nome={{subst:PAGENAME}}}} %s',
},
'wikiversity':{
+ 'de': u'{{subst:Willkommen|%s}}',
+ 'el': u'{{subst:καλωσόρισμα}} %s',
+ 'en': u'{{subst:Welcome}} %s',
+ 'es': u'{{subst:bienvenido usuario}} %s',
+ 'fr': u'{{Bienvenue}} %s',
'it': u'{{subst:Benvenuto}} %s',
},
}
@@ -486,7 +489,6 @@
def parselog(wsite, raw, talk, number, sul):
""" The function to load the users (only users who have a certain number of edits) """
someone_found = False
- autocreated = wsite.mediawiki_message('newuserlog-autocreate-entry')
# I search with a regex how many user have not the talk page
# and i put them in a list (i find it more easy and secure).
@@ -500,32 +502,27 @@
for x in p.finditer(raw):
someone_found = True
- username = x.group('user')
+ userN = unicode(urllib.unquote(str(x.group('user'))), 'utf-8')
+ username = userlib.User(wsite, userN)
#skip autocreated users (SUL)
- if autocreated in x.group('reason') and not sul:
- wikipedia.output(u'%s has been created automatically, skipping...' % username)
+ if wsite.mediawiki_message('newuserlog-autocreate-entry') in x.group('reason') and not sul:
+ wikipedia.output(u'%s has been created automatically, skipping...' % username.name())
continue
- userpage = wikipedia.Page(wsite, username)
- # Defing the contrib's page of the user.
- pathWiki = wsite.family.nicepath(wsite.lang)
- con = '%sSpecial:Contributions/%s' % (pathWiki, userpage.urlname())
- # Getting the contribs...
- contribs = wsite.getUrl(con)
#FIXME: It counts the first 50 edits
# if number > 50, it won't work
# (not *so* useful, it should be enough).
- contribnum = contribs.count('<li class=')
+ contribnum = username.editCount()
if contribnum >= number:
- wikipedia.output(u'%s has enough edits to be welcomed' % userpage.titleWithoutNamespace() )
+ wikipedia.output(u'%s has enough edits to be welcomed' % username.name() )
# The user must be welcomed, return his data.
- yield ([username, contribnum])
+ yield ([username.name(), contribnum])
elif contribnum < number:
if contribnum == 0:
- wikipedia.output(u'%s has no contributions.' % userpage.titleWithoutNamespace() )
+ wikipedia.output(u'%s has no contributions.' % username.name() )
else:
- wikipedia.output(u'%s has only %s contributions.' % (userpage.titleWithoutNamespace(), str(contribnum)) )
+ wikipedia.output(u'%s has only %s contributions.' % (username.name(), str(contribnum)) )
# That user mustn't be welcomed.
continue
@@ -617,7 +614,7 @@
for found_result in welcomed_users:
# Adding the log... (don't take care of the variable's name...).
- luserpage = str(found_result[0])
+ luserpage = found_result[0]
luser = wikipedia.url2link(luserpage, wsite, wsite)
edit_count = str(found_result[1])
logtext = u'\n{{WLE|user=%s|contribs=%s}}' % (luser, edit_count)
@@ -887,8 +884,8 @@
welcom += final_additions
else:
welcom = welcomer % sign
- username = str(found_result[0])
- usertalkpage = wikipedia.Page(wsite, talk + username)
+ username = found_result[0]
+ usertalkpage = wikipedia.Page(wsite, username, defaultNamespace=3)
baduser = False
# Check if the username is composed by only numbers.
try:
@@ -903,7 +900,7 @@
wikipedia.output(u'%s has been blocked! Skipping...' % usertalkpage.titleWithoutNamespace())
continue
# Understand if the user has a bad-username.
- username = str(username).encode(config.console_encoding)
+ #username = username.encode(config.console_encoding)
lower_uname = username.lower()
for word in elenco: # elenco = list of bad words
if word.lower() in lower_uname:
More information about the Pywikipedia-svn
mailing list