Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(24)

Unified Diff: third_party/logilab/common/date.py

Issue 719313003: Revert "pylint: upgrade to 1.3.1" (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/logilab/common/daemon.py ('k') | third_party/logilab/common/dbf.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/logilab/common/date.py
diff --git a/third_party/logilab/common/date.py b/third_party/logilab/common/date.py
index 544d03ecffbcd00ba61c670b25a2711dca84c61d..b069a6fdcc24ba7a7b779e80d7ffaeb0a1e3223c 100644
--- a/third_party/logilab/common/date.py
+++ b/third_party/logilab/common/date.py
@@ -1,4 +1,4 @@
-# copyright 2003-2012 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
+# copyright 2003-2011 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
# contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
#
# This file is part of logilab-common.
@@ -22,14 +22,11 @@ __docformat__ = "restructuredtext en"
import math
import re
-import sys
-from locale import getlocale, LC_TIME
+from locale import getpreferredencoding
from datetime import date, time, datetime, timedelta
from time import strptime as time_strptime
from calendar import monthrange, timegm
-from six.moves import range
-
try:
from mx.DateTime import RelativeDateTime, Date, DateTimeType
except ImportError:
@@ -133,7 +130,7 @@ def get_national_holidays(begin, end):
end = datefactory(end.year, end.month, end.day, end)
holidays = [str2date(datestr, begin)
for datestr in FRENCH_MOBILE_HOLIDAYS.values()]
- for year in range(begin.year, end.year+1):
+ for year in xrange(begin.year, end.year+1):
for datestr in FRENCH_FIXED_HOLIDAYS.values():
date = str2date(datestr % year, begin)
if date not in holidays:
@@ -190,8 +187,8 @@ def date_range(begin, end, incday=None, incmonth=None):
end = todate(end)
if incmonth:
while begin < end:
- yield begin
begin = next_month(begin, incmonth)
+ yield begin
else:
incr = get_step(begin, incday or 1)
while begin < end:
@@ -282,34 +279,29 @@ def last_day(somedate):
def ustrftime(somedate, fmt='%Y-%m-%d'):
"""like strftime, but returns a unicode string instead of an encoded
- string which may be problematic with localized date.
+ string which' may be problematic with localized date.
+
+ encoding is guessed by locale.getpreferredencoding()
"""
- if sys.version_info >= (3, 3):
- # datetime.date.strftime() supports dates since year 1 in Python >=3.3.
- return somedate.strftime(fmt)
- else:
- try:
- if sys.version_info < (3, 0):
- encoding = getlocale(LC_TIME)[1] or 'ascii'
- return unicode(somedate.strftime(str(fmt)), encoding)
- else:
- return somedate.strftime(fmt)
- except ValueError:
- if somedate.year >= 1900:
- raise
- # datetime is not happy with dates before 1900
- # we try to work around this, assuming a simple
- # format string
- fields = {'Y': somedate.year,
- 'm': somedate.month,
- 'd': somedate.day,
- }
- if isinstance(somedate, datetime):
- fields.update({'H': somedate.hour,
- 'M': somedate.minute,
- 'S': somedate.second})
- fmt = re.sub('%([YmdHMS])', r'%(\1)02d', fmt)
- return unicode(fmt) % fields
+ encoding = getpreferredencoding(do_setlocale=False) or 'UTF-8'
+ try:
+ return unicode(somedate.strftime(str(fmt)), encoding)
+ except ValueError, exc:
+ if somedate.year >= 1900:
+ raise
+ # datetime is not happy with dates before 1900
+ # we try to work around this, assuming a simple
+ # format string
+ fields = {'Y': somedate.year,
+ 'm': somedate.month,
+ 'd': somedate.day,
+ }
+ if isinstance(somedate, datetime):
+ fields.update({'H': somedate.hour,
+ 'M': somedate.minute,
+ 'S': somedate.second})
+ fmt = re.sub('%([YmdHMS])', r'%(\1)02d', fmt)
+ return unicode(fmt) % fields
def utcdatetime(dt):
if dt.tzinfo is None:
« no previous file with comments | « third_party/logilab/common/daemon.py ('k') | third_party/logilab/common/dbf.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698