python-dateutil: update to 2.4.1

This commit is contained in:
Alessio Sergi 2015-03-07 17:55:55 +01:00
parent cb532796ce
commit 8bc908fb9a
2 changed files with 9 additions and 83 deletions

View File

@ -1,74 +0,0 @@
diff -up dateutil/zoneinfo/__init__.py\~ dateutil/zoneinfo/__init__.py
--- dateutil/zoneinfo/__init__.py~ 2005-12-22 19:13:50.000000000 +0100
+++ dateutil/zoneinfo/__init__.py 2011-08-17 15:24:29.019214748 +0200
@@ -15,6 +15,7 @@ __all__ = ["setcachesize", "gettz", "reb
CACHE = []
CACHESIZE = 10
+USE_SYSTEM_ZONEINFO = True # XXX configure at build time
class tzfile(tzfile):
def __reduce__(self):
@@ -29,7 +30,8 @@ def getzoneinfofile():
return os.path.join(os.path.dirname(__file__), entry)
return None
-ZONEINFOFILE = getzoneinfofile()
+ZONEINFOFILE = getzoneinfofile() if USE_SYSTEM_ZONEINFO else None
+ZONEINFODIR = (os.getenv("TZDIR") or "/usr/share/zoneinfo").rstrip(os.sep)
del getzoneinfofile
@@ -39,22 +40,37 @@ def setcachesize(size):
del CACHE[size:]
def gettz(name):
- tzinfo = None
- if ZONEINFOFILE:
- for cachedname, tzinfo in CACHE:
- if cachedname == name:
- break
+ for cachedname, tzinfo in CACHE:
+ if cachedname == name:
+ return tzinfo
+
+ name_parts = name.lstrip('/').split('/')
+ for part in name_parts:
+ if part == os.path.pardir or os.path.sep in part:
+ raise ValueError('Bad path segment: %r' % part)
+ filename = os.path.join(ZONEINFODIR, *name_parts)
+ try:
+ zonefile = open(filename, "rb")
+ except:
+ tzinfo = None
+ else:
+ tzinfo = tzfile(zonefile)
+ zonefile.close()
+
+ if tzinfo is None and ZONEINFOFILE:
+ tf = TarFile.open(ZONEINFOFILE)
+ try:
+ zonefile = tf.extractfile(name)
+ except KeyError:
+ tzinfo = None
else:
- tf = TarFile.open(ZONEINFOFILE)
- try:
- zonefile = tf.extractfile(name)
- except KeyError:
- tzinfo = None
- else:
- tzinfo = tzfile(zonefile)
- tf.close()
- CACHE.insert(0, (name, tzinfo))
- del CACHE[CACHESIZE:]
+ tzinfo = tzfile(zonefile)
+ tf.close()
+
+ if tzinfo is not None:
+ CACHE.insert(0, (name, tzinfo))
+ del CACHE[CACHESIZE:]
+
return tzinfo
def rebuild(filename, tag=None, format="gz"):

View File

@ -1,28 +1,28 @@
# Template file for 'python-dateutil'
pkgname=python-dateutil
version=2.2
version=2.4.1
revision=1
noarch=yes
build_style="python-module"
build_style=python-module
python_versions="2.7 3.4"
hostmakedepends="python-setuptools python3.4-setuptools"
makedepends="python-devel python3.4-devel python-six python3.4-six"
depends="python python-six tzdata"
depends="python-six tzdata"
pycompile_module="dateutil"
short_desc="Extensions to the standard Python2 datetime module"
maintainer="Alessio Sergi <al3hex@gmail.com>"
homepage="http://labix.org/python-dateutil/"
homepage="https://github.com/dateutil/dateutil"
license="BSD"
distfiles="https://pypi.python.org/packages/source/p/${pkgname}/${pkgname}-${version}.tar.gz"
checksum=eec865307ebe7f329a6a9945c15453265a449cdaaf3710340828a1934d53e468
distfiles="${PYPI_SITE}/p/${pkgname}/${pkgname}-${version}.tar.gz"
checksum=23fd0a7c228d9c298c562245290a3f82999586c87aae71250f95f9894cb22c7c
pre_build() {
sed -i -e '/package_data/d;/include_package_data/d' setup.py
# don't install zoneinfo tarball
sed -i '/package_data=/d' setup.py
}
python3.4-dateutil_package() {
noarch=yes
depends="python3.4 python3.4-six tzdata"
depends="python3.4-six tzdata"
pycompile_version="3.4"
pycompile_module="dateutil"
short_desc="${short_desc/Python2/Python3.4}"