author | Danek Duvall <danek.duvall@oracle.com> |
Thu, 19 Mar 2015 14:41:20 -0700 | |
changeset 3998 | 5bd484384122 |
parent 1555 | 85cc81ad9166 |
permissions | -rw-r--r-- |
1555
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1 |
pytz by default ships a private copy of the Olson timezone database, for |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
2 |
operating systems that don't ship their own. Since Solaris does, we should |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
3 |
point at that copy. The extra table files are in different places between |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
4 |
the two, so we adjust those paths as well. |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
5 |
|
3998
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
1555
diff
changeset
|
6 |
--- pytz-2014.10/pytz/__init__.py.~1~ 2014-11-27 01:00:22.000000000 -0800 |
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
1555
diff
changeset
|
7 |
+++ pytz-2014.10/pytz/__init__.py 2015-02-25 11:05:04.867482331 -0800 |
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
1555
diff
changeset
|
8 |
@@ -86,8 +86,7 @@ def open_resource(name): |
1555
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
9 |
for part in name_parts: |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
10 |
if part == os.path.pardir or os.path.sep in part: |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
11 |
raise ValueError('Bad path segment: %r' % part) |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
12 |
- filename = os.path.join(os.path.dirname(__file__), |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
13 |
- 'zoneinfo', *name_parts) |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
14 |
+ filename = os.path.join('/usr/share/lib/zoneinfo', *name_parts) |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
15 |
if not os.path.exists(filename) and resource_stream is not None: |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
16 |
# http://bugs.launchpad.net/bugs/383171 - we avoid using this |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
17 |
# unless absolutely necessary to help when a broken version of |
3998
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
1555
diff
changeset
|
18 |
@@ -326,13 +325,15 @@ class _CountryTimezoneDict(LazyDict): |
1555
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
19 |
|
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
20 |
def _fill(self): |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
21 |
data = {} |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
22 |
- zone_tab = open_resource('zone.tab') |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
23 |
+ zone_tab = open_resource('tab/zone_sun.tab') |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
24 |
try: |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
25 |
for line in zone_tab: |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
26 |
line = line.decode('US-ASCII') |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
27 |
if line.startswith('#'): |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
28 |
continue |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
29 |
code, coordinates, zone = line.split(None, 4)[:3] |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
30 |
+ if not code.isupper(): |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
31 |
+ continue |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
32 |
if zone not in all_timezones_set: |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
33 |
continue |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
34 |
try: |
3998
5bd484384122
PSARC 2015/110 OpenStack service updates for Juno
Danek Duvall <danek.duvall@oracle.com>
parents:
1555
diff
changeset
|
35 |
@@ -354,13 +355,15 @@ class _CountryNameDict(LazyDict): |
1555
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
36 |
''' |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
37 |
def _fill(self): |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
38 |
data = {} |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
39 |
- zone_tab = open_resource('iso3166.tab') |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
40 |
+ zone_tab = open_resource('tab/country.tab') |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
41 |
try: |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
42 |
for line in zone_tab.readlines(): |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
43 |
line = line.decode('US-ASCII') |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
44 |
if line.startswith('#'): |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
45 |
continue |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
46 |
code, name = line.split(None, 1) |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
47 |
+ if not code.isupper(): |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
48 |
+ continue |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
49 |
data[code] = name.strip() |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
50 |
self.data = data |
85cc81ad9166
PSARC 2013/318 pytz - Python timezone database module
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
51 |
finally: |