New package: python-dateutil-2.2
Extensions to the standard Python datetime module. Add patch to use system zoneinfo, via Fedora.
This commit is contained in:
parent
ce1ea628c0
commit
a847ab59b0
3 changed files with 107 additions and 0 deletions
74
srcpkgs/python-dateutil/patches/use-system-zoneinfo.patch
Normal file
74
srcpkgs/python-dateutil/patches/use-system-zoneinfo.patch
Normal file
|
@ -0,0 +1,74 @@
|
|||
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"):
|
32
srcpkgs/python-dateutil/template
Normal file
32
srcpkgs/python-dateutil/template
Normal file
|
@ -0,0 +1,32 @@
|
|||
# Template file for 'python-dateutil'
|
||||
pkgname=python-dateutil
|
||||
version=2.2
|
||||
revision=1
|
||||
noarch=yes
|
||||
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"
|
||||
pycompile_module="dateutil"
|
||||
short_desc="Extensions to the standard Python2 datetime module"
|
||||
maintainer="Alessio Sergi <al3hex@gmail.com>"
|
||||
homepage="http://labix.org/python-dateutil/"
|
||||
license="BSD"
|
||||
distfiles="https://pypi.python.org/packages/source/p/${pkgname}/${pkgname}-${version}.tar.gz"
|
||||
checksum=eec865307ebe7f329a6a9945c15453265a449cdaaf3710340828a1934d53e468
|
||||
|
||||
pre_build() {
|
||||
sed -i -e '/package_data/d;/include_package_data/d' setup.py
|
||||
}
|
||||
|
||||
python3.4-dateutil_package() {
|
||||
noarch=yes
|
||||
depends="python3.4 python3.4-six tzdata"
|
||||
pycompile_version="3.4"
|
||||
pycompile_module="dateutil"
|
||||
short_desc="${short_desc/Python2/Python3.4}"
|
||||
pkg_install() {
|
||||
vmove usr/lib/python3.4
|
||||
}
|
||||
}
|
1
srcpkgs/python3.4-dateutil
Symbolic link
1
srcpkgs/python3.4-dateutil
Symbolic link
|
@ -0,0 +1 @@
|
|||
python-dateutil
|
Loading…
Reference in a new issue