From: <md...@us...> - 2008-10-02 13:57:03
|
Revision: 6142 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6142&view=rev Author: mdboom Date: 2008-10-02 13:38:50 +0000 (Thu, 02 Oct 2008) Log Message: ----------- Fix all Python 2.6 deprecation warnings. Modified Paths: -------------- trunk/matplotlib/lib/matplotlib/__init__.py trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py trunk/matplotlib/lib/matplotlib/backends/backend_gtk.py trunk/matplotlib/lib/matplotlib/backends/backend_pdf.py trunk/matplotlib/lib/matplotlib/backends/backend_ps.py trunk/matplotlib/lib/matplotlib/backends/backend_qt.py trunk/matplotlib/lib/matplotlib/backends/backend_qt4.py trunk/matplotlib/lib/matplotlib/backends/backend_wx.py trunk/matplotlib/lib/matplotlib/delaunay/triangulate.py trunk/matplotlib/lib/matplotlib/font_manager.py trunk/matplotlib/lib/matplotlib/mathtext.py trunk/matplotlib/lib/matplotlib/mlab.py trunk/matplotlib/lib/matplotlib/transforms.py trunk/matplotlib/lib/pytz/tzinfo.py trunk/matplotlib/setupext.py Modified: trunk/matplotlib/lib/matplotlib/__init__.py =================================================================== --- trunk/matplotlib/lib/matplotlib/__init__.py 2008-10-01 14:20:28 UTC (rev 6141) +++ trunk/matplotlib/lib/matplotlib/__init__.py 2008-10-02 13:38:50 UTC (rev 6142) @@ -93,7 +93,7 @@ __revision__ = '$Revision$' __date__ = '$Date$' -import md5, os, re, shutil, sys, warnings +import os, re, shutil, sys, warnings import distutils.sysconfig @@ -234,7 +234,7 @@ if always is True, the report will occur on every function call; otherwise only on the first time the function is called """ - assert(callable, func) + assert callable(func) def wrapper(*args, **kwargs): ret = func(*args, **kwargs) Modified: trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py =================================================================== --- trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py 2008-10-01 14:20:28 UTC (rev 6141) +++ trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py 2008-10-02 13:38:50 UTC (rev 6142) @@ -25,7 +25,11 @@ def _fn_name(): return sys._getframe(1).f_code.co_name -import cairo +try: + import cairo +except ImportError: + raise ImportError("Cairo backend requires that pycairo is installed.") + _version_required = (1,2,0) if cairo.version_info < _version_required: raise ImportError ("Pycairo %d.%d.%d is installed\n" Modified: trunk/matplotlib/lib/matplotlib/backends/backend_gtk.py =================================================================== --- trunk/matplotlib/lib/matplotlib/backends/backend_gtk.py 2008-10-01 14:20:28 UTC (rev 6141) +++ trunk/matplotlib/lib/matplotlib/backends/backend_gtk.py 2008-10-02 13:38:50 UTC (rev 6142) @@ -3,9 +3,13 @@ import os, sys def fn_name(): return sys._getframe(1).f_code.co_name -import gobject -import gtk; gdk = gtk.gdk -import pango +try: + import gobject + import gtk; gdk = gtk.gdk + import pango +except ImportError: + raise ImportError("Gtk* backend requires pygtk to be installed.") + pygtk_version_required = (2,2,0) if gtk.pygtk_version < pygtk_version_required: raise ImportError ("PyGTK %d.%d.%d is installed\n" Modified: trunk/matplotlib/lib/matplotlib/backends/backend_pdf.py =================================================================== --- trunk/matplotlib/lib/matplotlib/backends/backend_pdf.py 2008-10-01 14:20:28 UTC (rev 6141) +++ trunk/matplotlib/lib/matplotlib/backends/backend_pdf.py 2008-10-02 13:38:50 UTC (rev 6142) @@ -17,7 +17,10 @@ from cStringIO import StringIO from datetime import datetime from math import ceil, cos, floor, pi, sin -from sets import Set +try: + set +except NameError: + from sets import Set as set import matplotlib from matplotlib import __version__, rcParams, get_data_path @@ -692,7 +695,7 @@ cmap = font.get_charmap() glyph_ids = [] differences = [] - multi_byte_chars = Set() + multi_byte_chars = set() for c in characters: ccode = c gind = cmap.get(ccode) or 0 @@ -1215,14 +1218,14 @@ fname = font.fname realpath, stat_key = get_realpath_and_stat(fname) used_characters = self.used_characters.setdefault( - stat_key, (realpath, Set())) + stat_key, (realpath, set())) used_characters[1].update([ord(x) for x in s]) def merge_used_characters(self, other): - for stat_key, (realpath, set) in other.items(): + for stat_key, (realpath, charset) in other.items(): used_characters = self.used_characters.setdefault( - stat_key, (realpath, Set())) - used_characters[1].update(set) + stat_key, (realpath, set())) + used_characters[1].update(charset) def draw_image(self, x, y, im, bbox, clippath=None, clippath_trans=None): #print >>sys.stderr, "draw_image called" Modified: trunk/matplotlib/lib/matplotlib/backends/backend_ps.py =================================================================== --- trunk/matplotlib/lib/matplotlib/backends/backend_ps.py 2008-10-01 14:20:28 UTC (rev 6141) +++ trunk/matplotlib/lib/matplotlib/backends/backend_ps.py 2008-10-02 13:38:50 UTC (rev 6142) @@ -36,7 +36,10 @@ import numpy as npy import binascii import re -from sets import Set +try: + set +except NameError: + from sets import Set as set if sys.platform.startswith('win'): cmd_split = '&' else: cmd_split = ';' @@ -173,14 +176,14 @@ each font.""" realpath, stat_key = get_realpath_and_stat(font.fname) used_characters = self.used_characters.setdefault( - stat_key, (realpath, Set())) + stat_key, (realpath, set())) used_characters[1].update([ord(x) for x in s]) def merge_used_characters(self, other): - for stat_key, (realpath, set) in other.items(): + for stat_key, (realpath, charset) in other.items(): used_characters = self.used_characters.setdefault( - stat_key, (realpath, Set())) - used_characters[1].update(set) + stat_key, (realpath, set())) + used_characters[1].update(charset) def set_color(self, r, g, b, store=1): if (r,g,b) != self.color: Modified: trunk/matplotlib/lib/matplotlib/backends/backend_qt.py =================================================================== --- trunk/matplotlib/lib/matplotlib/backends/backend_qt.py 2008-10-01 14:20:28 UTC (rev 6141) +++ trunk/matplotlib/lib/matplotlib/backends/backend_qt.py 2008-10-02 13:38:50 UTC (rev 6142) @@ -13,7 +13,10 @@ from matplotlib.mathtext import MathTextParser from matplotlib.widgets import SubplotTool -import qt +try: + import qt +except ImportError: + raise ImportError("Qt backend requires pyqt to be installed.") backend_version = "0.9.1" def fn_name(): return sys._getframe(1).f_code.co_name Modified: trunk/matplotlib/lib/matplotlib/backends/backend_qt4.py =================================================================== --- trunk/matplotlib/lib/matplotlib/backends/backend_qt4.py 2008-10-01 14:20:28 UTC (rev 6141) +++ trunk/matplotlib/lib/matplotlib/backends/backend_qt4.py 2008-10-02 13:38:50 UTC (rev 6142) @@ -13,7 +13,10 @@ from matplotlib.mathtext import MathTextParser from matplotlib.widgets import SubplotTool -from PyQt4 import QtCore, QtGui, Qt +try: + from PyQt4 import QtCore, QtGui, Qt +except ImportError: + raise ImportError("Qt4 backend requires that PyQt4 is installed.") backend_version = "0.9.1" def fn_name(): return sys._getframe(1).f_code.co_name Modified: trunk/matplotlib/lib/matplotlib/backends/backend_wx.py =================================================================== --- trunk/matplotlib/lib/matplotlib/backends/backend_wx.py 2008-10-01 14:20:28 UTC (rev 6141) +++ trunk/matplotlib/lib/matplotlib/backends/backend_wx.py 2008-10-02 13:38:50 UTC (rev 6142) @@ -112,8 +112,7 @@ import wx backend_version = wx.VERSION_STRING except: - print >>sys.stderr, "Matplotlib backend_wx requires wxPython be installed" - sys.exit() + raise ImportError("Matplotlib backend_wx requires wxPython be installed") #!!! this is the call that is causing the exception swallowing !!! #wx.InitAllImageHandlers() Modified: trunk/matplotlib/lib/matplotlib/delaunay/triangulate.py =================================================================== --- trunk/matplotlib/lib/matplotlib/delaunay/triangulate.py 2008-10-01 14:20:28 UTC (rev 6141) +++ trunk/matplotlib/lib/matplotlib/delaunay/triangulate.py 2008-10-02 13:38:50 UTC (rev 6142) @@ -1,10 +1,8 @@ import warnings -# 2.3 compatibility try: set except NameError: - import sets - set = sets.Set + from sets import Set as set import numpy as np @@ -98,7 +96,7 @@ # Find the indices of the unique entries j_sorted = np.lexsort(keys=(self.x, self.y)) mask_unique = np.hstack([ - True, + True, (np.diff(self.x[j_sorted]) != 0) | (np.diff(self.y[j_sorted]) != 0), ]) return j_sorted[mask_unique] Modified: trunk/matplotlib/lib/matplotlib/font_manager.py =================================================================== --- trunk/matplotlib/lib/matplotlib/font_manager.py 2008-10-01 14:20:28 UTC (rev 6141) +++ trunk/matplotlib/lib/matplotlib/font_manager.py 2008-10-02 13:38:50 UTC (rev 6142) @@ -34,7 +34,10 @@ """ import os, sys, glob -from sets import Set +try: + set +except NameError: + from sets import Set as set import matplotlib from matplotlib import afm from matplotlib import ft2font @@ -1036,7 +1039,7 @@ verbose.report('findfont returning %s'%fname, 'debug') return fname - font_family_aliases = Set(['serif', 'sans-serif', 'cursive', + font_family_aliases = set(['serif', 'sans-serif', 'cursive', 'fantasy', 'monospace', 'sans']) for name in prop.get_family(): Modified: trunk/matplotlib/lib/matplotlib/mathtext.py =================================================================== --- trunk/matplotlib/lib/matplotlib/mathtext.py 2008-10-01 14:20:28 UTC (rev 6141) +++ trunk/matplotlib/lib/matplotlib/mathtext.py 2008-10-02 13:38:50 UTC (rev 6142) @@ -175,7 +175,10 @@ import os from cStringIO import StringIO from math import ceil -from sets import Set +try: + set +except NameError: + from sets import Set as set import unicodedata from warnings import warn @@ -531,7 +534,7 @@ info = self._get_info(facename, font_class, sym, fontsize, dpi) realpath, stat_key = get_realpath_and_stat(info.font.fname) used_characters = self.used_characters.setdefault( - stat_key, (realpath, Set())) + stat_key, (realpath, set())) used_characters[1].add(info.num) self.mathtext_backend.render_glyph(ox, oy, info) @@ -704,7 +707,7 @@ self.fontmap[val] = fullpath - _slanted_symbols = Set(r"\int \oint".split()) + _slanted_symbols = set(r"\int \oint".split()) def _get_glyph(self, fontname, font_class, sym, fontsize): symbol_name = None @@ -816,7 +819,7 @@ font = findfont(prop) self.fontmap['ex'] = font - _slanted_symbols = Set(r"\int \oint".split()) + _slanted_symbols = set(r"\int \oint".split()) def _map_virtual_font(self, fontname, font_class, uniindex): return fontname, uniindex @@ -1967,7 +1970,7 @@ return empty class Parser(object): - _binary_operators = Set(r''' + _binary_operators = set(r''' + * \pm \sqcap \rhd \mp \sqcup \unlhd @@ -1982,7 +1985,7 @@ \cup \triangleright \ddagger \uplus \lhd \amalg'''.split()) - _relation_symbols = Set(r''' + _relation_symbols = set(r''' = < > : \leq \geq \equiv \models \prec \succ \sim \perp @@ -1995,7 +1998,7 @@ \in \ni \propto \vdash \dashv'''.split()) - _arrow_symbols = Set(r''' + _arrow_symbols = set(r''' \leftarrow \longleftarrow \uparrow \Leftarrow \Longleftarrow \Uparrow \rightarrow \longrightarrow \downarrow @@ -2010,32 +2013,32 @@ _spaced_symbols = _binary_operators | _relation_symbols | _arrow_symbols - _punctuation_symbols = Set(r', ; . ! \ldotp \cdotp'.split()) + _punctuation_symbols = set(r', ; . ! \ldotp \cdotp'.split()) - _overunder_symbols = Set(r''' + _overunder_symbols = set(r''' \sum \prod \coprod \bigcap \bigcup \bigsqcup \bigvee \bigwedge \bigodot \bigotimes \bigoplus \biguplus '''.split()) - _overunder_functions = Set( + _overunder_functions = set( r"lim liminf limsup sup max min".split()) - _dropsub_symbols = Set(r'''\int \oint'''.split()) + _dropsub_symbols = set(r'''\int \oint'''.split()) - _fontnames = Set("rm cal it tt sf bf default bb frak circled scr".split()) + _fontnames = set("rm cal it tt sf bf default bb frak circled scr".split()) - _function_names = Set(""" + _function_names = set(""" arccos csc ker min arcsin deg lg Pr arctan det lim sec arg dim liminf sin cos exp limsup sinh cosh gcd ln sup cot hom log tan coth inf max tanh""".split()) - _ambiDelim = Set(r""" + _ambiDelim = set(r""" | \| / \backslash \uparrow \downarrow \updownarrow \Uparrow \Downarrow \Updownarrow .""".split()) - _leftDelim = Set(r"( [ { \lfloor \langle \lceil".split()) + _leftDelim = set(r"( [ { \lfloor \langle \lceil".split()) - _rightDelim = Set(r") ] } \rfloor \rangle \rceil".split()) + _rightDelim = set(r") ] } \rfloor \rangle \rceil".split()) def __init__(self): # All forward declarations are here @@ -2381,7 +2384,7 @@ r'^' : r'\circumflexaccent' } - _wide_accents = Set(r"widehat widetilde".split()) + _wide_accents = set(r"widehat widetilde".split()) def accent(self, s, loc, toks): assert(len(toks)==1) Modified: trunk/matplotlib/lib/matplotlib/mlab.py =================================================================== --- trunk/matplotlib/lib/matplotlib/mlab.py 2008-10-01 14:20:28 UTC (rev 6141) +++ trunk/matplotlib/lib/matplotlib/mlab.py 2008-10-02 13:38:50 UTC (rev 6142) @@ -96,7 +96,8 @@ # set is a new builtin function in 2.4; delete the following when # support for 2.3 is dropped. -try: set +try: + set except NameError: from sets import Set as set Modified: trunk/matplotlib/lib/matplotlib/transforms.py =================================================================== --- trunk/matplotlib/lib/matplotlib/transforms.py 2008-10-01 14:20:28 UTC (rev 6141) +++ trunk/matplotlib/lib/matplotlib/transforms.py 2008-10-02 13:38:50 UTC (rev 6142) @@ -36,7 +36,10 @@ from weakref import WeakKeyDictionary import warnings -import sets +try: + set +except NameError: + from sets import Set as set import cbook from path import Path @@ -161,7 +164,7 @@ fobj: A Python file-like object """ - seen = sets.Set() + seen = set() def recurse(root): if root in seen: Modified: trunk/matplotlib/lib/pytz/tzinfo.py =================================================================== --- trunk/matplotlib/lib/pytz/tzinfo.py 2008-10-01 14:20:28 UTC (rev 6141) +++ trunk/matplotlib/lib/pytz/tzinfo.py 2008-10-02 13:38:50 UTC (rev 6142) @@ -2,7 +2,10 @@ from datetime import datetime, timedelta, tzinfo from bisect import bisect_right -from sets import Set +try: + set +except NameError: + from sets import Set as set import pytz @@ -71,7 +74,7 @@ def fromutc(self, dt): '''See datetime.tzinfo.fromutc''' return (dt + self._utcoffset).replace(tzinfo=self) - + def utcoffset(self,dt): '''See datetime.tzinfo.utcoffset''' return self._utcoffset @@ -101,16 +104,16 @@ def __reduce__(self): # Special pickle to zone remains a singleton and to cope with - # database changes. + # database changes. return pytz._p, (self.zone,) class DstTzInfo(BaseTzInfo): '''A timezone that has a variable offset from UTC - + The offset might change if daylight savings time comes into effect, - or at a point in history when the region decides to change their - timezone definition. + or at a point in history when the region decides to change their + timezone definition. ''' # Overridden in subclass @@ -191,13 +194,13 @@ def localize(self, dt, is_dst=False): '''Convert naive time to local time. - + This method should be used to construct localtimes, rather than passing a tzinfo argument to a datetime constructor. is_dst is used to determine the correct timezone in the ambigous period at the end of daylight savings time. - + >>> from pytz import timezone >>> fmt = '%Y-%m-%d %H:%M:%S %Z (%z)' >>> amdam = timezone('Europe/Amsterdam') @@ -226,7 +229,7 @@ AmbiguousTimeError: 2004-10-31 02:00:00 is_dst defaults to False - + >>> amdam.localize(dt) == amdam.localize(dt, False) True @@ -238,7 +241,7 @@ # but we might end up with two if we are in the end-of-DST # transition period. Or possibly more in some particularly confused # location... - possible_loc_dt = Set() + possible_loc_dt = set() for tzinfo in self._tzinfos.values(): loc_dt = tzinfo.normalize(dt.replace(tzinfo=tzinfo)) if loc_dt.replace(tzinfo=None) == dt: @@ -281,7 +284,7 @@ ) filtered_possible_loc_dt.sort(mycmp) return filtered_possible_loc_dt[0] - + def utcoffset(self, dt): '''See datetime.tzinfo.utcoffset''' return self._utcoffset @@ -328,11 +331,11 @@ See DstTzInfo.normalize() for more info ''' - + def unpickler(zone, utcoffset=None, dstoffset=None, tzname=None): """Factory function for unpickling pytz tzinfo instances. - + This is shared for both StaticTzInfo and DstTzInfo instances, because database changes could cause a zones implementation to switch between these two base classes and we can't break pickles on a pytz version Modified: trunk/matplotlib/setupext.py =================================================================== --- trunk/matplotlib/setupext.py 2008-10-01 14:20:28 UTC (rev 6141) +++ trunk/matplotlib/setupext.py 2008-10-02 13:38:50 UTC (rev 6142) @@ -43,8 +43,8 @@ import os import re +import subprocess - basedir = { 'win32' : ['win32_static',], 'linux2' : ['/usr/local', '/usr'], @@ -64,7 +64,6 @@ import sys, os, stat if sys.platform != 'win32': import commands -from sets import Set from textwrap import fill from distutils.core import Extension import glob @@ -188,6 +187,14 @@ pass print_status = print_message = print_raw = print_line +def run_child_process(cmd): + p = subprocess.Popen(cmd, shell=True, + stdin=subprocess.PIPE, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + close_fds=True) + return p.stdin, p.stdout + class CleanUpFile: """CleanUpFile deletes the specified filename when self is destroyed.""" def __init__(self, name): @@ -499,7 +506,7 @@ def check_for_dvipng(): try: - stdin, stdout = os.popen4('dvipng -version') + stdin, stdout = run_child_process('dvipng -version') print_status("dvipng", stdout.readlines()[1].split()[-1]) return True except (IndexError, ValueError): @@ -512,7 +519,7 @@ command = 'gswin32c --version' else: command = 'gs --version' - stdin, stdout = os.popen4(command) + stdin, stdout = run_child_process(command) print_status("ghostscript", stdout.read()[:-1]) return True except (IndexError, ValueError): @@ -521,7 +528,7 @@ def check_for_latex(): try: - stdin, stdout = os.popen4('latex -version') + stdin, stdout = run_child_process('latex -version') line = stdout.readlines()[0] pattern = '3\.1\d+' match = re.search(pattern, line) @@ -533,7 +540,7 @@ def check_for_pdftops(): try: - stdin, stdout = os.popen4('pdftops -v') + stdin, stdout = run_child_process('pdftops -v') for line in stdout.readlines(): if 'version' in line: print_status("pdftops", line.split()[-1]) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |