From: <ef...@us...> - 2010-04-05 18:46:24
|
Revision: 8222 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8222&view=rev Author: efiring Date: 2010-04-05 18:46:18 +0000 (Mon, 05 Apr 2010) Log Message: ----------- Don't import pytz unless and until it is needed Modified Paths: -------------- trunk/matplotlib/CHANGELOG trunk/matplotlib/examples/pylab_examples/finance_demo.py trunk/matplotlib/lib/matplotlib/config/cutils.py trunk/matplotlib/lib/matplotlib/dates.py Modified: trunk/matplotlib/CHANGELOG =================================================================== --- trunk/matplotlib/CHANGELOG 2010-04-05 01:06:57 UTC (rev 8221) +++ trunk/matplotlib/CHANGELOG 2010-04-05 18:46:18 UTC (rev 8222) @@ -1,3 +1,6 @@ +2010-04-05 Speed up import: import pytz only if and when it is + needed. It is not needed if the rc timezone is UTC. - EF + 2010-04-03 Added color kwarg to Axes.hist(), based on work by Jeff Klukas. - EF Modified: trunk/matplotlib/examples/pylab_examples/finance_demo.py =================================================================== --- trunk/matplotlib/examples/pylab_examples/finance_demo.py 2010-04-05 01:06:57 UTC (rev 8221) +++ trunk/matplotlib/examples/pylab_examples/finance_demo.py 2010-04-05 18:46:18 UTC (rev 8222) @@ -1,7 +1,7 @@ #!/usr/bin/env python from pylab import * from matplotlib.dates import DateFormatter, WeekdayLocator, HourLocator, \ - DayLocator, MONDAY, timezone + DayLocator, MONDAY from matplotlib.finance import quotes_historical_yahoo, candlestick,\ plot_day_summary, candlestick2 Modified: trunk/matplotlib/lib/matplotlib/config/cutils.py =================================================================== --- trunk/matplotlib/lib/matplotlib/config/cutils.py 2010-04-05 01:06:57 UTC (rev 8221) +++ trunk/matplotlib/lib/matplotlib/config/cutils.py 2010-04-05 18:46:18 UTC (rev 8222) @@ -4,7 +4,6 @@ # Stdlib imports import os -import pytz import sys import tempfile import warnings Modified: trunk/matplotlib/lib/matplotlib/dates.py =================================================================== --- trunk/matplotlib/lib/matplotlib/dates.py 2010-04-05 01:06:57 UTC (rev 8221) +++ trunk/matplotlib/lib/matplotlib/dates.py 2010-04-05 18:46:18 UTC (rev 8222) @@ -92,15 +92,6 @@ """ import re, time, math, datetime -import pytz - -# compatability for 2008c and older versions -try: - import pytz.zoneinfo -except ImportError: - pytz.zoneinfo = pytz.tzinfo - pytz.zoneinfo.UTC = pytz.UTC - import matplotlib import numpy as np @@ -108,7 +99,6 @@ import matplotlib.cbook as cbook import matplotlib.ticker as ticker -from pytz import timezone from dateutil.rrule import rrule, MO, TU, WE, TH, FR, SA, SU, YEARLY, \ MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY, SECONDLY from dateutil.relativedelta import relativedelta @@ -127,11 +117,28 @@ 'seconds', 'minutes', 'hours', 'weeks') +# Make a simple UTC instance so we don't always have to import +# pytz. From the python datetime library docs: -UTC = pytz.timezone('UTC') +class _UTC(datetime.tzinfo): + """UTC""" + def utcoffset(self, dt): + return datetime.timedelta(0) + + def tzname(self, dt): + return "UTC" + + def dst(self, dt): + return datetime.timedelta(0) + +UTC = _UTC() + def _get_rc_timezone(): s = matplotlib.rcParams['timezone'] + if s == 'UTC': + return UTC + import pytz return pytz.timezone(s) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |