Hello community, here is the log from the commit of package python-pytz for openSUSE:Factory checked in at 2013-09-17 15:02:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-pytz (Old) and /work/SRC/openSUSE:Factory/.python-pytz.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pytz" Changes: -------- --- /work/SRC/openSUSE:Factory/python-pytz/python-pytz.changes 2013-05-02 11:44:37.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.python-pytz.new/python-pytz.changes 2013-09-17 15:02:51.000000000 +0200 @@ -1,0 +2,6 @@ +Tue Sep 17 08:54:44 UTC 2013 - dmuel...@suse.com + +- update to 2013d: + * sync with timezone 2013d release + +------------------------------------------------------------------- Old: ---- pytz-2013b.tar.bz2 New: ---- pytz-2013d.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-pytz.spec ++++++ --- /var/tmp/diff_new_pack.7vadOL/_old 2013-09-17 15:02:52.000000000 +0200 +++ /var/tmp/diff_new_pack.7vadOL/_new 2013-09-17 15:02:52.000000000 +0200 @@ -17,7 +17,7 @@ Name: python-pytz -Version: 2013b +Version: 2013d Release: 0 Url: http://pytz.sourceforge.net Summary: World timezone definitions, modern and historical ++++++ pytz-2013b.tar.bz2 -> pytz-2013d.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytz-2013b/PKG-INFO new/pytz-2013d/PKG-INFO --- old/pytz-2013b/PKG-INFO 2013-03-14 18:51:06.000000000 +0100 +++ new/pytz-2013d/PKG-INFO 2013-09-05 16:15:05.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: pytz -Version: 2013b +Version: 2013d Summary: World timezone definitions, modern and historical Home-page: http://pytz.sourceforge.net Author: Stuart Bishop @@ -542,7 +542,7 @@ it. pytz is a direct translation of the Olson timezone database, and changes to the timezone definitions need to be made to this source. If you find errors they should be reported to the time zone mailing - list, linked from http://www.twinsun.com/tz/tz-link.htm + list, linked from http://www.iana.org/time-zones. Further Reading diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytz-2013b/README.txt new/pytz-2013d/README.txt --- old/pytz-2013b/README.txt 2013-03-14 18:46:41.000000000 +0100 +++ new/pytz-2013d/README.txt 2013-09-05 15:42:03.000000000 +0200 @@ -533,7 +533,7 @@ it. pytz is a direct translation of the Olson timezone database, and changes to the timezone definitions need to be made to this source. If you find errors they should be reported to the time zone mailing - list, linked from http://www.twinsun.com/tz/tz-link.htm + list, linked from http://www.iana.org/time-zones. Further Reading diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytz-2013b/pytz/__init__.py new/pytz-2013d/pytz/__init__.py --- old/pytz-2013b/pytz/__init__.py 2013-03-14 18:46:41.000000000 +0100 +++ new/pytz-2013d/pytz/__init__.py 2013-09-05 15:42:03.000000000 +0200 @@ -9,7 +9,7 @@ ''' # The Olson database is updated several times a year. -OLSON_VERSION = '2013b' +OLSON_VERSION = '2013d' VERSION = OLSON_VERSION # Version format for a patch release - only one so far. #VERSION = OLSON_VERSION + '.2' @@ -26,10 +26,6 @@ ] import sys, datetime, os.path, gettext -try: - from UserDict import DictMixin -except ImportError: - from collections import Mapping as DictMixin try: from pkg_resources import resource_stream @@ -40,6 +36,7 @@ from pytz.exceptions import InvalidTimeError from pytz.exceptions import NonExistentTimeError from pytz.exceptions import UnknownTimeZoneError +from pytz.lazy import LazyDict, LazyList, LazySet from pytz.tzinfo import unpickler from pytz.tzfile import build_tzinfo, _byte_string @@ -292,36 +289,8 @@ _p.__safe_for_unpickling__ = True -class _LazyDict(DictMixin): - """Dictionary populated on first use.""" - data = None - def __getitem__(self, key): - if self.data is None: - self._fill() - return self.data[key.upper()] - - def __contains__(self, key): - if self.data is None: - self._fill() - return key in self.data - - def __iter__(self): - if self.data is None: - self._fill() - return iter(self.data) - - def __len__(self): - if self.data is None: - self._fill() - return len(self.data) - - def keys(self): - if self.data is None: - self._fill() - return self.data.keys() - -class _CountryTimezoneDict(_LazyDict): +class _CountryTimezoneDict(LazyDict): """Map ISO 3166 country code to a list of timezone names commonly used in that country. @@ -379,7 +348,7 @@ country_timezones = _CountryTimezoneDict() -class _CountryNameDict(_LazyDict): +class _CountryNameDict(LazyDict): '''Dictionary proving ISO3166 code -> English name. >>> print(country_names['au']) @@ -1099,10 +1068,10 @@ 'W-SU', 'WET', 'Zulu'] -all_timezones = [ - tz for tz in all_timezones if resource_exists(tz)] +all_timezones = LazyList( + tz for tz in all_timezones if resource_exists(tz)) -all_timezones_set = set(all_timezones) +all_timezones_set = LazySet(all_timezones) common_timezones = \ ['Africa/Abidjan', 'Africa/Accra', @@ -1537,7 +1506,7 @@ 'US/Mountain', 'US/Pacific', 'UTC'] -common_timezones = [ - tz for tz in common_timezones if tz in all_timezones] +common_timezones = LazyList( + tz for tz in common_timezones if tz in all_timezones) -common_timezones_set = set(common_timezones) +common_timezones_set = LazySet(common_timezones) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytz-2013b/pytz/lazy.py new/pytz-2013d/pytz/lazy.py --- old/pytz-2013b/pytz/lazy.py 1970-01-01 01:00:00.000000000 +0100 +++ new/pytz-2013d/pytz/lazy.py 2013-09-05 15:42:03.000000000 +0200 @@ -0,0 +1,148 @@ +from threading import RLock +try: + from UserDict import DictMixin +except ImportError: + from collections import Mapping as DictMixin + + +_fill_lock = RLock() + + +class LazyDict(DictMixin): + """Dictionary populated on first use.""" + data = None + def __getitem__(self, key): + if self.data is None: + _fill_lock.acquire() + try: + if self.data is None: + self._fill() + finally: + _fill_lock.release() + return self.data[key.upper()] + + def __contains__(self, key): + if self.data is None: + _fill_lock.acquire() + try: + if self.data is None: + self._fill() + finally: + _fill_lock_release() + return key in self.data + + def __iter__(self): + if self.data is None: + _fill_lock.acquire() + try: + if self.data is None: + self._fill() + finally: + _fill_lock.release() + return iter(self.data) + + def __len__(self): + if self.data is None: + _fill_lock.acquire() + try: + if self.data is None: + self._fill() + finally: + _fill_lock.release() + return len(self.data) + + def keys(self): + if self.data is None: + _fill_lock.acquire() + try: + if self.data is None: + self._fill() + finally: + _fill_lock.release() + return self.data.keys() + + +class LazyList(list): + """List populated on first use.""" + def __new__(cls, fill_iter): + + class LazyList(list): + _fill_iter = None + + _props = ( + '__str__', '__repr__', '__unicode__', + '__hash__', '__sizeof__', '__cmp__', '__nonzero__', + '__lt__', '__le__', '__eq__', '__ne__', '__gt__', '__ge__', + 'append', 'count', 'index', 'extend', 'insert', 'pop', 'remove', + 'reverse', 'sort', '__add__', '__radd__', '__iadd__', '__mul__', + '__rmul__', '__imul__', '__contains__', '__len__', '__nonzero__', + '__getitem__', '__setitem__', '__delitem__', '__iter__', + '__reversed__', '__getslice__', '__setslice__', '__delslice__') + + def lazy(name): + def _lazy(self, *args, **kw): + if self._fill_iter is not None: + _fill_lock.acquire() + try: + if self._fill_iter is not None: + list.extend(self, self._fill_iter) + self._fill_iter = None + finally: + _fill_lock.release() + real = getattr(list, name) + setattr(self.__class__, name, real) + return real(self, *args, **kw) + return _lazy + + for name in _props: + setattr(LazyList, name, lazy(name)) + + new_list = LazyList() + new_list._fill_iter = fill_iter + return new_list + + +class LazySet(set): + """Set populated on first use.""" + def __new__(cls, fill_iter): + + class LazySet(set): + _fill_iter = None + + _props = ( + '__str__', '__repr__', '__unicode__', + '__hash__', '__sizeof__', '__cmp__', '__nonzero__', + '__lt__', '__le__', '__eq__', '__ne__', '__gt__', '__ge__', + '__contains__', '__len__', '__nonzero__', + '__getitem__', '__setitem__', '__delitem__', '__iter__', + '__sub__', '__and__', '__xor__', '__or__', + '__rsub__', '__rand__', '__rxor__', '__ror__', + '__isub__', '__iand__', '__ixor__', '__ior__', + 'add', 'clear', 'copy', 'difference', 'difference_update', + 'discard', 'intersection', 'intersection_update', 'isdisjoint', + 'issubset', 'issuperset', 'pop', 'remove', + 'symmetric_difference', 'symmetric_difference_update', + 'union', 'update') + + def lazy(name): + def _lazy(self, *args, **kw): + if self._fill_iter is not None: + _fill_lock.acquire() + try: + if self._fill_iter is not None: + for i in self._fill_iter: + set.add(self, i) + self._fill_iter = None + finally: + _fill_lock.release() + real = getattr(set, name) + setattr(self.__class__, name, real) + return real(self, *args, **kw) + return _lazy + + for name in _props: + setattr(LazySet, name, lazy(name)) + + new_set = LazySet() + new_set._fill_iter = fill_iter + return new_set diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytz-2013b/pytz/tests/test_tzinfo.py new/pytz-2013d/pytz/tests/test_tzinfo.py --- old/pytz-2013b/pytz/tests/test_tzinfo.py 2013-03-14 18:46:41.000000000 +0100 +++ new/pytz-2013d/pytz/tests/test_tzinfo.py 2013-09-05 15:42:03.000000000 +0200 @@ -21,7 +21,7 @@ # I test for expected version to ensure the correct version of pytz is # actually being tested. -EXPECTED_VERSION='2013b' +EXPECTED_VERSION='2013d' fmt = '%Y-%m-%d %H:%M:%S %Z%z' Files old/pytz-2013b/pytz/zoneinfo/Africa/Casablanca and new/pytz-2013d/pytz/zoneinfo/Africa/Casablanca differ Files old/pytz-2013b/pytz/zoneinfo/America/Asuncion and new/pytz-2013d/pytz/zoneinfo/America/Asuncion differ Files old/pytz-2013b/pytz/zoneinfo/Antarctica/Macquarie and new/pytz-2013d/pytz/zoneinfo/Antarctica/Macquarie differ Files old/pytz-2013b/pytz/zoneinfo/Asia/Gaza and new/pytz-2013d/pytz/zoneinfo/Asia/Gaza differ Files old/pytz-2013b/pytz/zoneinfo/Asia/Hebron and new/pytz-2013d/pytz/zoneinfo/Asia/Hebron differ Files old/pytz-2013b/pytz/zoneinfo/Asia/Jerusalem and new/pytz-2013d/pytz/zoneinfo/Asia/Jerusalem differ Files old/pytz-2013b/pytz/zoneinfo/Asia/Tel_Aviv and new/pytz-2013d/pytz/zoneinfo/Asia/Tel_Aviv differ Files old/pytz-2013b/pytz/zoneinfo/Israel and new/pytz-2013d/pytz/zoneinfo/Israel differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytz-2013b/pytz/zoneinfo/iso3166.tab new/pytz-2013d/pytz/zoneinfo/iso3166.tab --- old/pytz-2013b/pytz/zoneinfo/iso3166.tab 2013-03-14 18:46:41.000000000 +0100 +++ new/pytz-2013d/pytz/zoneinfo/iso3166.tab 2013-09-05 15:42:02.000000000 +0200 @@ -1,16 +1,14 @@ -# <pre> +# ISO 3166 alpha-2 country codes +# # This file is in the public domain, so clarified as of # 2009-05-17 by Arthur David Olson. -# ISO 3166 alpha-2 country codes # -# From Paul Eggert (2006-09-27): +# From Paul Eggert (2013-05-27): # # This file contains a table with the following columns: # 1. ISO 3166-1 alpha-2 country code, current as of -# ISO 3166-1 Newsletter VI-1 (2007-09-21). See: -# <a href="http://www.iso.org/iso/en/prods-services/iso3166ma/index.html"> -# ISO 3166 Maintenance agency (ISO 3166/MA) -# </a>. +# ISO 3166-1 Newsletter VI-15 (2013-05-10). See: Updates on ISO 3166 +# http://www.iso.org/iso/home/standards/country_codes/updates_on_iso_3166.htm # 2. The usual English name for the country, # chosen so that alphabetic sorting of subsets produces helpful lists. # This is not the same as the English name in the ISO 3166 tables. @@ -20,8 +18,9 @@ # # Lines beginning with `#' are comments. # -# From Arthur David Olson (2011-08-17): -# Resynchronized today with the ISO 3166 site (adding SS for South Sudan). +# This table is intended as an aid for users, to help them select time +# zone data appropriate for their practical needs. It is not intended +# to take or endorse any position on legal or territorial claims. # #country- #code country name @@ -54,7 +53,7 @@ BM Bermuda BN Brunei BO Bolivia -BQ Bonaire Sint Eustatius & Saba +BQ Bonaire, St Eustatius & Saba BR Brazil BS Bahamas BT Bhutan @@ -235,7 +234,7 @@ SS South Sudan ST Sao Tome & Principe SV El Salvador -SX Sint Maarten +SX St Maarten (Dutch part) SY Syria SZ Swaziland TC Turks & Caicos Is diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytz-2013b/pytz/zoneinfo/zone.tab new/pytz-2013d/pytz/zoneinfo/zone.tab --- old/pytz-2013b/pytz/zoneinfo/zone.tab 2013-03-14 18:46:41.000000000 +0100 +++ new/pytz-2013d/pytz/zoneinfo/zone.tab 2013-09-05 15:42:02.000000000 +0200 @@ -1,18 +1,21 @@ -# <pre> +# TZ zone descriptions +# # This file is in the public domain, so clarified as of # 2009-05-17 by Arthur David Olson. # -# TZ zone descriptions -# -# From Paul Eggert (1996-08-05): +# From Paul Eggert (2013-05-27): # # This file contains a table with the following columns: # 1. ISO 3166 2-character country code. See the file `iso3166.tab'. +# This identifies a country that overlaps the zone. The country may +# overlap other zones and the zone may overlap other countries. # 2. Latitude and longitude of the zone's principal location # in ISO 6709 sign-degrees-minutes-seconds format, # either +-DDMM+-DDDMM or +-DDMMSS+-DDDMMSS, # first latitude (+ is north), then longitude (+ is east). +# This location need not lie within the column-1 country. # 3. Zone name used in value of TZ environment variable. +# Please see the 'Theory' file for how zone names are chosen. # 4. Comments; present if and only if the country has multiple rows. # # Columns are separated by a single tab. @@ -22,6 +25,10 @@ # # Lines beginning with `#' are comments. # +# This table is intended as an aid for users, to help them select time +# zone data appropriate for their practical needs. It is not intended +# to take or endorse any position on legal or territorial claims. +# #country- #code coordinates TZ comments AD +4230+00131 Europe/Andorra @@ -42,7 +49,6 @@ AQ -7824+10654 Antarctica/Vostok Vostok Station, Lake Vostok AQ -6640+14001 Antarctica/DumontDUrville Dumont-d'Urville Station, Terre Adelie AQ -690022+0393524 Antarctica/Syowa Syowa Station, E Ongul I -AQ -5430+15857 Antarctica/Macquarie Macquarie Island Station, Macquarie Island AR -3436-05827 America/Argentina/Buenos_Aires Buenos Aires (BA, CF) AR -3124-06411 America/Argentina/Cordoba most locations (CB, CC, CN, ER, FM, MN, SE, SF) AR -2447-06525 America/Argentina/Salta (SA, LP, NQ, RN) @@ -58,6 +64,7 @@ AS -1416-17042 Pacific/Pago_Pago AT +4813+01620 Europe/Vienna AU -3133+15905 Australia/Lord_Howe Lord Howe Island +AU -5430+15857 Antarctica/Macquarie Macquarie Island AU -4253+14719 Australia/Hobart Tasmania - most locations AU -3956+14352 Australia/Currie Tasmania - King Island AU -3749+14458 Australia/Melbourne Victoria @@ -216,7 +223,7 @@ ID -0507+11924 Asia/Makassar east & south Borneo, Sulawesi (Celebes), Bali, Nusa Tengarra, west Timor ID -0232+14042 Asia/Jayapura west New Guinea (Irian Jaya) & Malukus (Moluccas) IE +5320-00615 Europe/Dublin -IL +3146+03514 Asia/Jerusalem +IL +314650+0351326 Asia/Jerusalem IM +5409-00428 Europe/Isle_of_Man IN +2232+08822 Asia/Kolkata IO -0720+07225 Indian/Chagos diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytz-2013b/pytz.egg-info/PKG-INFO new/pytz-2013d/pytz.egg-info/PKG-INFO --- old/pytz-2013b/pytz.egg-info/PKG-INFO 2013-03-14 18:50:59.000000000 +0100 +++ new/pytz-2013d/pytz.egg-info/PKG-INFO 2013-09-05 16:14:52.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: pytz -Version: 2013b +Version: 2013d Summary: World timezone definitions, modern and historical Home-page: http://pytz.sourceforge.net Author: Stuart Bishop @@ -542,7 +542,7 @@ it. pytz is a direct translation of the Olson timezone database, and changes to the timezone definitions need to be made to this source. If you find errors they should be reported to the time zone mailing - list, linked from http://www.twinsun.com/tz/tz-link.htm + list, linked from http://www.iana.org/time-zones. Further Reading diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytz-2013b/pytz.egg-info/SOURCES.txt new/pytz-2013d/pytz.egg-info/SOURCES.txt --- old/pytz-2013b/pytz.egg-info/SOURCES.txt 2013-03-14 18:50:59.000000000 +0100 +++ new/pytz-2013d/pytz.egg-info/SOURCES.txt 2013-09-05 16:14:52.000000000 +0200 @@ -5,6 +5,7 @@ setup.py pytz/__init__.py pytz/exceptions.py +pytz/lazy.py pytz/reference.py pytz/tzfile.py pytz/tzinfo.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytz-2013b/setup.py new/pytz-2013d/setup.py --- old/pytz-2013b/setup.py 2013-03-14 18:46:41.000000000 +0100 +++ new/pytz-2013d/setup.py 2013-09-05 15:42:03.000000000 +0200 @@ -5,7 +5,6 @@ import pytz, sys, os, os.path try: - import setuptools.command from setuptools import setup except ImportError: from distutils.core import setup -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org