Xqt has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/223287

Change subject: [LIB] use calendar methods
......................................................................

[LIB] use calendar methods

Change-Id: I584650a862dd6302ec7c46389fdf0cb1efc0828f
---
M pywikibot/date.py
M pywikibot/pagegenerators.py
M tests/pagegenerators_tests.py
3 files changed, 14 insertions(+), 9 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core 
refs/changes/87/223287/1

diff --git a/pywikibot/date.py b/pywikibot/date.py
index 92ef02b..92225e7 100644
--- a/pywikibot/date.py
+++ b/pywikibot/date.py
@@ -20,7 +20,7 @@
 import re
 import sys
 
-from pywikibot.tools import first_lower, first_upper
+from pywikibot.tools import first_lower, first_upper, deprecated
 
 if sys.version_info[0] > 2:
     unicode = str
@@ -29,9 +29,7 @@
 #
 # 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']
+enMonthNames = list(calendar.month_name)
 dayMnthFmts = ['Day_' + str(s) for s in enMonthNames]  # e.g. 'Day_January'
 yrMnthFmts = ['Year_' + str(s) for s in enMonthNames]  # e.g. 'Year_January'
 
@@ -2313,9 +2311,14 @@
         formatLimits[dayMnthFmts[monthId]] = _formatLimit_DayOfMonth30
 
 
-def getNumberOfDaysInMonth(month):
-    """Return the number of days in a given month, 1 being January, etc."""
-    return formatLimits[dayMnthFmts[month - 1]][2] - 1
+@deprecated("calendar.monthrange")
+def getNumberOfDaysInMonth(month, year=2000):
+    """
+    Return the number of days in a given month, 1 being January, etc.
+
+    year is defaut to 2000 because it has 29 days in february
+    """
+    return calendar.monthrange(year, month)[1]
 
 
 def getAutoFormat(lang, title, ignoreFirstLetterCase=True):
diff --git a/pywikibot/pagegenerators.py b/pywikibot/pagegenerators.py
index 0489d59..b5a9729 100644
--- a/pywikibot/pagegenerators.py
+++ b/pywikibot/pagegenerators.py
@@ -23,6 +23,7 @@
 __version__ = '$Id$'
 #
 
+import calendar
 import codecs
 import datetime
 import itertools
@@ -2318,7 +2319,7 @@
     firstPage = pywikibot.Page(site, fd(startMonth, 1))
     pywikibot.output(u"Starting with %s" % firstPage.title(asLink=True))
     for month in range(startMonth, endMonth + 1):
-        for day in range(1, date.getNumberOfDaysInMonth(month) + 1):
+        for day in range(1, calendar.monthrange(2000, month)[1] + 1):
             yield pywikibot.Page(pywikibot.Link(fd(month, day), site))
 
 
diff --git a/tests/pagegenerators_tests.py b/tests/pagegenerators_tests.py
index 5e20097..78c6132 100755
--- a/tests/pagegenerators_tests.py
+++ b/tests/pagegenerators_tests.py
@@ -9,6 +9,7 @@
 
 __version__ = '$Id$'
 
+import calendar
 import datetime
 import os
 import sys
@@ -332,7 +333,7 @@
 
         expected = []
         for month in range(startMonth, endMonth + 1):
-            for day in range(1, date.getNumberOfDaysInMonth(month) + 1):
+            for day in range(1, calendar.monthrange(2000, month)[1] + 1):
                 expected.append(fd(month, day))
 
         self.assertPageTitlesEqual(gen, expected)

-- 
To view, visit https://gerrit.wikimedia.org/r/223287
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I584650a862dd6302ec7c46389fdf0cb1efc0828f
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Xqt <i...@gno.de>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to