Revision: 8518
Author: xqt
Date: 2010-09-11 09:20:01 +0000 (Sat, 11 Sep 2010)
Log Message:
-----------
import wikipedia as pywikibot for merging to rewrite branch
Modified Paths:
--------------
trunk/pywikipedia/date.py
trunk/pywikipedia/deledpimage.py
trunk/pywikipedia/delete.py
trunk/pywikipedia/disambredir.py
Modified: trunk/pywikipedia/date.py
===================================================================
--- trunk/pywikipedia/date.py 2010-09-11 08:32:54 UTC (rev 8517)
+++ trunk/pywikipedia/date.py 2010-09-11 09:20:01 UTC (rev 8518)
@@ -17,66 +17,37 @@
# used for date recognition
import types
import re
-import wikipedia
+import wikipedia as pywikibot
#
# Different collections of well known formats
#
-enMonthNames = [ u'January', u'February', u'March', u'April', u'May', u'June', u'July', u'August', u'September', u'October', u'November', u'December' ]
-dayMnthFmts = [ 'Day_' + str(s) for s in enMonthNames ] # e.g. 'Day_January'
-yrMnthFmts = [ 'Year_' + str(s) for s in enMonthNames ] # e.g. 'Year_January'
+enMonthNames = [u'January', u'February', u'March', u'April', u'May', u'June',
+ u'July', u'August', u'September', u'October', u'November',
+ u'December']
+dayMnthFmts = ['Day_' + str(s) for s in enMonthNames] # e.g. 'Day_January'
+yrMnthFmts = ['Year_' + str(s) for s in enMonthNames] # e.g. 'Year_January'
-adDateFormats = [ 'YearAD', 'DecadeAD', 'CenturyAD', 'MillenniumAD' ] # the order of this list is important
-bcDateFormats = [ 'YearBC', 'DecadeBC', 'CenturyBC', 'MillenniumBC' ] # the order of this list is important
-dateFormats = bcDateFormats + adDateFormats
-decadeFormats = [ 'DecadeAD', 'DecadeBC' ]
-centuryFormats = [ 'CenturyAD', 'CenturyBC' ]
-yearFormats = [ 'YearAD', 'YearBC' ]
-millFormats = [ 'MillenniumAD', 'MillenniumBC' ]
-snglValsFormats = [ 'CurrEvents' ]
+# the order of these lists is important
+adDateFormats = ['YearAD', 'DecadeAD', 'CenturyAD', 'MillenniumAD']
+bcDateFormats = ['YearBC', 'DecadeBC', 'CenturyBC', 'MillenniumBC']
+dateFormats = bcDateFormats + adDateFormats
+decadeFormats = ['DecadeAD', 'DecadeBC']
+centuryFormats = ['CenturyAD', 'CenturyBC']
+yearFormats = ['YearAD', 'YearBC']
+millFormats = ['MillenniumAD', 'MillenniumBC']
+snglValsFormats = ['CurrEvents']
-# number of days in each month, required for interwiki.py with the -days argument
-# @deprecated
-# days_in_month = {
- # 1: 31,
- # 2: 29,
- # 3: 31,
- # 4: 30,
- # 5: 31,
- # 6: 30,
- # 7: 31,
- # 8: 31,
- # 9: 30,
- # 10: 31,
- # 11: 30,
- # 12: 31
-# }
-
-# For all languages the maximal value a year BC can have; before this date the
-# language switches to decades or centuries
-# @deprecated
-# maxyearBC = {
- # 'ca':500,
- # 'de':400,
- # 'en':499,
- # 'nl':1000,
- # 'pl':776
- # }
-
-# @deprecated
-# maxyearAD = {
- # 'es':2005,
- # }
-
def multi( value, tuplst ):
- """This method is used when more than one pattern is used for the same entry.
- Example: 1st century, 2nd century, etc.
- The tuplst is a list of tupples. Each tupple must contain two functions:
- first to encode/decode a single value (e.g. simpleInt),
- second is a predicate function with an integer parameter that returns true or false.
- When the 2nd function evaluates to true, the 1st function is used.
+ """This method is used when more than one pattern is used for the same
+ entry. Example: 1st century, 2nd century, etc.
+ The tuplst is a list of tupples. Each tupple must contain two functions:
+ first to encode/decode a single value (e.g. simpleInt), second is a
+ predicate function with an integer parameter that returns true or false.
+ When the 2nd function evaluates to true, the 1st function is used.
+
"""
if type(value) in _stringTypes:
# Try all functions, and test result against predicates
@@ -88,78 +59,100 @@
except:
pass
else:
- # Find a predicate that gives true for this int value, and run a function
+ # Find a predicate that gives true for this int value, and run a
+ # function
for func, pred in tuplst:
if pred(value):
return func(value)
raise ValueError("could not find a matching function")
-
#
-#
# Helper functions that aid with single value no corrections encoding/decoding.
# Various filters are item dependent.
#
-#
-def dh_noConv( value, pattern, limit ):
+def dh_noConv(value, pattern, limit):
"""decoding helper for a single integer value, no conversion, no rounding"""
return dh( value, pattern, encNoConv, decSinglVal, limit )
-def dh_dayOfMnth( value, pattern ):
- """decoding helper for a single integer value <=31, no conversion, no rounding (used in days of month)"""
- return dh_noConv( value, pattern, formatLimits[dayMnthFmts[0]][0] ) # For now use January because it has all 31 days
+def dh_dayOfMnth(value, pattern):
+ """decoding helper for a single integer value <=31, no conversion,
+ no rounding (used in days of month)
-def dh_mnthOfYear( value, pattern ):
- """decoding helper for a single integer value >=1000, no conversion, no rounding (used in month of the year)"""
- return dh_noConv( value, pattern, _formatLimit_MonthOfYear[0] )
+ """
+ # For now use January because it has all 31 days
+ return dh_noConv(value, pattern, formatLimits[dayMnthFmts[0]][0])
-def dh_decAD( value, pattern ):
- """decoding helper for a single integer value, no conversion, round to decimals (used in decades)"""
- return dh( value, pattern, encDec0, decSinglVal, formatLimits['DecadeAD'][0] )
+def dh_mnthOfYear(value, pattern):
+ """decoding helper for a single integer value >=1000, no conversion,
+ no rounding (used in month of the year)
-def dh_decBC( value, pattern ):
- """decoding helper for a single integer value, no conversion, round to decimals (used in decades)"""
- return dh( value, pattern, encDec0, decSinglVal, formatLimits['DecadeBC'][0] )
+ """
+ return dh_noConv(value, pattern, _formatLimit_MonthOfYear[0])
-def dh_yearBC( value, pattern ):
- """decoding helper for a year value, no conversion, no rounding, limits to 3000"""
- return dh_noConv( value, pattern, formatLimits['YearBC'][0] )
+def dh_decAD(value, pattern):
+ """decoding helper for a single integer value, no conversion,
+ round to decimals (used in decades)
-def dh_yearAD( value, pattern ):
- """decoding helper for a year value, no conversion, no rounding, limits to 3000"""
- return dh_noConv( value, pattern, formatLimits['YearAD'][0] )
+ """
+ return dh(value, pattern, encDec0, decSinglVal, formatLimits['DecadeAD'][0])
-def dh_simpleYearAD( value ):
- """decoding helper for a single integer value representing a year with no extra symbols"""
- return dh_yearAD( value, u'%d' )
+def dh_decBC(value, pattern):
+ """decoding helper for a single integer value, no conversion,
+ round to decimals (used in decades)
-def dh_number( value, pattern ):
- return dh_noConv( value, pattern, formatLimits['Number'][0] )
-def dh_centuryAD( value, pattern ):
- return dh_noConv( value, pattern, formatLimits['CenturyAD'][0] )
-def dh_centuryBC( value, pattern ):
- return dh_noConv( value, pattern, formatLimits['CenturyBC'][0] )
-def dh_millenniumAD( value, pattern ):
- return dh_noConv( value, pattern, formatLimits['MillenniumAD'][0] )
-def dh_millenniumBC( value, pattern ):
- return dh_noConv( value, pattern, formatLimits['MillenniumBC'][0] )
+ """
+ return dh(value, pattern, encDec0, decSinglVal, formatLimits['DecadeBC'][0])
+def dh_yearBC(value, pattern):
+ """decoding helper for a year value, no conversion, no rounding,
+ limits to 3000
-def decSinglVal( v ):
+ """
+ return dh_noConv(value, pattern, formatLimits['YearBC'][0])
+
+def dh_yearAD(value, pattern):
+ """decoding helper for a year value, no conversion, no rounding,
+ limits to 3000
+
+ """
+ return dh_noConv(value, pattern, formatLimits['YearAD'][0])
+
+def dh_simpleYearAD(value):
+ """decoding helper for a single integer value representing a year with
+ no extra symbols
+
+ """
+ return dh_yearAD(value, u'%d')
+
+def dh_number(value, pattern):
+ return dh_noConv(value, pattern, formatLimits['Number'][0])
+def dh_centuryAD(value, pattern ):
+ return dh_noConv(value, pattern, formatLimits['CenturyAD'][0])
+def dh_centuryBC(value, pattern):
+ return dh_noConv(value, pattern, formatLimits['CenturyBC'][0])
+def dh_millenniumAD(value, pattern ):
+ return dh_noConv(value, pattern, formatLimits['MillenniumAD'][0])
+def dh_millenniumBC(value, pattern):
+ return dh_noConv(value, pattern, formatLimits['MillenniumBC'][0])
+
+def decSinglVal(v):
return v[0]
-def encNoConv( i ):
+def encNoConv(i):
return i
-def encDec0( i ):
- return (i/10)*10 # round to the nearest decade, decade starts with a '0'-ending year
+def encDec0(i):
+ # round to the nearest decade, decade starts with a '0'-ending year
+ return (i/10)*10
-def encDec1( i ):
- return encDec0(i)+1 # round to the nearest decade, decade starts with a '1'-ending year
+def encDec1(i):
+ # round to the nearest decade, decade starts with a '1'-ending year
+ return encDec0(i)+1
def slh( value, lst ):
"""This function helps in simple list value matching.
+
!!!!! The index starts at 1, so 1st element has index 1, not 0 !!!!!
Usually it will be used as a lambda call in a map:
lambda v: slh( v, [u'January',u'February',...] )
@@ -168,6 +161,7 @@
formats['MonthName']['en'](1) => u'January'
formats['MonthName']['en'](u'January') => 1
formats['MonthName']['en'](u'anything else') => raise ValueError
+
"""
if type(value) in _stringTypes:
return lst.index(value)+1
@@ -179,8 +173,11 @@
def dh_constVal( value, ind, match ):
"""This function helps with matching a single value to a constant.
- formats['CurrEvents']['en'](ind) => u'Current Events'
- formats['CurrEvents']['en'](u'Current Events') => ind"""
+
+ formats['CurrEvents']['en'](ind) => u'Current Events'
+ formats['CurrEvents']['en'](u'Current Events') => ind
+
+ """
if type(value) in _stringTypes:
if value == match:
return ind
@@ -194,7 +191,9 @@
def alwaysTrue( x ):
"""This function always returns True - its used for multiple value selection function
- to accept all other values"""
+ to accept all other values
+
+ """
return True
def monthName(lang, ind):
@@ -243,9 +242,9 @@
# Helper for roman numerals number representation
_romanNumbers = ['-', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX',
- 'X', 'XI', 'XII', 'XIII', 'XIV', 'XV', 'XVI', 'XVII', 'XVIII', 'XIX',
- 'XX', 'XXI', 'XXII', 'XXIII', 'XXIV', 'XXV', 'XXVI', 'XXVII', 'XXVIII', 'XXVIX',
- 'XXX']
+ 'X', 'XI', 'XII', 'XIII', 'XIV', 'XV', 'XVI', 'XVII', 'XVIII',
+ 'XIX', 'XX', 'XXI', 'XXII', 'XXIII', 'XXIV', 'XXV', 'XXVI',
+ 'XXVII', 'XXVIII', 'XXVIX', 'XXX']
def intToRomanNum(i):
if i >= len(_romanNumbers):
@@ -255,13 +254,15 @@
def romanNumToInt(v):
return _romanNumbers.index(v)
-# Each tuple must 3 parts: a list of all possible digits (symbols), encoder (from int to a u-string) and decoder (from u-string to an int)
+# Each tuple must 3 parts: a list of all possible digits (symbols), encoder
+# (from int to a u-string) and decoder (from u-string to an int)
_digitDecoders = {
# %% is a %
'%' : u'%',
# %d is a decimal
'd' : ( _decimalDigits, unicode, int ),
- # %R is a roman numeral. This allows for only the simpliest linear conversions based on a list of numbers
+ # %R is a roman numeral. This allows for only the simpliest linear
+ # conversions based on a list of numbers
'R' : ( u'IVX', intToRomanNum, romanNumToInt ),
# %K is a number in KN::
'K' : ( _knDigits, lambda v: intToLocalDigitsStr(v, _knDigitsToLocal), lambda v: localDigitsStrToInt(v, _knDigitsToLocal, _knLocalToDigits) ),
@@ -277,10 +278,12 @@
'T' : ( _decimalDigits, lambda v: unicode(v+543), lambda v: int(v)-543 ),
}
-# Allows to search for '(%%)|(%d)|(%R)|...", and allows one digit 1-9 to set the size of zero-padding for numbers
+# Allows to search for '(%%)|(%d)|(%R)|...", and allows one digit 1-9 to set
+# the size of zero-padding for numbers
_reParameters = re.compile(u'|'.join([ u'(%%[1-9]?%s)' % s for s in _digitDecoders.keys() ]))
-# A map of sitecode+pattern to (re matching object and corresponding decoders)
+# A map of sitecode+pattern to (re matching object and corresponding
+# decoders)
_escPtrnCache2 = {}
# Allow both unicode and single-byte strings
@@ -290,8 +293,10 @@
def escapePattern2( pattern ):
"""Converts a string pattern into a regex expression and cache.
Allows matching of any _digitDecoders inside the string.
- Returns a compiled regex object and a list of digit decoders"""
+ Returns a compiled regex object and a list of digit decoders
+ """
+
if pattern not in _escPtrnCache2:
newPattern = u'^' # begining of the string
strPattern = u''
@@ -309,13 +314,18 @@
strPattern += s # Keep the original text
else:
if len(s) == 3:
- newPattern += u'([%s]{%s})' % (dec[0], s[1]) # enforce mandatory field size
- dec += (int(s[1]),) # add the number of required digits as the last (4th) part of the tuple
+ # enforce mandatory field size
+ newPattern += u'([%s]{%s})' % (dec[0], s[1])
+ # add the number of required digits as the last (4th) part of the tuple
+ dec += (int(s[1]),)
else:
newPattern += u'([%s]+)' % dec[0]
decoders.append( dec )
- strPattern += u'%s' # All encoders produce a string # this causes problem with the zero padding. Need to rethink
+ # All encoders produce a string
+ # this causes problem with the zero padding.
+ # Need to rethink
+ strPattern += u'%s'
else:
newPattern += re.escape( s )
strPattern += s
@@ -329,25 +339,29 @@
def dh( value, pattern, encf, decf, filter = None ):
"""This function helps in year parsing.
- Usually it will be used as a lambda call in a map:
- lambda v: dh( v, u'pattern string', encodingFunc, decodingFunc )
- encodingFunc:
- Converts from an integer parameter to another integer or a tuple of integers.
- Depending on the pattern, each integer will be converted to a proper string
- representation, and will be passed as a format argument to the pattern:
- pattern % encodingFunc(value)
- This function is a complement of decodingFunc.
+ Usually it will be used as a lambda call in a map:
+ lambda v: dh( v, u'pattern string', encodingFunc, decodingFunc )
- decodingFunc:
- Converts a tuple/list of non-negative integers found in the original value string
- into a normalized value. The normalized value can be passed right back into dh()
- to produce the original string. This function is a complement of encodingFunc.
- dh() interprets %d as a decimal and %s as a roman numeral number.
+ encodingFunc:
+ Converts from an integer parameter to another integer or a tuple of
+ integers. Depending on the pattern, each integer will be converted to a
+ proper string representation, and will be passed as a format argument
+ to the pattern:
+ pattern % encodingFunc(value)
+ This function is a complement of decodingFunc.
+
+ decodingFunc:
+ Converts a tuple/list of non-negative integers found in the original
+ value string
+ into a normalized value. The normalized value can be passed right back
+ into dh() to produce the original string. This function is a complement
+ of encodingFunc. dh() interprets %d as a decimal and %s as a roman
+ numeral number.
+
"""
compPattern, strPattern, decoders = escapePattern2(pattern)
-
if type(value) in _stringTypes:
m = compPattern.match(value)
if m:
@@ -383,7 +397,7 @@
# convert integer parameter into its textual representation
return strPattern % MakeParameter(decoders[0], params)
-def MakeParameter( decoder, param ):
+def MakeParameter(decoder, param):
newValue = decoder[1](param)
if len(decoder) == 4 and len(newValue) < decoder[3]:
# force parameter length by taking the first digit in the list and repeating it required number of times
@@ -409,105 +423,105 @@
#
formats = {
'MonthName': {
- 'af' : lambda v: slh( v, [u"Januarie", u"Februarie", u"Maart", u"April", u"Mei", u"Junie", u"Julie", u"Augustus", u"September", u"Oktober", u"November", u"Desember"] ),
- 'als': lambda v: slh( v, [u"Januar", u"Februar", u"März", u"April", u"Mai", u"Juni", u"Juli", u"August", u"September", u"Oktober", u"November", u"Dezember"] ),
- 'an' : lambda v: slh( v, [u"chinero", u"frebero", u"marzo", u"abril", u"mayo", u"chunio", u"chulio", u"agosto", u"setiembre", u"otubre", u"nobiembre", u"abiento"] ),
- 'ang': lambda v: slh( v, [u"Æfterra Gēola", u"Solmōnaþ", u"Hrēþmōnaþ", u"Ēastermōnaþ", u"Þrimilcemōnaþ", u"Sēremōnaþ", u"Mǣdmōnaþ", u"Wēodmōnaþ", u"Hāligmōnaþ", u"Winterfylleþ", u"Blōtmōnaþ", u"Gēolmōnaþ"] ),
- 'ar' : lambda v: slh( v, [u"يناير", u"فبراير", u"مارس", u"أبريل", u"مايو", u"يونيو", u"يوليو", u"أغسطس", u"سبتمبر", u"أكتوبر", u"نوفمبر", u"ديسمبر"] ),
- 'ast': lambda v: slh( v, [u"xineru", u"febreru", u"marzu", u"abril", u"mayu", u"xunu", u"xunetu", u"agostu", u"setiembre", u"ochobre", u"payares", u"avientu"] ),
- 'be' : lambda v: slh( v, [u"студзень", u"люты", u"сакавік", u"красавік", u"травень", u"чэрвень", u"ліпень", u"жнівень", u"верасень", u"кастрычнік", u"лістапад", u"сьнежань"] ),
- 'bg' : lambda v: slh( v, [u"януари", u"февруари", u"март", u"април", u"май", u"юни", u"юли", u"август", u"септември", u"октомври", u"ноември", u"декември"] ),
- 'bn' : lambda v: slh( v, [u"জানুয়ারি", u"ফেব্রুয়ারি", u"মার্চ", u"এপ্রিল", u"মে", u"জুন", u"জুলাই", u"আগস্ট", u"সেপ্টেম্বর", u"অক্টোবর", u"নভেম্বর", u"ডিসেম্বর"] ),
- 'br' : lambda v: slh( v, [u"Genver", u"C'hwevrer", u"Meurzh", u"Ebrel", u"Mae", u"Mezheven", u"Gouere", u"Eost", u"Gwengolo", u"Here", u"Du", u"Kerzu"] ),
- 'bs' : lambda v: slh( v, [u"januar", u"februar", u"mart", u"april", u"maj", u"juni", u"juli", u"august", u"septembar", u"oktobar", u"novembar", u"decembar"] ),
- 'ca' : lambda v: slh( v, [u"gener", u"febrer", u"març", u"abril", u"maig", u"juny", u"juliol", u"agost", u"setembre", u"octubre", u"novembre", u"desembre"] ),
- 'ceb': lambda v: slh( v, [u"Enero", u"Pebrero", u"Marso", u"Abril", u"Mayo", u"Hunyo", u"Hulyo", u"Agosto", u"Septiyembre", u"Oktubre", u"Nobiyembre", u"Disyembre"] ),
- 'co' : lambda v: slh( v, [u"ghjennaghju", u"frivaghju", u"marzu", u"aprile", u"maghju", u"ghjugnu", u"lugliu", u"aostu", u"settembre", u"uttrovi", u"nuvembri", u"decembre"] ),
- 'cs' : lambda v: slh( v, [u"leden", u"únor", u"březen", u"duben", u"květen", u"červen", u"červenec", u"srpen", u"září", u"říjen", u"listopad", u"prosinec"] ),
- 'csb': lambda v: slh( v, [u"stëcznik", u"gromicznik", u"strumiannik", u"łżëkwiôt", u"môj", u"czerwińc", u"lëpinc", u"zélnik", u"séwnik", u"rujan", u"lëstopadnik", u"gòdnik"] ),
- 'cv' : lambda v: slh( v, [u"кăрлач", u"нарăс", u"Пуш", u"Ака", u"çу", u"çĕртме", u"утă", u"çурла", u"авăн", u"юпа", u"чӳк", u"раштав"] ),
- 'cy' : lambda v: slh( v, [u"Ionawr", u"Chwefror", u"Mawrth", u"Ebrill", u"Mai", u"Mehefin", u"Gorffennaf", u"Awst", u"Medi", u"Hydref", u"Tachwedd", u"Rhagfyr"] ),
- 'da' : lambda v: slh( v, [u"januar", u"februar", u"marts", u"april", u"maj", u"juni", u"juli", u"august", u"september", u"oktober", u"november", u"december"] ),
- 'de' : lambda v: slh( v, [u"Januar", u"Februar", u"März", u"April", u"Mai", u"Juni", u"Juli", u"August", u"September", u"Oktober", u"November", u"Dezember"] ),
- 'el' : lambda v: slh( v, [u"Ιανουάριος", u"Φεβρουάριος", u"Μάρτιος", u"Απρίλιος", u"Μάιος", u"Ιούνιος", u"Ιούλιος", u"Αύγουστος", u"Σεπτέμβριος", u"Οκτώβριος", u"Νοέμβριος", u"Δεκέμβριος"] ),
- 'en' : lambda v: slh( v, enMonthNames ),
- 'eo' : lambda v: slh( v, [u"Januaro", u"Februaro", u"Marto", u"Aprilo", u"Majo", u"Junio", u"Julio", u"Aŭgusto", u"Septembro", u"Oktobro", u"Novembro", u"Decembro"] ),
- 'es' : lambda v: slh( v, [u"enero", u"febrero", u"marzo", u"abril", u"mayo", u"junio", u"julio", u"agosto", u"septiembre", u"octubre", u"noviembre", u"diciembre"] ),
- 'et' : lambda v: slh( v, [u"jaanuar", u"veebruar", u"märts", u"aprill", u"mai", u"juuni", u"juuli", u"august", u"september", u"oktoober", u"november", u"detsember"] ),
- 'eu' : lambda v: slh( v, [u"Urtarril", u"Otsail", u"Martxo", u"Apiril", u"Maiatz", u"Ekain", u"Uztail", u"Abuztu", u"Irail", u"Urri", u"Azaro", u"Abendu"] ),
- 'fa' : lambda v: slh( v, [u"ژانویه", u"فوریه", u"مارس", u"آوریل", u"مه", u"ژوئن", u"ژوئیه", u"اوت", u"سپتامبر", u"اکتبر", u"نوامبر", u"دسامبر"] ),
- 'fi' : lambda v: slh( v, [u"tammikuu", u"helmikuu", u"maaliskuu", u"huhtikuu", u"toukokuu", u"kesäkuu", u"heinäkuu", u"elokuu", u"syyskuu", u"lokakuu", u"marraskuu", u"joulukuu"] ),
- 'fo' : lambda v: slh( v, [u"januar", u"februar", u"mars", u"apríl", u"mai", u"juni", u"juli", u"august", u"september", u"oktober", u"november", u"desember"] ),
- 'fr' : lambda v: slh( v, [u"janvier", u"février", u"mars (mois)", u"avril", u"mai", u"juin", u"juillet", u"août", u"septembre", u"octobre", u"novembre", u"décembre"] ),
- 'fur': lambda v: slh( v, [u"Zenâr", u"Fevrâr", u"Març", u"Avrîl", u"Mai", u"Jugn", u"Lui", u"Avost", u"Setembar", u"Otubar", u"Novembar", u"Dicembar"] ),
- 'fy' : lambda v: slh( v, [u"jannewaris", u"febrewaris", u"maart", u"april", u"maaie", u"juny", u"july", u"augustus", u"septimber", u"oktober", u"novimber", u"desimber"] ),
- 'ga' : lambda v: slh( v, [u"Eanáir", u"Feabhra", u"Márta", u"Aibreán", u"Bealtaine", u"Meitheamh", u"Iúil", u"Lúnasa", u"Meán Fómhair", u"Deireadh Fómhair", u"Samhain", u"Nollaig"] ),
- 'gl' : lambda v: slh( v, [u"xaneiro", u"febreiro", u"marzo", u"abril", u"maio", u"xuño", u"xullo", u"agosto", u"setembro", u"outubro", u"novembro", u"decembro"] ),
- 'he' : lambda v: slh( v, [u"ינואר", u"פברואר", u"מרץ", u"אפריל", u"מאי", u"יוני", u"יולי", u"אוגוסט", u"ספטמבר", u"אוקטובר", u"נובמבר", u"דצמבר"] ),
- 'hi' : lambda v: slh( v, [u"जनवरी", u"फ़रवरी", u"मार्च", u"अप्रैल", u"मई", u"जून", u"जुलाई", u"अगस्त", u"सितम्बर", u"अक्टूबर", u"नवम्बर", u"दिसम्बर"] ),
- 'hr' : lambda v: slh( v, [u"siječanj", u"veljača", u"ožujak", u"travanj", u"svibanj", u"lipanj", u"srpanj", u"kolovoz", u"rujan", u"listopad", u"studeni", u"prosinac"] ),
- 'hu' : lambda v: slh( v, [u"január", u"február", u"március", u"április", u"május", u"június", u"július", u"augusztus", u"szeptember", u"október", u"november", u"december"] ),
- 'ia' : lambda v: slh( v, [u"januario", u"februario", u"martio", u"april", u"maio", u"junio", u"julio", u"augusto", u"septembre", u"octobre", u"novembre", u"decembre"] ),
- 'id' : lambda v: slh( v, [u"Januari", u"Februari", u"Maret", u"April", u"Mei", u"Juni", u"Juli", u"Agustus", u"September", u"Oktober", u"November", u"Desember"] ),
- 'ie' : lambda v: slh( v, [u"januar", u"februar", u"marte", u"april", u"may", u"junio", u"juli", u"august", u"septembre", u"octobre", u"novembre", u"decembre"] ),
- 'io' : lambda v: slh( v, [u"januaro", u"februaro", u"Marto", u"aprilo", u"mayo", u"junio", u"julio", u"agosto", u"septembro", u"oktobro", u"novembro", u"decembro"] ),
- 'is' : lambda v: slh( v, [u"janúar", u"febrúar", u"mars (mánuður)", u"apríl", u"maí", u"júní", u"júlí", u"ágúst", u"september", u"október", u"nóvember", u"desember"] ),
- 'it' : lambda v: slh( v, [u"gennaio", u"febbraio", u"marzo", u"aprile", u"maggio", u"giugno", u"luglio", u"agosto", u"settembre", u"ottobre", u"novembre", u"dicembre"] ),
- 'ja' : lambda v: slh( v, makeMonthList( u"%d月" )),
- 'jv' : lambda v: slh( v, [u"Januari", u"Februari", u"Maret", u"April", u"Mei", u"Juni", u"Juli", u"Agustus", u"September", u"Oktober", u"November", u"Desember"] ),
- 'ka' : lambda v: slh( v, [u"იანვარი", u"თებერვალი", u"მარტი", u"აპრილი", u"მაისი", u"ივნისი", u"ივლისი", u"აგვისტო", u"სექტემბერი", u"ოქტომბერი", u"ნოემბერი", u"დეკემბერი"] ),
- 'kn' : lambda v: slh( v, [u"ಜನವರಿ", u"ಫೆಬ್ರವರಿ", u"ಮಾರ್ಚಿ", u"ಎಪ್ರಿಲ್", u"ಮೇ", u"ಜೂನ", u"ಜುಲೈ", u"ಆಗಸ್ಟ್", u"ಸೆಪ್ಟೆಂಬರ್", u"ಅಕ್ಟೋಬರ್", u"ನವೆಂಬರ್", u"ಡಿಸೆಂಬರ್"] ),
- 'ko' : lambda v: slh( v, makeMonthList( u"%d월" )),
- 'ksh': lambda v: slh( v, [u'Jannowaa', u'Febrowaa', u'Mä', u'Apprill', u'Meij', u'Juuni', u'Juuli', u'Aujuß', u'Sepptäber', u'Oktoober', u'Novemmber', u'Dezemmber'] ),
- 'ku' : lambda v: slh( v, [u"rêbendan", u"reşemî", u"adar", u"avrêl", u"gulan", u"pûşper", u"tîrmeh", u"gelawêj (meh)", u"rezber", u"kewçêr", u"sermawez", u"berfanbar"] ),
- 'kw' : lambda v: slh( v, [u"Mys Genver", u"Mys Whevrer", u"Mys Merth", u"Mys Ebrel", u"Mys Me", u"Mys Metheven", u"Mys Gortheren", u"Mys Est", u"Mys Gwyngala", u"Mys Hedra", u"Mys Du", u"Mys Kevardhu"] ),
- 'la' : lambda v: slh( v, [u"Ianuarius", u"Februarius", u"Martius", u"Aprilis", u"Maius", u"Iunius", u"Iulius", u"Augustus (mensis)", u"September", u"October", u"November", u"December"] ),
- 'lb' : lambda v: slh( v, [u"Januar", u"Februar", u"Mäerz", u"Abrëll", u"Mee", u"Juni", u"Juli", u"August", u"September", u"Oktober", u"November", u"Dezember"] ),
- 'li' : lambda v: slh( v, [u"jannewarie", u"fibberwarie", u"miert", u"april", u"mei", u"juni", u"juli", u"augustus (maond)", u"september", u"oktober", u"november", u"december"] ),
- 'lt' : lambda v: slh( v, [u"Sausis", u"Vasaris", u"Kovas", u"Balandis", u"Gegužė", u"Birželis", u"Liepa", u"Rugpjūtis", u"Rugsėjis", u"Spalis", u"Lapkritis", u"Gruodis"] ),
- 'lv' : lambda v: slh( v, [u"Janvāris", u"Februāris", u"Marts", u"Aprīlis", u"Maijs", u"Jūnijs", u"Jūlijs", u"Augusts", u"Septembris", u"Oktobris", u"Novembris", u"Decembris"] ),
- 'mhr': lambda v: slh( v, [ u"шорыкйол", u"пургыж", u"ӱярня", u"вӱдшор", u"ага", u"пеледыш", u"сӱрем", u"сорла", u"идым", u"шыжа", u"кылме", u"декабрь"] ),
- 'mi' : lambda v: slh( v, [u"Kohi-tātea", u"Hui-tanguru", u"Poutū-te-rangi", u"Paenga-whāwhā", u"Haratua", u"Pipiri", u"Hōngongoi", u"Here-turi-kōkā", u"Mahuru", u"Whiringa-ā-nuku", u"Whiringa-ā-rangi", u"Hakihea"] ),
- 'ml' : lambda v: slh( v, [u"ജനുവരി", u"ഫെബ്രുവരി", u"മാര്ച്", u"ഏപ്രില്", u"മേയ്", u"ജൂണ്", u"ജൂലൈ", u"ആഗസ്റ്റ്", u"സപ്തന്പര്", u"ഒക്ടോബര്", u"നവന്പര്", u"ഡിസന്പര്"] ),
- 'mr' : lambda v: slh( v, [u"जानेवारी", u"फेब्रुवारी", u"मार्च", u"एप्रिल", u"मे", u"जून", u"जुलै", u"ऑगस्ट", u"सप्टेंबर", u"ऑक्टोबर", u"नोव्हेंबर", u"डिसेंबर"] ),
- 'ms' : lambda v: slh( v, [u"Januari", u"Februari", u"Mac", u"April", u"Mei", u"Jun", u"Julai", u"Ogos", u"September", u"Oktober", u"November", u"Disember"] ),
- 'nap': lambda v: slh( v, [u"Jennaro", u"Frevaro", u"Màrzo", u"Abbrile", u"Maggio", u"Giùgno", u"Luglio", u"Aùsto", u"Settembre", u"Ottovre", u"Nuvembre", u"Dicembre"] ),
- 'nds': lambda v: slh( v, [u"Januar", u"Februar", u"März", u"April", u"Mai", u"Juni", u"Juli", u"August", u"September", u"Oktober", u"November", u"Dezember"] ),
- 'nl' : lambda v: slh( v, [u"januari", u"februari", u"maart", u"april", u"mei", u"juni", u"juli", u"augustus (maand)", u"september", u"oktober", u"november", u"december"] ),
- 'nn' : lambda v: slh( v, [u"januar", u"februar", u"månaden mars", u"april", u"mai", u"juni", u"juli", u"august", u"september", u"oktober", u"november", u"desember"] ),
- 'no' : lambda v: slh( v, [u"januar", u"februar", u"mars", u"april", u"mai", u"juni", u"juli", u"august", u"september", u"oktober", u"november", u"desember"] ),
- 'oc' : lambda v: slh( v, [u"genièr", u"febrièr", u"març", u"abril", u"mai", u"junh", u"julhet", u"agost", u"setembre", u"octobre", u"novembre", u"decembre"] ),
- 'os' : lambda v: slh( v, [u"январь", u"февраль", u"мартъи", u"апрель", u"май", u"июнь", u"июль", u"август", u"сентябрь", u"октябрь", u"ноябрь", u"декабрь"] ),
- 'pl' : lambda v: slh( v, [u"styczeń", u"luty", u"marzec", u"kwiecień", u"maj", u"czerwiec", u"lipiec", u"sierpień", u"wrzesień", u"październik", u"listopad", u"grudzień"] ),
- 'pt' : lambda v: slh( v, [u"Janeiro", u"Fevereiro", u"Março", u"Abril", u"Maio", u"Junho", u"Julho", u"Agosto", u"Setembro", u"Outubro", u"Novembro", u"Dezembro"] ),
- 'ro' : lambda v: slh( v, [u"ianuarie", u"februarie", u"martie", u"aprilie", u"mai", u"iunie", u"iulie", u"august", u"septembrie", u"octombrie", u"noiembrie", u"decembrie"] ),
- 'ru' : lambda v: slh( v, [u"январь", u"февраль", u"март", u"апрель", u"май", u"июнь", u"июль", u"август", u"сентябрь", u"октябрь", u"ноябрь", u"декабрь"] ),
- 'sc' : lambda v: slh( v, [u"Ghennarzu", u"Frearzu", u"Martzu", u"Abrile", u"Maju", u"Làmpadas", u"Triulas", u"Aùstu", u"Cabudanni", u"Santugaìne", u"Santadria", u"Nadale"] ),
- 'scn': lambda v: slh( v, [u"jinnaru", u"frivaru", u"marzu", u"aprili", u"maiu", u"giugnu", u"giugnettu", u"austu", u"sittèmmiru", u"uttùviru", u"nuvèmmiru", u"dicèmmiru"] ),
- 'sco': lambda v: slh( v, [u"Januar", u"Februar", u"Mairch", u"Aprile", u"Mey", u"Juin", u"Julie", u"August", u"September", u"October", u"November", u"December"] ),
- 'se' : lambda v: slh( v, [u"ođđajagimánnu", u"guovvamánnu", u"njukčamánnu", u"cuoŋománnu", u"miessemánnu", u"geassemánnu", u"suoidnemánnu", u"borgemánnu", u"čakčamánnu", u"golggotmánnu", u"skábmamánnu", u"juovlamánnu"] ),
- 'simple': lambda v: slh( v, [u"January", u"February", u"March", u"April", u"May", u"June", u"July", u"August", u"September", u"October", u"November", u"December"] ),
- 'sk' : lambda v: slh( v, [u"január", u"február", u"marec", u"apríl", u"máj", u"jún", u"júl", u"august", u"september", u"október", u"november", u"december"] ),
- 'sl' : lambda v: slh( v, [u"januar", u"februar", u"marec", u"april", u"maj", u"junij", u"julij", u"avgust", u"september", u"oktober", u"november", u"december"] ),
- 'sq' : lambda v: slh( v, [u"Janari", u"Shkurti", u"Marsi (muaj)", u"Prilli", u"Maji", u"Qershori", u"Korriku", u"Gushti", u"Shtatori", u"Tetori", u"Nëntori", u"Dhjetori"] ),
- 'sr' : lambda v: slh( v, [u"јануар", u"фебруар", u"март", u"април", u"мај", u"јун", u"јул", u"август", u"септембар", u"октобар", u"новембар", u"децембар"] ),
- 'su' : lambda v: slh( v, [u"Januari", u"Pébruari", u"Maret", u"April", u"Méi", u"Juni", u"Juli", u"Agustus", u"Séptémber", u"Oktober", u"Nopémber", u"Désémber"] ),
- 'sv' : lambda v: slh( v, [u"januari", u"februari", u"mars", u"april", u"maj", u"juni", u"juli", u"augusti", u"september", u"oktober", u"november", u"december"] ),
- 'ta' : lambda v: slh( v, [u"ஜனவரி", u"பிப்ரவரி", u"மார்ச்", u"ஏப்ரல்", u"மே", u"ஜூன்", u"ஜூலை", u"ஆகஸ்டு", u"செப்டம்பர்", u"அக்டோபர்", u"நவம்பர்", u"டிசம்பர்"] ),
- 'te' : lambda v: slh( v, [u"జనవరి", u"ఫిబ్రవరి", u"మార్చి", u"ఏప్రిల్", u"మే", u"జూన్", u"జూలై", u"ఆగష్టు", u"సెప్టెంబర్", u"అక్టోబర్", u"నవంబర్", u"డిసెంబర్"] ),
- 'th' : lambda v: slh( v, [u"มกราคม", u"กุมภาพันธ์", u"มีนาคม", u"เมษายน", u"พฤษภาคม", u"มิถุนายน", u"กรกฎาคม", u"สิงหาคม", u"กันยายน", u"ตุลาคม", u"พฤศจิกายน", u"ธันวาคม"] ),
- 'tl' : lambda v: slh( v, [u"Enero", u"Pebrero", u"Marso", u"Abril", u"Mayo", u"Hunyo", u"Hulyo", u"Agosto", u"Setyembre", u"Oktubre", u"Nobyembre", u"Disyembre"] ),
- 'tpi': lambda v: slh( v, [u"Janueri", u"Februeri", u"Mas", u"Epril", u"Me", u"Jun", u"Julai", u"Ogas", u"Septemba", u"Oktoba", u"Novemba", u"Disemba"] ),
- 'tr' : lambda v: slh( v, [u"Ocak", u"Şubat", u"Mart", u"Nisan", u"Mayıs", u"Haziran", u"Temmuz", u"Ağustos", u"Eylül", u"Ekim", u"Kasım", u"Aralık"] ),
- 'tt' : lambda v: slh( v, [u"Ğínwar", u"Febräl", u"Mart", u"Äpril", u"May", u"Yün", u"Yül", u"August", u"Sentäber", u"Öktäber", u"Nöyäber", u"Dekäber"] ),
- 'uk' : lambda v: slh( v, [u"січень", u"лютий", u"березень", u"квітень", u"травень", u"червень", u"липень", u"серпень", u"вересень", u"жовтень", u"листопад", u"грудень"] ),
- 'ur' : lambda v: slh( v, [u"جنوری", u"فروری", u"مارچ", u"اپريل", u"مئ", u"جون", u"جولائ", u"اگست", u"ستمبر", u"اکتوبر", u"نومبر", u"دسمبر"] ),
- 'vec': lambda v: slh( v, [u"genaro", u"febraro", u"marzso", u"apriłe", u"majo", u"giugno", u"lujo", u"agosto", u"setenbre", u"otobre", u"novenbre", u"diçenbre"] ),
- 'vi' : lambda v: slh( v, [u"tháng một", u"tháng hai", u"tháng ba", u"tháng tư", u"tháng năm", u"tháng sáu", u"tháng bảy", u"tháng tám", u"tháng chín", u"tháng mười", u"tháng mười một", u"tháng 12"] ),
- 'vo' : lambda v: slh( v, [u"Yanul", u"Febul", u"Mäzul", u"Prilul", u"Mayul", u"Yunul", u"Yulul", u"Gustul", u"Setul", u"Tobul", u"Novul", u"Dekul"] ),
- 'wa' : lambda v: slh( v, [u"djanvî", u"fevrî", u"Måss (moes)", u"avri", u"may", u"djun", u"djulete", u"awousse", u"setimbe", u"octôbe", u"nôvimbe", u"decimbe"] ),
- 'zh' : lambda v: slh( v, makeMonthList( u"%d月" )),
- 'zh-min-nan': lambda v: slh( v, [u"It-goe̍h", u"Jī-goe̍h", u"Saⁿ-goe̍h", u"Sì-goe̍h", u"Gō·-goe̍h", u"La̍k-goe̍h", u"Chhit-goe̍h", u"Peh-goe̍h", u"Káu-goe̍h", u"Cha̍p-goe̍h", u"Cha̍p-it-goe̍h", u"Cha̍p-jī-goe̍h"] ),
+ 'af' : lambda v: slh( v, [u"Januarie", u"Februarie", u"Maart", u"April", u"Mei", u"Junie", u"Julie", u"Augustus", u"September", u"Oktober", u"November", u"Desember"] ),
+ 'als': lambda v: slh( v, [u"Januar", u"Februar", u"März", u"April", u"Mai", u"Juni", u"Juli", u"August", u"September", u"Oktober", u"November", u"Dezember"] ),
+ 'an' : lambda v: slh( v, [u"chinero", u"frebero", u"marzo", u"abril", u"mayo", u"chunio", u"chulio", u"agosto", u"setiembre", u"otubre", u"nobiembre", u"abiento"] ),
+ 'ang': lambda v: slh( v, [u"Æfterra Gēola", u"Solmōnaþ", u"Hrēþmōnaþ", u"Ēastermōnaþ", u"Þrimilcemōnaþ", u"Sēremōnaþ", u"Mǣdmōnaþ", u"Wēodmōnaþ", u"Hāligmōnaþ", u"Winterfylleþ", u"Blōtmōnaþ", u"Gēolmōnaþ"] ),
+ 'ar' : lambda v: slh( v, [u"يناير", u"فبراير", u"مارس", u"أبريل", u"مايو", u"يونيو", u"يوليو", u"أغسطس", u"سبتمبر", u"أكتوبر", u"نوفمبر", u"ديسمبر"] ),
+ 'ast': lambda v: slh( v, [u"xineru", u"febreru", u"marzu", u"abril", u"mayu", u"xunu", u"xunetu", u"agostu", u"setiembre", u"ochobre", u"payares", u"avientu"] ),
+ 'be' : lambda v: slh( v, [u"студзень", u"люты", u"сакавік", u"красавік", u"травень", u"чэрвень", u"ліпень", u"жнівень", u"верасень", u"кастрычнік", u"лістапад", u"сьнежань"] ),
+ 'bg' : lambda v: slh( v, [u"януари", u"февруари", u"март", u"април", u"май", u"юни", u"юли", u"август", u"септември", u"октомври", u"ноември", u"декември"] ),
+ 'bn' : lambda v: slh( v, [u"জানুয়ারি", u"ফেব্রুয়ারি", u"মার্চ", u"এপ্রিল", u"মে", u"জুন", u"জুলাই", u"আগস্ট", u"সেপ্টেম্বর", u"অক্টোবর", u"নভেম্বর", u"ডিসেম্বর"] ),
+ 'br' : lambda v: slh( v, [u"Genver", u"C'hwevrer", u"Meurzh", u"Ebrel", u"Mae", u"Mezheven", u"Gouere", u"Eost", u"Gwengolo", u"Here", u"Du", u"Kerzu"] ),
+ 'bs' : lambda v: slh( v, [u"januar", u"februar", u"mart", u"april", u"maj", u"juni", u"juli", u"august", u"septembar", u"oktobar", u"novembar", u"decembar"] ),
+ 'ca' : lambda v: slh( v, [u"gener", u"febrer", u"març", u"abril", u"maig", u"juny", u"juliol", u"agost", u"setembre", u"octubre", u"novembre", u"desembre"] ),
+ 'ceb': lambda v: slh( v, [u"Enero", u"Pebrero", u"Marso", u"Abril", u"Mayo", u"Hunyo", u"Hulyo", u"Agosto", u"Septiyembre", u"Oktubre", u"Nobiyembre", u"Disyembre"] ),
+ 'co' : lambda v: slh( v, [u"ghjennaghju", u"frivaghju", u"marzu", u"aprile", u"maghju", u"ghjugnu", u"lugliu", u"aostu", u"settembre", u"uttrovi", u"nuvembri", u"decembre"] ),
+ 'cs' : lambda v: slh( v, [u"leden", u"únor", u"březen", u"duben", u"květen", u"červen", u"červenec", u"srpen", u"září", u"říjen", u"listopad", u"prosinec"] ),
+ 'csb': lambda v: slh( v, [u"stëcznik", u"gromicznik", u"strumiannik", u"łżëkwiôt", u"môj", u"czerwińc", u"lëpinc", u"zélnik", u"séwnik", u"rujan", u"lëstopadnik", u"gòdnik"] ),
+ 'cv' : lambda v: slh( v, [u"кăрлач", u"нарăс", u"Пуш", u"Ака", u"çу", u"çĕртме", u"утă", u"çурла", u"авăн", u"юпа", u"чӳк", u"раштав"] ),
+ 'cy' : lambda v: slh( v, [u"Ionawr", u"Chwefror", u"Mawrth", u"Ebrill", u"Mai", u"Mehefin", u"Gorffennaf", u"Awst", u"Medi", u"Hydref", u"Tachwedd", u"Rhagfyr"] ),
+ 'da' : lambda v: slh( v, [u"januar", u"februar", u"marts", u"april", u"maj", u"juni", u"juli", u"august", u"september", u"oktober", u"november", u"december"] ),
+ 'de' : lambda v: slh( v, [u"Januar", u"Februar", u"März", u"April", u"Mai", u"Juni", u"Juli", u"August", u"September", u"Oktober", u"November", u"Dezember"] ),
+ 'el' : lambda v: slh( v, [u"Ιανουάριος", u"Φεβρουάριος", u"Μάρτιος", u"Απρίλιος", u"Μάιος", u"Ιούνιος", u"Ιούλιος", u"Αύγουστος", u"Σεπτέμβριος", u"Οκτώβριος", u"Νοέμβριος", u"Δεκέμβριος"] ),
+ 'en' : lambda v: slh( v, enMonthNames ),
+ 'eo' : lambda v: slh( v, [u"Januaro", u"Februaro", u"Marto", u"Aprilo", u"Majo", u"Junio", u"Julio", u"Aŭgusto", u"Septembro", u"Oktobro", u"Novembro", u"Decembro"] ),
+ 'es' : lambda v: slh( v, [u"enero", u"febrero", u"marzo", u"abril", u"mayo", u"junio", u"julio", u"agosto", u"septiembre", u"octubre", u"noviembre", u"diciembre"] ),
+ 'et' : lambda v: slh( v, [u"jaanuar", u"veebruar", u"märts", u"aprill", u"mai", u"juuni", u"juuli", u"august", u"september", u"oktoober", u"november", u"detsember"] ),
+ 'eu' : lambda v: slh( v, [u"Urtarril", u"Otsail", u"Martxo", u"Apiril", u"Maiatz", u"Ekain", u"Uztail", u"Abuztu", u"Irail", u"Urri", u"Azaro", u"Abendu"] ),
+ 'fa' : lambda v: slh( v, [u"ژانویه", u"فوریه", u"مارس", u"آوریل", u"مه", u"ژوئن", u"ژوئیه", u"اوت", u"سپتامبر", u"اکتبر", u"نوامبر", u"دسامبر"] ),
+ 'fi' : lambda v: slh( v, [u"tammikuu", u"helmikuu", u"maaliskuu", u"huhtikuu", u"toukokuu", u"kesäkuu", u"heinäkuu", u"elokuu", u"syyskuu", u"lokakuu", u"marraskuu", u"joulukuu"] ),
+ 'fo' : lambda v: slh( v, [u"januar", u"februar", u"mars", u"apríl", u"mai", u"juni", u"juli", u"august", u"september", u"oktober", u"november", u"desember"] ),
+ 'fr' : lambda v: slh( v, [u"janvier", u"février", u"mars (mois)", u"avril", u"mai", u"juin", u"juillet", u"août", u"septembre", u"octobre", u"novembre", u"décembre"] ),
+ 'fur': lambda v: slh( v, [u"Zenâr", u"Fevrâr", u"Març", u"Avrîl", u"Mai", u"Jugn", u"Lui", u"Avost", u"Setembar", u"Otubar", u"Novembar", u"Dicembar"] ),
+ 'fy' : lambda v: slh( v, [u"jannewaris", u"febrewaris", u"maart", u"april", u"maaie", u"juny", u"july", u"augustus", u"septimber", u"oktober", u"novimber", u"desimber"] ),
+ 'ga' : lambda v: slh( v, [u"Eanáir", u"Feabhra", u"Márta", u"Aibreán", u"Bealtaine", u"Meitheamh", u"Iúil", u"Lúnasa", u"Meán Fómhair", u"Deireadh Fómhair", u"Samhain", u"Nollaig"] ),
+ 'gl' : lambda v: slh( v, [u"xaneiro", u"febreiro", u"marzo", u"abril", u"maio", u"xuño", u"xullo", u"agosto", u"setembro", u"outubro", u"novembro", u"decembro"] ),
+ 'he' : lambda v: slh( v, [u"ינואר", u"פברואר", u"מרץ", u"אפריל", u"מאי", u"יוני", u"יולי", u"אוגוסט", u"ספטמבר", u"אוקטובר", u"נובמבר", u"דצמבר"] ),
+ 'hi' : lambda v: slh( v, [u"जनवरी", u"फ़रवरी", u"मार्च", u"अप्रैल", u"मई", u"जून", u"जुलाई", u"अगस्त", u"सितम्बर", u"अक्टूबर", u"नवम्बर", u"दिसम्बर"] ),
+ 'hr' : lambda v: slh( v, [u"siječanj", u"veljača", u"ožujak", u"travanj", u"svibanj", u"lipanj", u"srpanj", u"kolovoz", u"rujan", u"listopad", u"studeni", u"prosinac"] ),
+ 'hu' : lambda v: slh( v, [u"január", u"február", u"március", u"április", u"május", u"június", u"július", u"augusztus", u"szeptember", u"október", u"november", u"december"] ),
+ 'ia' : lambda v: slh( v, [u"januario", u"februario", u"martio", u"april", u"maio", u"junio", u"julio", u"augusto", u"septembre", u"octobre", u"novembre", u"decembre"] ),
+ 'id' : lambda v: slh( v, [u"Januari", u"Februari", u"Maret", u"April", u"Mei", u"Juni", u"Juli", u"Agustus", u"September", u"Oktober", u"November", u"Desember"] ),
+ 'ie' : lambda v: slh( v, [u"januar", u"februar", u"marte", u"april", u"may", u"junio", u"juli", u"august", u"septembre", u"octobre", u"novembre", u"decembre"] ),
+ 'io' : lambda v: slh( v, [u"januaro", u"februaro", u"Marto", u"aprilo", u"mayo", u"junio", u"julio", u"agosto", u"septembro", u"oktobro", u"novembro", u"decembro"] ),
+ 'is' : lambda v: slh( v, [u"janúar", u"febrúar", u"mars (mánuður)", u"apríl", u"maí", u"júní", u"júlí", u"ágúst", u"september", u"október", u"nóvember", u"desember"] ),
+ 'it' : lambda v: slh( v, [u"gennaio", u"febbraio", u"marzo", u"aprile", u"maggio", u"giugno", u"luglio", u"agosto", u"settembre", u"ottobre", u"novembre", u"dicembre"] ),
+ 'ja' : lambda v: slh( v, makeMonthList( u"%d月" )),
+ 'jv' : lambda v: slh( v, [u"Januari", u"Februari", u"Maret", u"April", u"Mei", u"Juni", u"Juli", u"Agustus", u"September", u"Oktober", u"November", u"Desember"] ),
+ 'ka' : lambda v: slh( v, [u"იანვარი", u"თებერვალი", u"მარტი", u"აპრილი", u"მაისი", u"ივნისი", u"ივლისი", u"აგვისტო", u"სექტემბერი", u"ოქტომბერი", u"ნოემბერი", u"დეკემბერი"] ),
+ 'kn' : lambda v: slh( v, [u"ಜನವರಿ", u"ಫೆಬ್ರವರಿ", u"ಮಾರ್ಚಿ", u"ಎಪ್ರಿಲ್", u"ಮೇ", u"ಜೂನ", u"ಜುಲೈ", u"ಆಗಸ್ಟ್", u"ಸೆಪ್ಟೆಂಬರ್", u"ಅಕ್ಟೋಬರ್", u"ನವೆಂಬರ್", u"ಡಿಸೆಂಬರ್"] ),
+ 'ko' : lambda v: slh( v, makeMonthList( u"%d월" )),
+ 'ksh': lambda v: slh( v, [u'Jannowaa', u'Febrowaa', u'Mä', u'Apprill', u'Meij', u'Juuni', u'Juuli', u'Aujuß', u'Sepptäber', u'Oktoober', u'Novemmber', u'Dezemmber'] ),
+ 'ku' : lambda v: slh( v, [u"rêbendan", u"reşemî", u"adar", u"avrêl", u"gulan", u"pûşper", u"tîrmeh", u"gelawêj (meh)", u"rezber", u"kewçêr", u"sermawez", u"berfanbar"] ),
+ 'kw' : lambda v: slh( v, [u"Mys Genver", u"Mys Whevrer", u"Mys Merth", u"Mys Ebrel", u"Mys Me", u"Mys Metheven", u"Mys Gortheren", u"Mys Est", u"Mys Gwyngala", u"Mys Hedra", u"Mys Du", u"Mys Kevardhu"] ),
+ 'la' : lambda v: slh( v, [u"Ianuarius", u"Februarius", u"Martius", u"Aprilis", u"Maius", u"Iunius", u"Iulius", u"Augustus (mensis)", u"September", u"October", u"November", u"December"] ),
+ 'lb' : lambda v: slh( v, [u"Januar", u"Februar", u"Mäerz", u"Abrëll", u"Mee", u"Juni", u"Juli", u"August", u"September", u"Oktober", u"November", u"Dezember"] ),
+ 'li' : lambda v: slh( v, [u"jannewarie", u"fibberwarie", u"miert", u"april", u"mei", u"juni", u"juli", u"augustus (maond)", u"september", u"oktober", u"november", u"december"] ),
+ 'lt' : lambda v: slh( v, [u"Sausis", u"Vasaris", u"Kovas", u"Balandis", u"Gegužė", u"Birželis", u"Liepa", u"Rugpjūtis", u"Rugsėjis", u"Spalis", u"Lapkritis", u"Gruodis"] ),
+ 'lv' : lambda v: slh( v, [u"Janvāris", u"Februāris", u"Marts", u"Aprīlis", u"Maijs", u"Jūnijs", u"Jūlijs", u"Augusts", u"Septembris", u"Oktobris", u"Novembris", u"Decembris"] ),
+ 'mhr': lambda v: slh( v, [ u"шорыкйол", u"пургыж", u"ӱярня", u"вӱдшор", u"ага", u"пеледыш", u"сӱрем", u"сорла", u"идым", u"шыжа", u"кылме", u"декабрь"] ),
+ 'mi' : lambda v: slh( v, [u"Kohi-tātea", u"Hui-tanguru", u"Poutū-te-rangi", u"Paenga-whāwhā", u"Haratua", u"Pipiri", u"Hōngongoi", u"Here-turi-kōkā", u"Mahuru", u"Whiringa-ā-nuku", u"Whiringa-ā-rangi", u"Hakihea"] ),
+ 'ml' : lambda v: slh( v, [u"ജനുവരി", u"ഫെബ്രുവരി", u"മാര്ച്", u"ഏപ്രില്", u"മേയ്", u"ജൂണ്", u"ജൂലൈ", u"ആഗസ്റ്റ്", u"സപ്തന്പര്", u"ഒക്ടോബര്", u"നവന്പര്", u"ഡിസന്പര്"] ),
+ 'mr' : lambda v: slh( v, [u"जानेवारी", u"फेब्रुवारी", u"मार्च", u"एप्रिल", u"मे", u"जून", u"जुलै", u"ऑगस्ट", u"सप्टेंबर", u"ऑक्टोबर", u"नोव्हेंबर", u"डिसेंबर"] ),
+ 'ms' : lambda v: slh( v, [u"Januari", u"Februari", u"Mac", u"April", u"Mei", u"Jun", u"Julai", u"Ogos", u"September", u"Oktober", u"November", u"Disember"] ),
+ 'nap': lambda v: slh( v, [u"Jennaro", u"Frevaro", u"Màrzo", u"Abbrile", u"Maggio", u"Giùgno", u"Luglio", u"Aùsto", u"Settembre", u"Ottovre", u"Nuvembre", u"Dicembre"] ),
+ 'nds': lambda v: slh( v, [u"Januar", u"Februar", u"März", u"April", u"Mai", u"Juni", u"Juli", u"August", u"September", u"Oktober", u"November", u"Dezember"] ),
+ 'nl' : lambda v: slh( v, [u"januari", u"februari", u"maart", u"april", u"mei", u"juni", u"juli", u"augustus (maand)", u"september", u"oktober", u"november", u"december"] ),
+ 'nn' : lambda v: slh( v, [u"januar", u"februar", u"månaden mars", u"april", u"mai", u"juni", u"juli", u"august", u"september", u"oktober", u"november", u"desember"] ),
+ 'no' : lambda v: slh( v, [u"januar", u"februar", u"mars", u"april", u"mai", u"juni", u"juli", u"august", u"september", u"oktober", u"november", u"desember"] ),
+ 'oc' : lambda v: slh( v, [u"genièr", u"febrièr", u"març", u"abril", u"mai", u"junh", u"julhet", u"agost", u"setembre", u"octobre", u"novembre", u"decembre"] ),
+ 'os' : lambda v: slh( v, [u"январь", u"февраль", u"мартъи", u"апрель", u"май", u"июнь", u"июль", u"август", u"сентябрь", u"октябрь", u"ноябрь", u"декабрь"] ),
+ 'pl' : lambda v: slh( v, [u"styczeń", u"luty", u"marzec", u"kwiecień", u"maj", u"czerwiec", u"lipiec", u"sierpień", u"wrzesień", u"październik", u"listopad", u"grudzień"] ),
+ 'pt' : lambda v: slh( v, [u"Janeiro", u"Fevereiro", u"Março", u"Abril", u"Maio", u"Junho", u"Julho", u"Agosto", u"Setembro", u"Outubro", u"Novembro", u"Dezembro"] ),
+ 'ro' : lambda v: slh( v, [u"ianuarie", u"februarie", u"martie", u"aprilie", u"mai", u"iunie", u"iulie", u"august", u"septembrie", u"octombrie", u"noiembrie", u"decembrie"] ),
+ 'ru' : lambda v: slh( v, [u"январь", u"февраль", u"март", u"апрель", u"май", u"июнь", u"июль", u"август", u"сентябрь", u"октябрь", u"ноябрь", u"декабрь"] ),
+ 'sc' : lambda v: slh( v, [u"Ghennarzu", u"Frearzu", u"Martzu", u"Abrile", u"Maju", u"Làmpadas", u"Triulas", u"Aùstu", u"Cabudanni", u"Santugaìne", u"Santadria", u"Nadale"] ),
+ 'scn': lambda v: slh( v, [u"jinnaru", u"frivaru", u"marzu", u"aprili", u"maiu", u"giugnu", u"giugnettu", u"austu", u"sittèmmiru", u"uttùviru", u"nuvèmmiru", u"dicèmmiru"] ),
+ 'sco': lambda v: slh( v, [u"Januar", u"Februar", u"Mairch", u"Aprile", u"Mey", u"Juin", u"Julie", u"August", u"September", u"October", u"November", u"December"] ),
+ 'se' : lambda v: slh( v, [u"ođđajagimánnu", u"guovvamánnu", u"njukčamánnu", u"cuoŋománnu", u"miessemánnu", u"geassemánnu", u"suoidnemánnu", u"borgemánnu", u"čakčamánnu", u"golggotmánnu", u"skábmamánnu", u"juovlamánnu"] ),
+ 'simple': lambda v: slh( v, [u"January", u"February", u"March", u"April", u"May", u"June", u"July", u"August", u"September", u"October", u"November", u"December"] ),
+ 'sk' : lambda v: slh( v, [u"január", u"február", u"marec", u"apríl", u"máj", u"jún", u"júl", u"august", u"september", u"október", u"november", u"december"] ),
+ 'sl' : lambda v: slh( v, [u"januar", u"februar", u"marec", u"april", u"maj", u"junij", u"julij", u"avgust", u"september", u"oktober", u"november", u"december"] ),
+ 'sq' : lambda v: slh( v, [u"Janari", u"Shkurti", u"Marsi (muaj)", u"Prilli", u"Maji", u"Qershori", u"Korriku", u"Gushti", u"Shtatori", u"Tetori", u"Nëntori", u"Dhjetori"] ),
+ 'sr' : lambda v: slh( v, [u"јануар", u"фебруар", u"март", u"април", u"мај", u"јун", u"јул", u"август", u"септембар", u"октобар", u"новембар", u"децембар"] ),
+ 'su' : lambda v: slh( v, [u"Januari", u"Pébruari", u"Maret", u"April", u"Méi", u"Juni", u"Juli", u"Agustus", u"Séptémber", u"Oktober", u"Nopémber", u"Désémber"] ),
+ 'sv' : lambda v: slh( v, [u"januari", u"februari", u"mars", u"april", u"maj", u"juni", u"juli", u"augusti", u"september", u"oktober", u"november", u"december"] ),
+ 'ta' : lambda v: slh( v, [u"ஜனவரி", u"பிப்ரவரி", u"மார்ச்", u"ஏப்ரல்", u"மே", u"ஜூன்", u"ஜூலை", u"ஆகஸ்டு", u"செப்டம்பர்", u"அக்டோபர்", u"நவம்பர்", u"டிசம்பர்"] ),
+ 'te' : lambda v: slh( v, [u"జనవరి", u"ఫిబ్రవరి", u"మార్చి", u"ఏప్రిల్", u"మే", u"జూన్", u"జూలై", u"ఆగష్టు", u"సెప్టెంబర్", u"అక్టోబర్", u"నవంబర్", u"డిసెంబర్"] ),
+ 'th' : lambda v: slh( v, [u"มกราคม", u"กุมภาพันธ์", u"มีนาคม", u"เมษายน", u"พฤษภาคม", u"มิถุนายน", u"กรกฎาคม", u"สิงหาคม", u"กันยายน", u"ตุลาคม", u"พฤศจิกายน", u"ธันวาคม"] ),
+ 'tl' : lambda v: slh( v, [u"Enero", u"Pebrero", u"Marso", u"Abril", u"Mayo", u"Hunyo", u"Hulyo", u"Agosto", u"Setyembre", u"Oktubre", u"Nobyembre", u"Disyembre"] ),
+ 'tpi': lambda v: slh( v, [u"Janueri", u"Februeri", u"Mas", u"Epril", u"Me", u"Jun", u"Julai", u"Ogas", u"Septemba", u"Oktoba", u"Novemba", u"Disemba"] ),
+ 'tr' : lambda v: slh( v, [u"Ocak", u"Şubat", u"Mart", u"Nisan", u"Mayıs", u"Haziran", u"Temmuz", u"Ağustos", u"Eylül", u"Ekim", u"Kasım", u"Aralık"] ),
+ 'tt' : lambda v: slh( v, [u"Ğínwar", u"Febräl", u"Mart", u"Äpril", u"May", u"Yün", u"Yül", u"August", u"Sentäber", u"Öktäber", u"Nöyäber", u"Dekäber"] ),
+ 'uk' : lambda v: slh( v, [u"січень", u"лютий", u"березень", u"квітень", u"травень", u"червень", u"липень", u"серпень", u"вересень", u"жовтень", u"листопад", u"грудень"] ),
+ 'ur' : lambda v: slh( v, [u"جنوری", u"فروری", u"مارچ", u"اپريل", u"مئ", u"جون", u"جولائ", u"اگست", u"ستمبر", u"اکتوبر", u"نومبر", u"دسمبر"] ),
+ 'vec': lambda v: slh( v, [u"genaro", u"febraro", u"marzso", u"apriłe", u"majo", u"giugno", u"lujo", u"agosto", u"setenbre", u"otobre", u"novenbre", u"diçenbre"] ),
+ 'vi' : lambda v: slh( v, [u"tháng một", u"tháng hai", u"tháng ba", u"tháng tư", u"tháng năm", u"tháng sáu", u"tháng bảy", u"tháng tám", u"tháng chín", u"tháng mười", u"tháng mười một", u"tháng 12"] ),
+ 'vo' : lambda v: slh( v, [u"Yanul", u"Febul", u"Mäzul", u"Prilul", u"Mayul", u"Yunul", u"Yulul", u"Gustul", u"Setul", u"Tobul", u"Novul", u"Dekul"] ),
+ 'wa' : lambda v: slh( v, [u"djanvî", u"fevrî", u"Måss (moes)", u"avri", u"may", u"djun", u"djulete", u"awousse", u"setimbe", u"octôbe", u"nôvimbe", u"decimbe"] ),
+ 'zh' : lambda v: slh( v, makeMonthList( u"%d月" )),
+ 'zh-min-nan': lambda v: slh( v, [u"It-goe̍h", u"Jī-goe̍h", u"Saⁿ-goe̍h", u"Sì-goe̍h", u"Gō·-goe̍h", u"La̍k-goe̍h", u"Chhit-goe̍h", u"Peh-goe̍h", u"Káu-goe̍h", u"Cha̍p-goe̍h", u"Cha̍p-it-goe̍h", u"Cha̍p-jī-goe̍h"] ),
},
'Number': {
@@ -643,7 +657,6 @@
'su' : dh_simpleYearAD,
'ta' : dh_simpleYearAD,
'te' : dh_simpleYearAD,
-
#2005 => 'พ.ศ. 2548'
'th' : lambda v: dh_yearAD( v, u'พ.ศ. %T' ),
'tl' : dh_simpleYearAD,
@@ -1307,10 +1320,10 @@
else:
formats[dayMnthFmts[i]][lang] = eval(u'lambda v: dh_dayOfMnth( v, u"%s" )' % patterns[i])
-def makeMonthList( pattern ):
- return [ pattern % m for m in range(1,13) ]
+def makeMonthList(pattern):
+ return [pattern % m for m in range(1,13)]
-def makeMonthNamedList( lang, pattern, makeUpperCase = None ):
+def makeMonthNamedList(lang, pattern, makeUpperCase=None):
"""Creates a list of 12 elements based on the name of the month.
The language-dependent month name is used as a formating argument to the pattern.
The pattern must be have one %s that will be replaced by the localized month name.
@@ -1328,7 +1341,6 @@
def addFmt2( lang, isMnthOfYear, pattern, makeUpperCase = None ):
addFmt( lang, isMnthOfYear, makeMonthNamedList( lang, pattern, makeUpperCase ))
-
#
# Add day of the month formats to the formatting table: "en:May 15"
#
@@ -1450,7 +1462,6 @@
u'(lambda v: dh_dayOfMnth( v, u"%%dañ %s" ), lambda p: p == 1),' +
u'(lambda v: dh_dayOfMnth( v, u"%%d %s" ), alwaysTrue)])') % (brMonthNames[i], brMonthNames[i]))
-
#
# Month of the Year: "en:May 1976"
#
@@ -1532,7 +1543,6 @@
"""Returns the number of days in a given month, 1 being January, etc."""
return formatLimits[dayMnthFmts[month-1]][2]-1
-
def getAutoFormat( lang, title, ignoreFirstLetterCase = True ):
"""Returns (dictName,value), where value can be a year, date, etc, and dictName is 'YearBC', 'December', etc."""
for dictName, dict in formats.iteritems():
@@ -1541,7 +1551,6 @@
return (dictName,year)
except:
pass
-
# sometimes the title may begin with an upper case while its listed as lower case, or the other way around
# change case of the first character to the opposite, and try again
if ignoreFirstLetterCase:
@@ -1550,13 +1559,12 @@
title = title[0].lower() + title[1:]
else:
title = title[0].upper() + title[1:]
-
return getAutoFormat(lang, title, ignoreFirstLetterCase = False)
except:
pass
-
return (None,None)
+
class FormatDate(object):
def __init__(self, site):
self.site = site
@@ -1572,18 +1580,15 @@
return formats['YearAD'][lang](year)
#
-#
# Map testing methods
#
-#
def printMonthArray( lang, pattern, capitalize ):
"""
"""
for s in makeMonthNamedList( lang, pattern, capitalize ):
- wikipedia.output( s )
+ pywikibot.output( s )
-
def testMapEntry( formatName, showAll = True, value = None ):
"""This is a test function, to be used interactivelly to test the validity of the above maps.
To test, run this function with the map name, value to be tested, and the final value expected.
@@ -1600,7 +1605,7 @@
if value is not None:
start, stop = value, value+1
if showAll:
- wikipedia.output(u"Processing %s with limits from %d to %d and step %d" % (formatName, start,stop-1,step))
+ pywikibot.output(u"Processing %s with limits from %d to %d and step %d" % (formatName, start,stop-1,step))
for code, convFunc in formats[formatName].iteritems():
# import time
@@ -1613,13 +1618,13 @@
if newValue != value:
raise AssertionError(" %s != %s: assert failed, values didn't match" % (newValue, value))
if showAll:
- wikipedia.output(u"date.formats['%s']['%s'](%d): '%s' -> %d" % (formatName, code, value, convFunc(value), newValue))
+ pywikibot.output(u"date.formats['%s']['%s'](%d): '%s' -> %d" % (formatName, code, value, convFunc(value), newValue))
except:
- wikipedia.output(u"********** Error in date.formats['%s']['%s'](%d)" % (formatName, code, value))
+ pywikibot.output(u"********** Error in date.formats['%s']['%s'](%d)" % (formatName, code, value))
raise
-# wikipedia.output( u"%s\t%s\t%f" % (formatName, code, time.clock() - startClock) )
+# pywikibot.output( u"%s\t%s\t%f" % (formatName, code, time.clock() - startClock) )
-def test(quick = False, showAll = False):
+def test(quick=False, showAll=False):
"""This is a test function, to be used interactively to test entire
format conversion map at once
@@ -1630,24 +1635,17 @@
"""
for formatName in formats.keys():
-
if quick:
testMapEntry( formatName, showAll, formatLimits[formatName][1] ) # Only test the first value in the test range
else:
testMapEntry( formatName, showAll ) # Extensive test! # Test decade rounding
- wikipedia.output(u"'%s' complete." % formatName)
-
+ pywikibot.output(u"'%s' complete." % formatName)
if quick:
- #wikipedia.output(u'Date module quick consistency test passed')
+ #pywikibot.output(u'Date module quick consistency test passed')
pass
else:
- wikipedia.output(u'Date module has been fully tested')
+ pywikibot.output(u'Date module has been fully tested')
-
-#
-#
# Do a quick test upon module loading!
# Make sure the date file is correct
-#
-#
test(quick=True)
Modified: trunk/pywikipedia/deledpimage.py
===================================================================
--- trunk/pywikipedia/deledpimage.py 2010-09-11 08:32:54 UTC (rev 8517)
+++ trunk/pywikipedia/deledpimage.py 2010-09-11 09:20:01 UTC (rev 8518)
@@ -1,7 +1,8 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
-Script to remove EDP images in non-article namespaces. This script is currently used on the Chinese wikipedia.
+Script to remove EDP images in non-article namespaces. This script is currently
+used on the Chinese wikipedia.
Way:
* [[Image:logo.jpg]] --> [[:Image:logo.jpg]]
@@ -25,9 +26,10 @@
"""
import re, time
-import wikipedia,catlib
+import wikipedia as pywikibot
+import catlib
-site = wikipedia.getSite()
+site = pywikibot.getSite()
cat = {
'ar': u'تصنيف:وسوم حقوق نسخ الصور غير الحرة',
@@ -47,9 +49,9 @@
'zh': u'Bot修正EDP图像用法:[[%s]]',
}
-lcontent=wikipedia.translate(site, content)
-category=wikipedia.translate(site, cat)
-putmsg=wikipedia.translate(site, msg)
+lcontent=pywikibot.translate(site, content)
+category=pywikibot.translate(site, cat)
+putmsg=pywikibot.translate(site, msg)
#from non-free copyright tag category get all EDPtemplate
templatecat=catlib.Category(site, category)
@@ -61,15 +63,15 @@
for image in images :
imagetitle=image.title()
- imagepage=wikipedia.ImagePage(site,imagetitle)
+ imagepage=pywikibot.ImagePage(site,imagetitle)
#from imagepage get all usingPages of non-articles
pimages=[puseimage for puseimage in imagepage.usingPages() if puseimage.namespace()<>0]
for pimage in pimages:
ns=pimage.namespace()
pimagetitle=pimage.title()
- c=u'\nfond an used the image [[%s]] in [[%s]]: ' % (imagetitle, pimagetitle)
-
+ c = u'\nfond an used the image [[%s]] in [[%s]]: ' \
+ % (imagetitle, pimagetitle)
text=pimage.get()
try:
re.search('<!--(.*?)'+imagetitle+'(.*?)-->',text,re.I).group(0)
@@ -80,34 +82,32 @@
# Not [[Image:]] namespace
if imagetitle[6:] in text:
-
imagetext = re.search(imagetitle[6:]+'(.*?)(|)',text,re.I).group(0)
text = re.sub(imagetitle[6:]+'(.*?)(|)', '<!--'+lcontent+imagetext+' \n-->', text, re.I)
- wikipedia.output(c+u'remove!!!\nSleep 10 s......')
+ pywikibot.output(c+u'remove!!!\nSleep 10 s......')
pimage.put(text, putmsg % imagetitle)
time.sleep(10)
#used [[Image:wiki.png]] image
else:
-
if '[['+imagetitle in text:
#Image in userpage, imagepage,and all talkpage , [[Image:wiki.png]] --> [[:Image:wiki.png]]
if ns==1 or ns==6 or ns==2 or ns==3 or ns==5 or ns==7 or ns==9 or ns==11 or ns==13 or ns==15 or ns==17 or ns==101:
text = re.sub('\[\['+imagetitle+'(.*?)\]\]', '<!--'+lcontent+'\n-->'+'[['+':'+imagetitle+']]',text, re.I)
- wikipedia.output(c+u'FIX!\nSleep 10 s......')
+ pywikibot.output(c+u'FIX!\nSleep 10 s......')
pimage.put(text, putmsg % imagetitle)
time.sleep(10)
#Image in template, categorypage, remove
elif ns==10 or ns==14:
text = re.sub('\[\['+imagetitle+'(.*?)(|)\]\]', '<!--'+lcontent+imagetext+'\n-->',text, re.I)
- wikipedia.output(c+u'Remove!!!\nSleep 10 s......')
+ pywikibot.output(c+u'Remove!!!\nSleep 10 s......')
pimage.put(text, putmsg % imagetitle)
time.sleep(10)
# elif '[[:'+imagetitle in text:
-# wikipedia.output(c+u'EDP is OK!')
+# pywikibot.output(c+u'EDP is OK!')
#Image in <gallery></gallery>
else:
@@ -115,7 +115,7 @@
# imagetext=re.search(imagetitle+'(.*?)\n',text,re.I).group(0)
text = re.sub(imagetitle+'(.*?)', '',text, re.I)
text=re.sub('</gallery>\n', '</gallery>\n'+'<!--'+lcontent+imagetext+'\n-->\n'+'[[:'+imagetitle+']]\n',text, re.I)
- wikipedia.output(c+u'FIX <gallery>!\nSleep 10 s......')
+ pywikibot.output(c+u'FIX <gallery>!\nSleep 10 s......')
pimage.put(text, putmsg % imagetitle)
time.sleep(10)
except:
Modified: trunk/pywikipedia/delete.py
===================================================================
--- trunk/pywikipedia/delete.py 2010-09-11 08:32:54 UTC (rev 8517)
+++ trunk/pywikipedia/delete.py 2010-09-11 09:20:01 UTC (rev 8518)
@@ -29,7 +29,8 @@
#
# Distributed under the terms of the MIT license.
#
-import wikipedia, config, catlib
+import wikipedia as pywikibot
+import config, catlib
import pagegenerators
# Summary messages for deleting from a category.
@@ -100,29 +101,26 @@
'sv': u'Bot: Tar bort alla bilder på sida %s',
}
+
class DeletionRobot:
- """
- This robot allows deletion of pages en masse.
- """
+ """ This robot allows deletion of pages en masse. """
def __init__(self, generator, summary, always = False, undelete=True):
+ """ Arguments:
+ * generator - A page generator.
+ * always - Delete without prompting?
+
"""
- Arguments:
- * generator - A page generator.
- * always - Delete without prompting?
- """
self.generator = generator
self.summary = summary
self.always = always
self.undelete = undelete
def run(self):
- """
- Starts the robot's action.
- """
+ """ Starts the robot's action. """
#Loop through everything in the page generator and delete it.
for page in self.generator:
- wikipedia.output(u'Processing page %s' % page.title())
+ pywikibot.output(u'Processing page %s' % page.title())
if self.undelete:
page.undelete(self.summary, throttle = True)
else:
@@ -144,23 +142,25 @@
gen = None
# read command line parameters
- for arg in wikipedia.handleArgs():
+ for arg in pywikibot.handleArgs():
if arg == '-always':
always = True
elif arg.startswith('-file'):
if len(arg) == len('-file'):
- fileName = wikipedia.input(u'Enter name of file to delete pages from:')
+ fileName = pywikibot.input(
+ u'Enter name of file to delete pages from:')
else:
fileName = arg[len('-file:'):]
elif arg.startswith('-summary'):
if len(arg) == len('-summary'):
- summary = wikipedia.input(u'Enter a reason for the deletion:')
+ summary = pywikibot.input(u'Enter a reason for the deletion:')
else:
summary = arg[len('-summary:'):]
elif arg.startswith('-cat'):
doCategory = True
if len(arg) == len('-cat'):
- pageName = wikipedia.input(u'Enter the category to delete from:')
+ pageName = pywikibot.input(
+ u'Enter the category to delete from:')
else:
pageName = arg[len('-cat:'):]
elif arg.startswith('-nosubcats'):
@@ -168,74 +168,77 @@
elif arg.startswith('-links'):
doLinks = True
if len(arg) == len('-links'):
- pageName = wikipedia.input(u'Enter the page to delete from:')
+ pageName = pywikibot.input(u'Enter the page to delete from:')
else:
pageName = arg[len('-links:'):]
elif arg.startswith('-ref'):
doRef = True
if len(arg) == len('-ref'):
- pageName = wikipedia.input(u'Enter the page to delete from:')
+ pageName = pywikibot.input(u'Enter the page to delete from:')
else:
pageName = arg[len('-ref:'):]
elif arg.startswith('-page'):
doSinglePage = True
if len(arg) == len('-page'):
- pageName = wikipedia.input(u'Enter the page to delete:')
+ pageName = pywikibot.input(u'Enter the page to delete:')
else:
pageName = arg[len('-page:'):]
elif arg.startswith('-images'):
doImages = True
if len(arg) == len('-images'):
- pageName = wikipedia.input(u'Enter the page with the images to delete:')
+ pageName = pywikibot.input(
+ u'Enter the page with the images to delete:')
else:
pageName = arg[len('-images'):]
elif arg.startswith('-undelete'):
undelete = True
- mysite = wikipedia.getSite()
-
+ mysite = pywikibot.getSite()
if doSinglePage:
if not summary:
- summary = wikipedia.input(u'Enter a reason for the deletion:')
- page = wikipedia.Page(mysite, pageName)
+ summary = pywikibot.input(u'Enter a reason for the deletion:')
+ page = pywikibot.Page(mysite, pageName)
gen = iter([page])
elif doCategory:
if not summary:
- summary = wikipedia.translate(mysite, msg_delete_category) % pageName
+ summary = pywikibot.translate(mysite, msg_delete_category) \
+ % pageName
ns = mysite.category_namespace()
categoryPage = catlib.Category(mysite, ns + ':' + pageName)
- gen = pagegenerators.CategorizedPageGenerator(categoryPage, recurse = deleteSubcategories)
+ gen = pagegenerators.CategorizedPageGenerator(
+ categoryPage, recurse=deleteSubcategories)
elif doLinks:
if not summary:
- summary = wikipedia.translate(mysite, msg_delete_links) % pageName
- wikipedia.setAction(summary)
- linksPage = wikipedia.Page(mysite, pageName)
+ summary = pywikibot.translate(mysite, msg_delete_links) % pageName
+ pywikibot.setAction(summary)
+ linksPage = pywikibot.Page(mysite, pageName)
gen = pagegenerators.LinkedPageGenerator(linksPage)
elif doRef:
if not summary:
- summary = wikipedia.translate(mysite, msg_delete_ref) % pageName
- refPage = wikipedia.Page(mysite, pageName)
+ summary = pywikibot.translate(mysite, msg_delete_ref) % pageName
+ refPage = pywikibot.Page(mysite, pageName)
gen = pagegenerators.ReferringPageGenerator(refPage)
elif fileName:
if not summary:
- summary = wikipedia.translate(mysite, msg_simple_delete)
+ summary = pywikibot.translate(mysite, msg_simple_delete)
gen = pagegenerators.TextfilePageGenerator(fileName)
elif doImages:
if not summary:
- summary = wikipedia.translate(mysite, msg_delete_images)
- gen = pagegenerators.ImagesPageGenerator(wikipedia.Page(mysite, pageName))
+ summary = pywikibot.translate(mysite, msg_delete_images)
+ gen = pagegenerators.ImagesPageGenerator(pywikibot.Page(mysite,
+ pageName))
if gen:
- wikipedia.setAction(summary)
+ pywikibot.setAction(summary)
# We are just deleting pages, so we have no need of using a preloading page generator
# to actually get the text of those pages.
bot = DeletionRobot(gen, summary, always, undelete)
bot.run()
else:
- wikipedia.showHelp(u'delete')
+ pywikibot.showHelp(u'delete')
if __name__ == "__main__":
try:
main()
finally:
- wikipedia.stopme()
+ pywikibot.stopme()
Modified: trunk/pywikipedia/disambredir.py
===================================================================
--- trunk/pywikipedia/disambredir.py 2010-09-11 08:32:54 UTC (rev 8517)
+++ trunk/pywikipedia/disambredir.py 2010-09-11 09:20:01 UTC (rev 8518)
@@ -11,7 +11,7 @@
#
__version__='$Id$'
#
-import wikipedia
+import wikipedia as pywikibot
import pagegenerators
import sys, re
import catlib
@@ -49,7 +49,7 @@
if m.group('title') == '' or mysite.isInterwikiLink(m.group('title')):
continue
else:
- actualLinkPage = wikipedia.Page(page.site(), m.group('title'))
+ actualLinkPage = pywikibot.Page(page.site(), m.group('title'))
# Check whether the link found is to page.
if actualLinkPage != linkedPage:
continue
@@ -58,9 +58,12 @@
context = 30
# at the beginning of the link, start red color.
# at the end of the link, reset the color to default
- wikipedia.output(text[max(0, m.start() - context) : m.start()] + '\03{lightred}' + text[m.start() : m.end()] + '\03{default}' + text[m.end() : m.end() + context])
+ pywikibot.output(text[max(0, m.start() - context) : m.start()] +
+ '\03{lightred}' + text[m.start() : m.end()] +
+ '\03{default}' + text[m.end() : m.end() + context])
while True:
- choice = wikipedia.input(u"Option (N=do not change, y=change link to \03{lightpurple}%s\03{default}, r=change and replace text, u=unlink)"%targetPage.title())
+ choice = pywikibot.input(
+ u"Option (N=do not change, y=change link to \03{lightpurple}%s\03{default}, r=change and replace text, u=unlink)"%targetPage.title())
try:
choice = choice[0]
except:
@@ -74,7 +77,6 @@
# [[page_title|link_text]]trailing_chars
page_title = m.group('title')
link_text = m.group('label')
-
if not link_text:
# or like this: [[page_title]]trailing_chars
link_text = page_title
@@ -95,14 +97,20 @@
if link_text[0].isupper():
new_page_title = targetPage.title()
else:
- new_page_title = targetPage.title()[0].lower() + targetPage.title()[1:]
+ new_page_title = targetPage.title()[0].lower() + \
+ targetPage.title()[1:]
if replaceit and trailing_chars:
newlink = "[[%s%s]]%s" % (new_page_title, section, trailing_chars)
elif replaceit or (new_page_title == link_text and not section):
newlink = "[[%s]]" % new_page_title
- # check if we can create a link with trailing characters instead of a pipelink
- elif len(new_page_title) <= len(link_text) and firstcap(link_text[:len(new_page_title)]) == firstcap(new_page_title) and re.sub(re.compile(linktrail), '', link_text[len(new_page_title):]) == '' and not section:
- newlink = "[[%s]]%s" % (link_text[:len(new_page_title)], link_text[len(new_page_title):])
+ # check if we can create a link with trailing characters instead of a
+ # pipelink
+ elif len(new_page_title) <= len(link_text) and \
+ firstcap(link_text[:len(new_page_title)]) == \
+ firstcap(new_page_title) and \
+ re.sub(re.compile(linktrail), '', link_text[len(new_page_title):]) == '' and not section:
+ newlink = "[[%s]]%s" % (link_text[:len(new_page_title)],
+ link_text[len(new_page_title):])
else:
newlink = "[[%s%s|%s]]" % (new_page_title, section, link_text)
text = text[:m.start()] + newlink + text[m.end():]
@@ -113,32 +121,35 @@
text = page.get()
# Show the title of the page we're working on.
# Highlight the title in purple.
- wikipedia.output(u"\n\n>>> \03{lightpurple}%s\03{default} <<<" % page.title())
+ pywikibot.output(u"\n\n>>> \03{lightpurple}%s\03{default} <<<"
+ % page.title())
for page2 in links:
try:
target = page2.getRedirectTarget()
- except (wikipedia.Error,wikipedia.SectionError):
+ except (pywikibot.Error,pywikibot.SectionError):
continue
text = treat(text, page2, target)
if text != page.get():
- comment = wikipedia.translate(mysite, msg)
+ comment = pywikibot.translate(mysite, msg)
page.put(text, comment)
def main():
global mysite, linktrail, page
start = []
- for arg in wikipedia.handleArgs():
+ for arg in pywikibot.handleArgs():
start.append(arg)
if start:
start = " ".join(start)
else:
start = "!"
- mysite = wikipedia.getSite()
+ mysite = pywikibot.getSite()
linktrail = mysite.linktrail()
try:
- generator = pagegenerators.CategorizedPageGenerator(mysite.disambcategory(), start = start)
- except wikipedia.NoPage:
- print "The bot does not know the disambiguation category for your wiki."
+ generator = pagegenerators.CategorizedPageGenerator(
+ mysite.disambcategory(), start = start)
+ except pywikibot.NoPage:
+ pywikibot.output(
+ "The bot does not know the disambiguation category for your wiki.")
raise
# only work on articles
generator = pagegenerators.NamespaceFilterPageGenerator(generator, [0])
@@ -152,7 +163,7 @@
pagestodo.append((page,linked))
pagestoload += linked
if len(pagestoload) > 49:
- wikipedia.getall(mysite,pagestoload)
+ pywikibot.getall(mysite,pagestoload)
for page, links in pagestodo:
workon(page,links)
pagestoload = []
@@ -162,5 +173,5 @@
try:
main()
finally:
- wikipedia.stopme()
+ pywikibot.stopme()