From: <ef...@us...> - 2007-07-16 00:40:44
|
Revision: 3533 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=3533&view=rev Author: efiring Date: 2007-07-15 17:40:38 -0700 (Sun, 15 Jul 2007) Log Message: ----------- Improved docstrings, mainly annotate, base pylab Modified Paths: -------------- trunk/matplotlib/lib/matplotlib/__init__.py trunk/matplotlib/lib/matplotlib/artist.py trunk/matplotlib/lib/matplotlib/axes.py trunk/matplotlib/lib/matplotlib/cbook.py trunk/matplotlib/lib/matplotlib/pylab.py trunk/matplotlib/lib/matplotlib/text.py trunk/matplotlib/lib/pylab.py Modified: trunk/matplotlib/lib/matplotlib/__init__.py =================================================================== --- trunk/matplotlib/lib/matplotlib/__init__.py 2007-07-15 15:33:02 UTC (rev 3532) +++ trunk/matplotlib/lib/matplotlib/__init__.py 2007-07-16 00:40:38 UTC (rev 3533) @@ -1,5 +1,5 @@ """ -This is a matlab(TM) style functional interface the matplotlib. +This is an object-orient plotting library. The following matlab(TM) compatible commands are provided by @@ -901,4 +901,4 @@ basemod = __import__(wholename) mod = getattr(basemod, name) setattr(self, name, mod) - + Modified: trunk/matplotlib/lib/matplotlib/artist.py =================================================================== --- trunk/matplotlib/lib/matplotlib/artist.py 2007-07-15 15:33:02 UTC (rev 3532) +++ trunk/matplotlib/lib/matplotlib/artist.py 2007-07-16 00:40:38 UTC (rev 3533) @@ -136,19 +136,19 @@ if hasattr(self,'get_children'): for a in self.get_children(): L.extend(a.hitlist(event)) return L - + def contains(self,mouseevent): - """Test whether the artist contains the mouse event. - - Returns the truth value and a dictionary of artist specific details of - selection, such as which points are contained in the pick radius. See + """Test whether the artist contains the mouse event. + + Returns the truth value and a dictionary of artist specific details of + selection, such as which points are contained in the pick radius. See individual artists for details. """ if callable(self._contains): return self._contains(self,mouseevent) #raise NotImplementedError,str(self.__class__)+" needs 'contains' method" print str(self.__class__)+" needs 'contains' method" return False,{} - + def set_contains(self,picker): """Replace the contains test used by this artist. The new picker should be a callable function which determines whether the artist is hit by the @@ -156,7 +156,7 @@ hit, props = picker(artist, mouseevent) - If the mouse event is over the artist, return hit=True and props + If the mouse event is over the artist, return hit=True and props is a dictionary of properties you want returned with the contains test. """ self._contains = picker @@ -680,7 +680,7 @@ return [x for x in flatten(ret)] def kwdoc(a): - return '\n'.join(ArtistInspector(a).pprint_setters(leadingspace=8)) + return '\n'.join(ArtistInspector(a).pprint_setters(leadingspace=4)) kwdocd = dict() kwdocd['Artist'] = kwdoc(Artist) Modified: trunk/matplotlib/lib/matplotlib/axes.py =================================================================== --- trunk/matplotlib/lib/matplotlib/axes.py 2007-07-15 15:33:02 UTC (rev 3532) +++ trunk/matplotlib/lib/matplotlib/axes.py 2007-07-16 00:40:38 UTC (rev 3533) @@ -9,8 +9,8 @@ rcParams = matplotlib.rcParams # import a bunch of matplotlib modules into a single namespace -mpl = matplotlib.Importer("""artist, agg, axis, cbook, collections, colors, - contour, dates, font_manager, image, legend, lines, mlab, cm, +mpl = matplotlib.Importer("""artist, agg, axis, cbook, collections, colors, + contour, dates, font_manager, image, legend, lines, mlab, cm, patches, quiver, table, text, ticker, transforms""") def delete_masked_points(*args): @@ -2136,10 +2136,11 @@ def annotate(self, *args, **kwargs): """ - annotate(self, s, xy, textloc, - xycoords='data', textcoords='data', - lineprops=None, - markerprops=None + annotate(s, xy, + xytext=None, + xycoords='data', + textcoords='data', + arrowprops=None, **props) %(Annotation)s @@ -4242,7 +4243,7 @@ axes.fill(xs, ys, facecolor='red', alpha=0.5) See examples/fill_between.py for more examples. - + kwargs control the Polygon properties: %(Polygon)s """ Modified: trunk/matplotlib/lib/matplotlib/cbook.py =================================================================== --- trunk/matplotlib/lib/matplotlib/cbook.py 2007-07-15 15:33:02 UTC (rev 3532) +++ trunk/matplotlib/lib/matplotlib/cbook.py 2007-07-16 00:40:38 UTC (rev 3533) @@ -546,7 +546,7 @@ """ if not s: # includes case of s is None return '' - lines = s.splitlines(True) + lines = s.splitlines(False) ii = 0 while lines[ii].strip() == '': ii += 1 @@ -555,7 +555,7 @@ for i, line in enumerate(lines): nwhite = len(line) - len(line.lstrip()) lines[i] = line[min(nshift, nwhite):] - return ''.join(lines) + return '\n'.join(lines) @@ -906,7 +906,7 @@ outstream.write(repr(step)) outstream.write(" ->\n") outstream.write("\n") - + def recurse(obj, start, all, current_path): if show_progress: outstream.write("%d\r" % len(all)) @@ -923,7 +923,7 @@ # Don't go back through the original list of objects, or # through temporary references to the object, since those # are just an artifact of the cycle detector itself. - elif referent is objects or isinstance(referent, FrameType): + elif referent is objects or isinstance(referent, FrameType): continue # We haven't seen this object before, so recurse Modified: trunk/matplotlib/lib/matplotlib/pylab.py =================================================================== --- trunk/matplotlib/lib/matplotlib/pylab.py 2007-07-15 15:33:02 UTC (rev 3532) +++ trunk/matplotlib/lib/matplotlib/pylab.py 2007-07-16 00:40:38 UTC (rev 3533) @@ -1,9 +1,9 @@ """ -This is a procedural interface to matplotlib. +This is a procedural interface to the matplotlib object-oriented +plotting library. -The following plotting commands are provided; some of these do not -exist in matlab(TM) but have proven themselves to be useful nonetheless. -The majority of them, however, have matlab analogs +The following plotting commands are provided; the majority have +Matlab(TM) analogs and similar argument. _Plotting commands acorr - plot the autocorrelation function Modified: trunk/matplotlib/lib/matplotlib/text.py =================================================================== --- trunk/matplotlib/lib/matplotlib/text.py 2007-07-15 15:33:02 UTC (rev 3532) +++ trunk/matplotlib/lib/matplotlib/text.py 2007-07-16 00:40:38 UTC (rev 3533) @@ -94,36 +94,36 @@ # class is build so we define an initial set here for the init # function and they will be overridden after object defn artist.kwdocd['Text'] = """\ - alpha: float - animated: [True | False] - backgroundcolor: any matplotlib color - bbox: rectangle prop dict plus key 'pad' which is a pad in points - clip_box: a matplotlib.transform.Bbox instance - clip_on: [True | False] - color: any matplotlib color - family: [ 'serif' | 'sans-serif' | 'cursive' | 'fantasy' | 'monospace' ] - figure: a matplotlib.figure.Figure instance - fontproperties: a matplotlib.font_manager.FontProperties instance - horizontalalignment or ha: [ 'center' | 'right' | 'left' ] - label: any string - linespacing: float - lod: [True | False] - multialignment: ['left' | 'right' | 'center' ] - name or fontname: string eg, ['Sans' | 'Courier' | 'Helvetica' ...] - position: (x,y) - rotation: [ angle in degrees 'vertical' | 'horizontal' - size or fontsize: [ size in points | relative size eg 'smaller', 'x-large' ] - style or fontstyle: [ 'normal' | 'italic' | 'oblique'] - text: string - transform: a matplotlib.transform transformation instance - variant: [ 'normal' | 'small-caps' ] - verticalalignment or va: [ 'center' | 'top' | 'bottom' ] - visible: [True | False] - weight or fontweight: [ 'normal' | 'bold' | 'heavy' | 'light' | 'ultrabold' | 'ultralight'] - x: float - y: float - zorder: any number - """ + alpha: float + animated: [True | False] + backgroundcolor: any matplotlib color + bbox: rectangle prop dict plus key 'pad' which is a pad in points + clip_box: a matplotlib.transform.Bbox instance + clip_on: [True | False] + color: any matplotlib color + family: [ 'serif' | 'sans-serif' | 'cursive' | 'fantasy' | 'monospace' ] + figure: a matplotlib.figure.Figure instance + fontproperties: a matplotlib.font_manager.FontProperties instance + horizontalalignment or ha: [ 'center' | 'right' | 'left' ] + label: any string + linespacing: float + lod: [True | False] + multialignment: ['left' | 'right' | 'center' ] + name or fontname: string eg, ['Sans' | 'Courier' | 'Helvetica' ...] + position: (x,y) + rotation: [ angle in degrees 'vertical' | 'horizontal' + size or fontsize: [ size in points | relative size eg 'smaller', 'x-large' ] + style or fontstyle: [ 'normal' | 'italic' | 'oblique'] + text: string + transform: a matplotlib.transform transformation instance + variant: [ 'normal' | 'small-caps' ] + verticalalignment or va: [ 'center' | 'top' | 'bottom' ] + visible: [True | False] + weight or fontweight: [ 'normal' | 'bold' | 'heavy' | 'light' | 'ultrabold' | 'ultralight'] + x: float + y: float + zorder: any number + """ class Text(Artist): """ @@ -149,8 +149,10 @@ **kwargs ): """ - Create a Text instance at x,y with string text. Valid kwargs are - %(Text)s + Create a Text instance at x,y with string text. + + Valid kwargs are + %(Text)s """ Artist.__init__(self) @@ -817,6 +819,7 @@ return val +artist.kwdocd['Text'] = artist.kwdoc(Text) class TextWithDash(Text): @@ -1125,6 +1128,7 @@ Text.set_figure(self, fig) self.dashline.set_figure(fig) +artist.kwdocd['TextWithDash'] = artist.kwdoc(TextWithDash) class Annotation(Text): """ @@ -1134,8 +1138,8 @@ def __str__(self): return "Annotation(%g,%g,%s)"%(self.xy[0],self.xy[1],self._text) def __init__(self, s, xy, + xytext=None, xycoords='data', - xytext=None, textcoords=None, arrowprops=None, **kwargs): @@ -1159,7 +1163,7 @@ endpoints. ie, shrink=0.05 is 5%% - any key for matplotlib.patches.polygon - xycoords and textcoords are a string that indicates the + xycoords and textcoords are strings that indicate the coordinates of xy and xytext. 'figure points' : points from the lower left corner of the figure @@ -1184,7 +1188,7 @@ Additional kwargs are Text properties: - %(Text)s + %(Text)s """ if xytext is None: @@ -1344,6 +1348,4 @@ Text.draw(self, renderer) -artist.kwdocd['Text'] = artist.kwdoc(Text) -artist.kwdocd['TextWithDash'] = artist.kwdoc(TextWithDash) -artist.kwdocd['Annotation'] = artist.kwdoc(Annotation) +artist.kwdocd['Annotation'] = Annotation.__init__.__doc__ Modified: trunk/matplotlib/lib/pylab.py =================================================================== --- trunk/matplotlib/lib/pylab.py 2007-07-15 15:33:02 UTC (rev 3532) +++ trunk/matplotlib/lib/pylab.py 2007-07-16 00:40:38 UTC (rev 3533) @@ -1 +1,3 @@ from matplotlib.pylab import * +import matplotlib.pylab +__doc__ = matplotlib.pylab.__doc__ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nn...@us...> - 2007-08-09 09:02:16
|
Revision: 3689 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=3689&view=rev Author: nnemec Date: 2007-08-09 02:02:13 -0700 (Thu, 09 Aug 2007) Log Message: ----------- updated pytz and dateutil to latest upstream versions Modified Paths: -------------- trunk/matplotlib/lib/dateutil/__init__.py trunk/matplotlib/lib/dateutil/easter.py trunk/matplotlib/lib/dateutil/parser.py trunk/matplotlib/lib/dateutil/relativedelta.py trunk/matplotlib/lib/dateutil/rrule.py trunk/matplotlib/lib/dateutil/tz.py trunk/matplotlib/lib/pytz/__init__.py trunk/matplotlib/lib/pytz/reference.py trunk/matplotlib/lib/pytz/tzinfo.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Abidjan.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Accra.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Addis_Ababa.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Algiers.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Asmera.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Bamako.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Bangui.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Banjul.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Bissau.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Blantyre.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Brazzaville.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Bujumbura.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Cairo.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Casablanca.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Ceuta.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Conakry.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Dakar.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Dar_es_Salaam.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Djibouti.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Douala.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/El_Aaiun.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Freetown.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Gaborone.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Harare.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Johannesburg.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Kampala.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Khartoum.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Kigali.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Kinshasa.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Lagos.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Libreville.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Lome.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Luanda.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Lubumbashi.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Lusaka.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Malabo.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Maputo.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Maseru.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Mbabane.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Mogadishu.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Monrovia.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Nairobi.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Ndjamena.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Niamey.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Nouakchott.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Ouagadougou.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Porto_minus_Novo.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Sao_Tome.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Timbuktu.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Tripoli.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Tunis.py trunk/matplotlib/lib/pytz/zoneinfo/Africa/Windhoek.py trunk/matplotlib/lib/pytz/zoneinfo/America/Adak.py trunk/matplotlib/lib/pytz/zoneinfo/America/Anchorage.py trunk/matplotlib/lib/pytz/zoneinfo/America/Anguilla.py trunk/matplotlib/lib/pytz/zoneinfo/America/Antigua.py trunk/matplotlib/lib/pytz/zoneinfo/America/Araguaina.py trunk/matplotlib/lib/pytz/zoneinfo/America/Argentina/Buenos_Aires.py trunk/matplotlib/lib/pytz/zoneinfo/America/Argentina/Catamarca.py trunk/matplotlib/lib/pytz/zoneinfo/America/Argentina/ComodRivadavia.py trunk/matplotlib/lib/pytz/zoneinfo/America/Argentina/Cordoba.py trunk/matplotlib/lib/pytz/zoneinfo/America/Argentina/Jujuy.py trunk/matplotlib/lib/pytz/zoneinfo/America/Argentina/La_Rioja.py trunk/matplotlib/lib/pytz/zoneinfo/America/Argentina/Mendoza.py trunk/matplotlib/lib/pytz/zoneinfo/America/Argentina/Rio_Gallegos.py trunk/matplotlib/lib/pytz/zoneinfo/America/Argentina/San_Juan.py trunk/matplotlib/lib/pytz/zoneinfo/America/Argentina/Tucuman.py trunk/matplotlib/lib/pytz/zoneinfo/America/Argentina/Ushuaia.py trunk/matplotlib/lib/pytz/zoneinfo/America/Aruba.py trunk/matplotlib/lib/pytz/zoneinfo/America/Asuncion.py trunk/matplotlib/lib/pytz/zoneinfo/America/Atka.py trunk/matplotlib/lib/pytz/zoneinfo/America/Bahia.py trunk/matplotlib/lib/pytz/zoneinfo/America/Barbados.py trunk/matplotlib/lib/pytz/zoneinfo/America/Belem.py trunk/matplotlib/lib/pytz/zoneinfo/America/Belize.py trunk/matplotlib/lib/pytz/zoneinfo/America/Boa_Vista.py trunk/matplotlib/lib/pytz/zoneinfo/America/Bogota.py trunk/matplotlib/lib/pytz/zoneinfo/America/Boise.py trunk/matplotlib/lib/pytz/zoneinfo/America/Buenos_Aires.py trunk/matplotlib/lib/pytz/zoneinfo/America/Cambridge_Bay.py trunk/matplotlib/lib/pytz/zoneinfo/America/Campo_Grande.py trunk/matplotlib/lib/pytz/zoneinfo/America/Cancun.py trunk/matplotlib/lib/pytz/zoneinfo/America/Caracas.py trunk/matplotlib/lib/pytz/zoneinfo/America/Catamarca.py trunk/matplotlib/lib/pytz/zoneinfo/America/Cayenne.py trunk/matplotlib/lib/pytz/zoneinfo/America/Cayman.py trunk/matplotlib/lib/pytz/zoneinfo/America/Chicago.py trunk/matplotlib/lib/pytz/zoneinfo/America/Chihuahua.py trunk/matplotlib/lib/pytz/zoneinfo/America/Cordoba.py trunk/matplotlib/lib/pytz/zoneinfo/America/Costa_Rica.py trunk/matplotlib/lib/pytz/zoneinfo/America/Cuiaba.py trunk/matplotlib/lib/pytz/zoneinfo/America/Curacao.py trunk/matplotlib/lib/pytz/zoneinfo/America/Danmarkshavn.py trunk/matplotlib/lib/pytz/zoneinfo/America/Dawson.py trunk/matplotlib/lib/pytz/zoneinfo/America/Dawson_Creek.py trunk/matplotlib/lib/pytz/zoneinfo/America/Denver.py trunk/matplotlib/lib/pytz/zoneinfo/America/Detroit.py trunk/matplotlib/lib/pytz/zoneinfo/America/Dominica.py trunk/matplotlib/lib/pytz/zoneinfo/America/Edmonton.py trunk/matplotlib/lib/pytz/zoneinfo/America/Eirunepe.py trunk/matplotlib/lib/pytz/zoneinfo/America/El_Salvador.py trunk/matplotlib/lib/pytz/zoneinfo/America/Ensenada.py trunk/matplotlib/lib/pytz/zoneinfo/America/Fort_Wayne.py trunk/matplotlib/lib/pytz/zoneinfo/America/Fortaleza.py trunk/matplotlib/lib/pytz/zoneinfo/America/Glace_Bay.py trunk/matplotlib/lib/pytz/zoneinfo/America/Godthab.py trunk/matplotlib/lib/pytz/zoneinfo/America/Goose_Bay.py trunk/matplotlib/lib/pytz/zoneinfo/America/Grand_Turk.py trunk/matplotlib/lib/pytz/zoneinfo/America/Grenada.py trunk/matplotlib/lib/pytz/zoneinfo/America/Guadeloupe.py trunk/matplotlib/lib/pytz/zoneinfo/America/Guatemala.py trunk/matplotlib/lib/pytz/zoneinfo/America/Guayaquil.py trunk/matplotlib/lib/pytz/zoneinfo/America/Guyana.py trunk/matplotlib/lib/pytz/zoneinfo/America/Halifax.py trunk/matplotlib/lib/pytz/zoneinfo/America/Havana.py trunk/matplotlib/lib/pytz/zoneinfo/America/Hermosillo.py trunk/matplotlib/lib/pytz/zoneinfo/America/Indiana/Indianapolis.py trunk/matplotlib/lib/pytz/zoneinfo/America/Indiana/Knox.py trunk/matplotlib/lib/pytz/zoneinfo/America/Indiana/Marengo.py trunk/matplotlib/lib/pytz/zoneinfo/America/Indiana/Vevay.py trunk/matplotlib/lib/pytz/zoneinfo/America/Indianapolis.py trunk/matplotlib/lib/pytz/zoneinfo/America/Inuvik.py trunk/matplotlib/lib/pytz/zoneinfo/America/Iqaluit.py trunk/matplotlib/lib/pytz/zoneinfo/America/Jamaica.py trunk/matplotlib/lib/pytz/zoneinfo/America/Jujuy.py trunk/matplotlib/lib/pytz/zoneinfo/America/Juneau.py trunk/matplotlib/lib/pytz/zoneinfo/America/Kentucky/Louisville.py trunk/matplotlib/lib/pytz/zoneinfo/America/Kentucky/Monticello.py trunk/matplotlib/lib/pytz/zoneinfo/America/Knox_IN.py trunk/matplotlib/lib/pytz/zoneinfo/America/La_Paz.py trunk/matplotlib/lib/pytz/zoneinfo/America/Lima.py trunk/matplotlib/lib/pytz/zoneinfo/America/Los_Angeles.py trunk/matplotlib/lib/pytz/zoneinfo/America/Louisville.py trunk/matplotlib/lib/pytz/zoneinfo/America/Maceio.py trunk/matplotlib/lib/pytz/zoneinfo/America/Managua.py trunk/matplotlib/lib/pytz/zoneinfo/America/Manaus.py trunk/matplotlib/lib/pytz/zoneinfo/America/Martinique.py trunk/matplotlib/lib/pytz/zoneinfo/America/Mazatlan.py trunk/matplotlib/lib/pytz/zoneinfo/America/Mendoza.py trunk/matplotlib/lib/pytz/zoneinfo/America/Menominee.py trunk/matplotlib/lib/pytz/zoneinfo/America/Merida.py trunk/matplotlib/lib/pytz/zoneinfo/America/Mexico_City.py trunk/matplotlib/lib/pytz/zoneinfo/America/Miquelon.py trunk/matplotlib/lib/pytz/zoneinfo/America/Monterrey.py trunk/matplotlib/lib/pytz/zoneinfo/America/Montevideo.py trunk/matplotlib/lib/pytz/zoneinfo/America/Montreal.py trunk/matplotlib/lib/pytz/zoneinfo/America/Montserrat.py trunk/matplotlib/lib/pytz/zoneinfo/America/Nassau.py trunk/matplotlib/lib/pytz/zoneinfo/America/New_York.py trunk/matplotlib/lib/pytz/zoneinfo/America/Nipigon.py trunk/matplotlib/lib/pytz/zoneinfo/America/Nome.py trunk/matplotlib/lib/pytz/zoneinfo/America/Noronha.py trunk/matplotlib/lib/pytz/zoneinfo/America/North_Dakota/Center.py trunk/matplotlib/lib/pytz/zoneinfo/America/Panama.py trunk/matplotlib/lib/pytz/zoneinfo/America/Pangnirtung.py trunk/matplotlib/lib/pytz/zoneinfo/America/Paramaribo.py trunk/matplotlib/lib/pytz/zoneinfo/America/Phoenix.py trunk/matplotlib/lib/pytz/zoneinfo/America/Port_minus_au_minus_Prince.py trunk/matplotlib/lib/pytz/zoneinfo/America/Port_of_Spain.py trunk/matplotlib/lib/pytz/zoneinfo/America/Porto_Acre.py trunk/matplotlib/lib/pytz/zoneinfo/America/Porto_Velho.py trunk/matplotlib/lib/pytz/zoneinfo/America/Puerto_Rico.py trunk/matplotlib/lib/pytz/zoneinfo/America/Rainy_River.py trunk/matplotlib/lib/pytz/zoneinfo/America/Rankin_Inlet.py trunk/matplotlib/lib/pytz/zoneinfo/America/Recife.py trunk/matplotlib/lib/pytz/zoneinfo/America/Regina.py trunk/matplotlib/lib/pytz/zoneinfo/America/Rio_Branco.py trunk/matplotlib/lib/pytz/zoneinfo/America/Rosario.py trunk/matplotlib/lib/pytz/zoneinfo/America/Santiago.py trunk/matplotlib/lib/pytz/zoneinfo/America/Santo_Domingo.py trunk/matplotlib/lib/pytz/zoneinfo/America/Sao_Paulo.py trunk/matplotlib/lib/pytz/zoneinfo/America/Scoresbysund.py trunk/matplotlib/lib/pytz/zoneinfo/America/Shiprock.py trunk/matplotlib/lib/pytz/zoneinfo/America/St_Johns.py trunk/matplotlib/lib/pytz/zoneinfo/America/St_Kitts.py trunk/matplotlib/lib/pytz/zoneinfo/America/St_Lucia.py trunk/matplotlib/lib/pytz/zoneinfo/America/St_Thomas.py trunk/matplotlib/lib/pytz/zoneinfo/America/St_Vincent.py trunk/matplotlib/lib/pytz/zoneinfo/America/Swift_Current.py trunk/matplotlib/lib/pytz/zoneinfo/America/Tegucigalpa.py trunk/matplotlib/lib/pytz/zoneinfo/America/Thule.py trunk/matplotlib/lib/pytz/zoneinfo/America/Thunder_Bay.py trunk/matplotlib/lib/pytz/zoneinfo/America/Tijuana.py trunk/matplotlib/lib/pytz/zoneinfo/America/Toronto.py trunk/matplotlib/lib/pytz/zoneinfo/America/Tortola.py trunk/matplotlib/lib/pytz/zoneinfo/America/Vancouver.py trunk/matplotlib/lib/pytz/zoneinfo/America/Virgin.py trunk/matplotlib/lib/pytz/zoneinfo/America/Whitehorse.py trunk/matplotlib/lib/pytz/zoneinfo/America/Winnipeg.py trunk/matplotlib/lib/pytz/zoneinfo/America/Yakutat.py trunk/matplotlib/lib/pytz/zoneinfo/America/Yellowknife.py trunk/matplotlib/lib/pytz/zoneinfo/Antarctica/Casey.py trunk/matplotlib/lib/pytz/zoneinfo/Antarctica/Davis.py trunk/matplotlib/lib/pytz/zoneinfo/Antarctica/DumontDUrville.py trunk/matplotlib/lib/pytz/zoneinfo/Antarctica/Mawson.py trunk/matplotlib/lib/pytz/zoneinfo/Antarctica/McMurdo.py trunk/matplotlib/lib/pytz/zoneinfo/Antarctica/Palmer.py trunk/matplotlib/lib/pytz/zoneinfo/Antarctica/Rothera.py trunk/matplotlib/lib/pytz/zoneinfo/Antarctica/South_Pole.py trunk/matplotlib/lib/pytz/zoneinfo/Antarctica/Syowa.py trunk/matplotlib/lib/pytz/zoneinfo/Antarctica/Vostok.py trunk/matplotlib/lib/pytz/zoneinfo/Arctic/Longyearbyen.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Aden.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Almaty.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Amman.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Anadyr.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Aqtau.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Aqtobe.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Ashgabat.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Ashkhabad.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Baghdad.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Bahrain.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Baku.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Bangkok.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Beirut.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Bishkek.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Brunei.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Calcutta.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Choibalsan.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Chongqing.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Chungking.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Colombo.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Dacca.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Damascus.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Dhaka.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Dili.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Dubai.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Dushanbe.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Gaza.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Harbin.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Hong_Kong.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Hovd.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Irkutsk.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Istanbul.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Jakarta.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Jayapura.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Jerusalem.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Kabul.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Kamchatka.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Karachi.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Kashgar.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Katmandu.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Krasnoyarsk.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Kuala_Lumpur.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Kuching.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Kuwait.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Macao.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Macau.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Magadan.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Makassar.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Manila.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Muscat.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Nicosia.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Novosibirsk.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Omsk.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Oral.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Phnom_Penh.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Pontianak.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Pyongyang.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Qatar.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Qyzylorda.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Rangoon.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Riyadh.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Saigon.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Sakhalin.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Samarkand.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Seoul.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Shanghai.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Singapore.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Taipei.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Tashkent.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Tbilisi.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Tehran.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Tel_Aviv.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Thimbu.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Thimphu.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Tokyo.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Ujung_Pandang.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Ulaanbaatar.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Ulan_Bator.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Urumqi.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Vientiane.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Vladivostok.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Yakutsk.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Yekaterinburg.py trunk/matplotlib/lib/pytz/zoneinfo/Asia/Yerevan.py trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/Azores.py trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/Bermuda.py trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/Canary.py trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/Cape_Verde.py trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/Faeroe.py trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/Jan_Mayen.py trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/Madeira.py trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/Reykjavik.py trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/South_Georgia.py trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/St_Helena.py trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/Stanley.py trunk/matplotlib/lib/pytz/zoneinfo/Australia/ACT.py trunk/matplotlib/lib/pytz/zoneinfo/Australia/Adelaide.py trunk/matplotlib/lib/pytz/zoneinfo/Australia/Brisbane.py trunk/matplotlib/lib/pytz/zoneinfo/Australia/Broken_Hill.py trunk/matplotlib/lib/pytz/zoneinfo/Australia/Canberra.py trunk/matplotlib/lib/pytz/zoneinfo/Australia/Darwin.py trunk/matplotlib/lib/pytz/zoneinfo/Australia/Hobart.py trunk/matplotlib/lib/pytz/zoneinfo/Australia/LHI.py trunk/matplotlib/lib/pytz/zoneinfo/Australia/Lindeman.py trunk/matplotlib/lib/pytz/zoneinfo/Australia/Lord_Howe.py trunk/matplotlib/lib/pytz/zoneinfo/Australia/Melbourne.py trunk/matplotlib/lib/pytz/zoneinfo/Australia/NSW.py trunk/matplotlib/lib/pytz/zoneinfo/Australia/North.py trunk/matplotlib/lib/pytz/zoneinfo/Australia/Perth.py trunk/matplotlib/lib/pytz/zoneinfo/Australia/Queensland.py trunk/matplotlib/lib/pytz/zoneinfo/Australia/South.py trunk/matplotlib/lib/pytz/zoneinfo/Australia/Sydney.py trunk/matplotlib/lib/pytz/zoneinfo/Australia/Tasmania.py trunk/matplotlib/lib/pytz/zoneinfo/Australia/Victoria.py trunk/matplotlib/lib/pytz/zoneinfo/Australia/West.py trunk/matplotlib/lib/pytz/zoneinfo/Australia/Yancowinna.py trunk/matplotlib/lib/pytz/zoneinfo/Brazil/Acre.py trunk/matplotlib/lib/pytz/zoneinfo/Brazil/DeNoronha.py trunk/matplotlib/lib/pytz/zoneinfo/Brazil/East.py trunk/matplotlib/lib/pytz/zoneinfo/Brazil/West.py trunk/matplotlib/lib/pytz/zoneinfo/CET.py trunk/matplotlib/lib/pytz/zoneinfo/CST6CDT.py trunk/matplotlib/lib/pytz/zoneinfo/Canada/Atlantic.py trunk/matplotlib/lib/pytz/zoneinfo/Canada/Central.py trunk/matplotlib/lib/pytz/zoneinfo/Canada/East_minus_Saskatchewan.py trunk/matplotlib/lib/pytz/zoneinfo/Canada/Eastern.py trunk/matplotlib/lib/pytz/zoneinfo/Canada/Mountain.py trunk/matplotlib/lib/pytz/zoneinfo/Canada/Newfoundland.py trunk/matplotlib/lib/pytz/zoneinfo/Canada/Pacific.py trunk/matplotlib/lib/pytz/zoneinfo/Canada/Saskatchewan.py trunk/matplotlib/lib/pytz/zoneinfo/Canada/Yukon.py trunk/matplotlib/lib/pytz/zoneinfo/Chile/Continental.py trunk/matplotlib/lib/pytz/zoneinfo/Chile/EasterIsland.py trunk/matplotlib/lib/pytz/zoneinfo/Cuba.py trunk/matplotlib/lib/pytz/zoneinfo/EET.py trunk/matplotlib/lib/pytz/zoneinfo/EST.py trunk/matplotlib/lib/pytz/zoneinfo/EST5EDT.py trunk/matplotlib/lib/pytz/zoneinfo/Egypt.py trunk/matplotlib/lib/pytz/zoneinfo/Eire.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT0.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_minus_0.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_minus_1.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_minus_10.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_minus_11.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_minus_12.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_minus_13.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_minus_14.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_minus_2.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_minus_3.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_minus_4.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_minus_5.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_minus_6.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_minus_7.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_minus_8.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_minus_9.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_plus_0.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_plus_1.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_plus_10.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_plus_11.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_plus_12.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_plus_2.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_plus_3.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_plus_4.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_plus_5.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_plus_6.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_plus_7.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_plus_8.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT_plus_9.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/Greenwich.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/UCT.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/UTC.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/Universal.py trunk/matplotlib/lib/pytz/zoneinfo/Etc/Zulu.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Amsterdam.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Andorra.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Athens.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Belfast.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Belgrade.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Berlin.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Bratislava.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Brussels.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Bucharest.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Budapest.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Chisinau.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Copenhagen.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Dublin.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Gibraltar.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Helsinki.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Istanbul.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Kaliningrad.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Kiev.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Lisbon.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Ljubljana.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/London.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Luxembourg.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Madrid.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Malta.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Mariehamn.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Minsk.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Monaco.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Moscow.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Nicosia.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Oslo.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Paris.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Prague.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Riga.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Rome.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Samara.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/San_Marino.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Sarajevo.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Simferopol.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Skopje.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Sofia.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Stockholm.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Tallinn.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Tirane.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Tiraspol.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Uzhgorod.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Vaduz.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Vatican.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Vienna.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Vilnius.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Warsaw.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Zagreb.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Zaporozhye.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Zurich.py trunk/matplotlib/lib/pytz/zoneinfo/GB.py trunk/matplotlib/lib/pytz/zoneinfo/GB_minus_Eire.py trunk/matplotlib/lib/pytz/zoneinfo/GMT.py trunk/matplotlib/lib/pytz/zoneinfo/GMT0.py trunk/matplotlib/lib/pytz/zoneinfo/GMT_minus_0.py trunk/matplotlib/lib/pytz/zoneinfo/GMT_plus_0.py trunk/matplotlib/lib/pytz/zoneinfo/Greenwich.py trunk/matplotlib/lib/pytz/zoneinfo/HST.py trunk/matplotlib/lib/pytz/zoneinfo/Hongkong.py trunk/matplotlib/lib/pytz/zoneinfo/Iceland.py trunk/matplotlib/lib/pytz/zoneinfo/Indian/Antananarivo.py trunk/matplotlib/lib/pytz/zoneinfo/Indian/Chagos.py trunk/matplotlib/lib/pytz/zoneinfo/Indian/Christmas.py trunk/matplotlib/lib/pytz/zoneinfo/Indian/Cocos.py trunk/matplotlib/lib/pytz/zoneinfo/Indian/Comoro.py trunk/matplotlib/lib/pytz/zoneinfo/Indian/Kerguelen.py trunk/matplotlib/lib/pytz/zoneinfo/Indian/Mahe.py trunk/matplotlib/lib/pytz/zoneinfo/Indian/Maldives.py trunk/matplotlib/lib/pytz/zoneinfo/Indian/Mauritius.py trunk/matplotlib/lib/pytz/zoneinfo/Indian/Mayotte.py trunk/matplotlib/lib/pytz/zoneinfo/Indian/Reunion.py trunk/matplotlib/lib/pytz/zoneinfo/Iran.py trunk/matplotlib/lib/pytz/zoneinfo/Israel.py trunk/matplotlib/lib/pytz/zoneinfo/Jamaica.py trunk/matplotlib/lib/pytz/zoneinfo/Japan.py trunk/matplotlib/lib/pytz/zoneinfo/Kwajalein.py trunk/matplotlib/lib/pytz/zoneinfo/Libya.py trunk/matplotlib/lib/pytz/zoneinfo/MET.py trunk/matplotlib/lib/pytz/zoneinfo/MST.py trunk/matplotlib/lib/pytz/zoneinfo/MST7MDT.py trunk/matplotlib/lib/pytz/zoneinfo/Mexico/BajaNorte.py trunk/matplotlib/lib/pytz/zoneinfo/Mexico/BajaSur.py trunk/matplotlib/lib/pytz/zoneinfo/Mexico/General.py trunk/matplotlib/lib/pytz/zoneinfo/NZ.py trunk/matplotlib/lib/pytz/zoneinfo/NZ_minus_CHAT.py trunk/matplotlib/lib/pytz/zoneinfo/Navajo.py trunk/matplotlib/lib/pytz/zoneinfo/PRC.py trunk/matplotlib/lib/pytz/zoneinfo/PST8PDT.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Apia.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Auckland.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Chatham.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Easter.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Efate.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Enderbury.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Fakaofo.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Fiji.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Funafuti.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Galapagos.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Gambier.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Guadalcanal.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Guam.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Honolulu.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Johnston.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Kiritimati.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Kosrae.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Kwajalein.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Majuro.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Marquesas.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Midway.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Nauru.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Niue.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Norfolk.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Noumea.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Pago_Pago.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Palau.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Pitcairn.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Ponape.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Port_Moresby.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Rarotonga.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Saipan.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Samoa.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Tahiti.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Tarawa.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Tongatapu.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Truk.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Wake.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Wallis.py trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Yap.py trunk/matplotlib/lib/pytz/zoneinfo/Poland.py trunk/matplotlib/lib/pytz/zoneinfo/Portugal.py trunk/matplotlib/lib/pytz/zoneinfo/ROC.py trunk/matplotlib/lib/pytz/zoneinfo/ROK.py trunk/matplotlib/lib/pytz/zoneinfo/Singapore.py trunk/matplotlib/lib/pytz/zoneinfo/Turkey.py trunk/matplotlib/lib/pytz/zoneinfo/UCT.py trunk/matplotlib/lib/pytz/zoneinfo/US/Alaska.py trunk/matplotlib/lib/pytz/zoneinfo/US/Aleutian.py trunk/matplotlib/lib/pytz/zoneinfo/US/Arizona.py trunk/matplotlib/lib/pytz/zoneinfo/US/Central.py trunk/matplotlib/lib/pytz/zoneinfo/US/East_minus_Indiana.py trunk/matplotlib/lib/pytz/zoneinfo/US/Eastern.py trunk/matplotlib/lib/pytz/zoneinfo/US/Hawaii.py trunk/matplotlib/lib/pytz/zoneinfo/US/Indiana_minus_Starke.py trunk/matplotlib/lib/pytz/zoneinfo/US/Michigan.py trunk/matplotlib/lib/pytz/zoneinfo/US/Mountain.py trunk/matplotlib/lib/pytz/zoneinfo/US/Pacific.py trunk/matplotlib/lib/pytz/zoneinfo/US/Pacific_minus_New.py trunk/matplotlib/lib/pytz/zoneinfo/US/Samoa.py trunk/matplotlib/lib/pytz/zoneinfo/UTC.py trunk/matplotlib/lib/pytz/zoneinfo/Universal.py trunk/matplotlib/lib/pytz/zoneinfo/WET.py trunk/matplotlib/lib/pytz/zoneinfo/W_minus_SU.py trunk/matplotlib/lib/pytz/zoneinfo/Zulu.py trunk/matplotlib/lib/pytz/zoneinfo/posixrules.py Added Paths: ----------- trunk/matplotlib/lib/dateutil/LICENSE trunk/matplotlib/lib/dateutil/NEWS trunk/matplotlib/lib/dateutil/README trunk/matplotlib/lib/dateutil/tzwin.py trunk/matplotlib/lib/dateutil/zoneinfo/ trunk/matplotlib/lib/dateutil/zoneinfo/__init__.py trunk/matplotlib/lib/dateutil/zoneinfo/zoneinfo-2007f.tar.gz trunk/matplotlib/lib/pytz/CHANGES.txt trunk/matplotlib/lib/pytz/LICENSE.txt trunk/matplotlib/lib/pytz/README.txt trunk/matplotlib/lib/pytz/zone.tab trunk/matplotlib/lib/pytz/zoneinfo/America/Atikokan.py trunk/matplotlib/lib/pytz/zoneinfo/America/Blanc_minus_Sablon.py trunk/matplotlib/lib/pytz/zoneinfo/America/Coral_Harbour.py trunk/matplotlib/lib/pytz/zoneinfo/America/Indiana/Petersburg.py trunk/matplotlib/lib/pytz/zoneinfo/America/Indiana/Vincennes.py trunk/matplotlib/lib/pytz/zoneinfo/America/Moncton.py trunk/matplotlib/lib/pytz/zoneinfo/America/North_Dakota/New_Salem.py trunk/matplotlib/lib/pytz/zoneinfo/Australia/Currie.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Guernsey.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Isle_of_Man.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Jersey.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Podgorica.py trunk/matplotlib/lib/pytz/zoneinfo/Europe/Volgograd.py Added: trunk/matplotlib/lib/dateutil/LICENSE =================================================================== --- trunk/matplotlib/lib/dateutil/LICENSE (rev 0) +++ trunk/matplotlib/lib/dateutil/LICENSE 2007-08-09 09:02:13 UTC (rev 3689) @@ -0,0 +1,259 @@ +A. HISTORY OF THE SOFTWARE +========================== + +Python was created in the early 1990s by Guido van Rossum at Stichting +Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands +as a successor of a language called ABC. Guido remains Python's +principal author, although it includes many contributions from others. + +In 1995, Guido continued his work on Python at the Corporation for +National Research Initiatives (CNRI, see http://www.cnri.reston.va.us) +in Reston, Virginia where he released several versions of the +software. + +In May 2000, Guido and the Python core development team moved to +BeOpen.com to form the BeOpen PythonLabs team. In October of the same +year, the PythonLabs team moved to Digital Creations (now Zope +Corporation, see http://www.zope.com). In 2001, the Python Software +Foundation (PSF, see http://www.python.org/psf/) was formed, a +non-profit organization created specifically to own Python-related +Intellectual Property. Zope Corporation is a sponsoring member of +the PSF. + +All Python releases are Open Source (see http://www.opensource.org for +the Open Source Definition). Historically, most, but not all, Python +releases have also been GPL-compatible; the table below summarizes +the various releases. + + Release Derived Year Owner GPL- + from compatible? (1) + + 0.9.0 thru 1.2 1991-1995 CWI yes + 1.3 thru 1.5.2 1.2 1995-1999 CNRI yes + 1.6 1.5.2 2000 CNRI no + 2.0 1.6 2000 BeOpen.com no + 1.6.1 1.6 2001 CNRI yes (2) + 2.1 2.0+1.6.1 2001 PSF no + 2.0.1 2.0+1.6.1 2001 PSF yes + 2.1.1 2.1+2.0.1 2001 PSF yes + 2.2 2.1.1 2001 PSF yes + 2.1.2 2.1.1 2002 PSF yes + 2.1.3 2.1.2 2002 PSF yes + 2.2.1 2.2 2002 PSF yes + 2.2.2 2.2.1 2002 PSF yes + 2.2.3 2.2.2 2003 PSF yes + 2.3 2.2.2 2002-2003 PSF yes + +Footnotes: + +(1) GPL-compatible doesn't mean that we're distributing Python under + the GPL. All Python licenses, unlike the GPL, let you distribute + a modified version without making your changes open source. The + GPL-compatible licenses make it possible to combine Python with + other software that is released under the GPL; the others don't. + +(2) According to Richard Stallman, 1.6.1 is not GPL-compatible, + because its license has a choice of law clause. According to + CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1 + is "not incompatible" with the GPL. + +Thanks to the many outside volunteers who have worked under Guido's +direction to make these releases possible. + + +B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON +=============================================================== + +PSF LICENSE AGREEMENT FOR PYTHON 2.3 +------------------------------------ + +1. This LICENSE AGREEMENT is between the Python Software Foundation +("PSF"), and the Individual or Organization ("Licensee") accessing and +otherwise using Python 2.3 software in source or binary form and its +associated documentation. + +2. Subject to the terms and conditions of this License Agreement, PSF +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python 2.3 +alone or in any derivative version, provided, however, that PSF's +License Agreement and PSF's notice of copyright, i.e., "Copyright (c) +2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are +retained in Python 2.3 alone or in any derivative version prepared by +Licensee. + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python 2.3 or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python 2.3. + +4. PSF is making Python 2.3 available to Licensee on an "AS IS" +basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.3 WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.3, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. Nothing in this License Agreement shall be deemed to create any +relationship of agency, partnership, or joint venture between PSF and +Licensee. This License Agreement does not grant permission to use PSF +trademarks or trade name in a trademark sense to endorse or promote +products or services of Licensee, or any third party. + +8. By copying, installing or otherwise using Python 2.3, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + +BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0 +------------------------------------------- + +BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 + +1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an +office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the +Individual or Organization ("Licensee") accessing and otherwise using +this software in source or binary form and its associated +documentation ("the Software"). + +2. Subject to the terms and conditions of this BeOpen Python License +Agreement, BeOpen hereby grants Licensee a non-exclusive, +royalty-free, world-wide license to reproduce, analyze, test, perform +and/or display publicly, prepare derivative works, distribute, and +otherwise use the Software alone or in any derivative version, +provided, however, that the BeOpen Python License is retained in the +Software, alone or in any derivative version prepared by Licensee. + +3. BeOpen is making the Software available to Licensee on an "AS IS" +basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE +SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS +AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY +DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +5. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +6. This License Agreement shall be governed by and interpreted in all +respects by the law of the State of California, excluding conflict of +law provisions. Nothing in this License Agreement shall be deemed to +create any relationship of agency, partnership, or joint venture +between BeOpen and Licensee. This License Agreement does not grant +permission to use BeOpen trademarks or trade names in a trademark +sense to endorse or promote products or services of Licensee, or any +third party. As an exception, the "BeOpen Python" logos available at +http://www.pythonlabs.com/logos.html may be used according to the +permissions granted on that web page. + +7. By copying, installing or otherwise using the software, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + +CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1 +--------------------------------------- + +1. This LICENSE AGREEMENT is between the Corporation for National +Research Initiatives, having an office at 1895 Preston White Drive, +Reston, VA 20191 ("CNRI"), and the Individual or Organization +("Licensee") accessing and otherwise using Python 1.6.1 software in +source or binary form and its associated documentation. + +2. Subject to the terms and conditions of this License Agreement, CNRI +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python 1.6.1 +alone or in any derivative version, provided, however, that CNRI's +License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) +1995-2001 Corporation for National Research Initiatives; All Rights +Reserved" are retained in Python 1.6.1 alone or in any derivative +version prepared by Licensee. Alternately, in lieu of CNRI's License +Agreement, Licensee may substitute the following text (omitting the +quotes): "Python 1.6.1 is made available subject to the terms and +conditions in CNRI's License Agreement. This Agreement together with +Python 1.6.1 may be located on the Internet using the following +unique, persistent identifier (known as a handle): 1895.22/1013. This +Agreement may also be obtained from a proxy server on the Internet +using the following URL: http://hdl.handle.net/1895.22/1013". + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python 1.6.1 or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python 1.6.1. + +4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" +basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. This License Agreement shall be governed by the federal +intellectual property law of the United States, including without +limitation the federal copyright law, and, to the extent such +U.S. federal law does not apply, by the law of the Commonwealth of +Virginia, excluding Virginia's conflict of law provisions. +Notwithstanding the foregoing, with regard to derivative works based +on Python 1.6.1 that incorporate non-separable material that was +previously distributed under the GNU General Public License (GPL), the +law of the Commonwealth of Virginia shall govern this License +Agreement only as to issues arising under or with respect to +Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this +License Agreement shall be deemed to create any relationship of +agency, partnership, or joint venture between CNRI and Licensee. This +License Agreement does not grant permission to use CNRI trademarks or +trade name in a trademark sense to endorse or promote products or +services of Licensee, or any third party. + +8. By clicking on the "ACCEPT" button where indicated, or by copying, +installing or otherwise using Python 1.6.1, Licensee agrees to be +bound by the terms and conditions of this License Agreement. + + ACCEPT + + +CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2 +-------------------------------------------------- + +Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, +The Netherlands. All rights reserved. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Stichting Mathematisch +Centrum or CWI not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Added: trunk/matplotlib/lib/dateutil/NEWS =================================================================== --- trunk/matplotlib/lib/dateutil/NEWS (rev 0) +++ trunk/matplotlib/lib/dateutil/NEWS 2007-08-09 09:02:13 UTC (rev 3689) @@ -0,0 +1,81 @@ +Version 1.2 +----------- + +- Now tzfile will round timezones to full-minutes if necessary, + since Python's datetime doesn't support sub-minute offsets. + Thanks to Ilpo Nyyss\xF6nen for reporting the issue. + +- Removed bare string exceptions, as reported and fixed by + Wilfredo S\xE1nchez Vega. + +- Fix bug in leap count parsing (reported and fixed by Eugene Oden). + + +Version 1.1 +----------- + +- Fixed rrule byyearday handling. Abramo Bagnara pointed out that + RFC2445 allows negative numbers. + +- Fixed --prefix handling in setup.py (by Sidnei da Silva). + +- Now tz.gettz() returns a tzlocal instance when not given any + arguments and no other timezone information is found. + +- Updating timezone information to version 2005q. + + +Version 1.0 +----------- + +- Fixed parsing of XXhXXm formatted time after day/month/year + has been parsed. + +- Added patch by Jeffrey Harris optimizing rrule.__contains__. + + +Version 0.9 +----------- + +- Fixed pickling of timezone types, as reported by + Andreas K\xF6hler. + +- Implemented internal timezone information with binary + timezone files [1]. datautil.tz.gettz() function will now + try to use the system timezone files, and fallback to + the internal versions. It's also possible to ask for + the internal versions directly by using + dateutil.zoneinfo.gettz(). + +- New tzwin timezone type, allowing access to Windows + internal timezones (contributed by Jeffrey Harris). + +- Fixed parsing of unicode date strings. + +- Accept parserinfo instances as the parser constructor + parameter, besides parserinfo (sub)classes. + +- Changed weekday to spell the not-set n value as None + instead of 0. + +- Fixed other reported bugs. + +[1] http://www.twinsun.com/tz/tz-link.htm + + +Version 0.5 +----------- + +- Removed FREQ_ prefix from rrule frequency constants + WARNING: this breaks compatibility with previous versions. + +- Fixed rrule.between() for cases where "after" is achieved + before even starting, as reported by Andreas K\xF6hler. + +- Fixed two digit zero-year parsing (such as 31-Dec-00), as + reported by Jim Abramson, and included test case for this. + +- Sort exdate and rdate before iterating over them, so that + it's not necessary to sort them before adding to the rruleset, + as reported by Nicholas Piper. + Added: trunk/matplotlib/lib/dateutil/README =================================================================== --- trunk/matplotlib/lib/dateutil/README (rev 0) +++ trunk/matplotlib/lib/dateutil/README 2007-08-09 09:02:13 UTC (rev 3689) @@ -0,0 +1,1980 @@ +The dateutil module packaged with matplotlib is copied from + http://labix.org/python-dateutil + +Do not make any changes in this copy of the code. They may be +overwritten with the next update from the original source. + +Below is the original README text from the distribution. + +----------------------------------------------------------------- + +## This file is in the moin format. The latest version is found +## at https://moin.conectiva.com.br/DateUtil + +== Contents == +[[TableOfContents]] + +== Description == +The '''dateutil''' module provides powerful extensions to +the standard '''datetime''' module, available in Python 2.3+. + +== Features == + + * Computing of relative deltas (next month, next year, + next monday, last week of month, etc); + + * Computing of relative deltas between two given + date and/or datetime objects; + + * Computing of dates based on very flexible recurrence rules, + using a superset of the + [ftp://ftp.rfc-editor.org/in-notes/rfc2445.txt iCalendar] + specification. Parsing of RFC strings is supported as well. + + * Generic parsing of dates in almost any string format; + + * Timezone (tzinfo) implementations for tzfile(5) format + files (/etc/localtime, /usr/share/zoneinfo, etc), TZ + environment string (in all known formats), iCalendar + format files, given ranges (with help from relative deltas), + local machine timezone, fixed offset timezone, UTC timezone, + and Windows registry-based time zones. + + * Internal up-to-date world timezone information based on + Olson's database. + + * Computing of Easter Sunday dates for any given year, + using Western, Orthodox or Julian algorithms; + + * More than 400 test cases. + +== Quick example == +Here's a snapshot, just to give an idea about the power of the +package. For more examples, look at the documentation below. + +Suppose you want to know how much time is left, in +years/months/days/etc, before the next easter happening on a +year with a Friday 13th in August, and you want to get today's +date out of the "date" unix system command. Here is the code: +{{{ +from dateutil.relativedelta import * +from dateutil.easter import * +from dateutil.rrule import * +from dateutil.parser import * +from datetime import * +import commands +import os +now = parse(commands.getoutput("date")) +today = now.date() +year = rrule(YEARLY,bymonth=8,bymonthday=13,byweekday=FR)[0].year +rdelta = relativedelta(easter(year), today) +print "Today is:", today +print "Year with next Aug 13th on a Friday is:", year +print "How far is the Easter of that year:", rdelta +print "And the Easter of that year is:", today+rdelta +}}} + +And here's the output: +{{{ +Today is: 2003-10-11 +Year with next Aug 13th on a Friday is: 2004 +How far is the Easter of that year: relativedelta(months=+6) +And the Easter of that year is: 2004-04-11 +}}} + +{i} Being exactly 6 months ahead was '''really''' a coincidence :) + +== Download == +The following files are available. + * attachment:python-dateutil-1.0.tar.bz2 + * attachment:python-dateutil-1.0-1.noarch.rpm + +== Author == +The dateutil module was written by GustavoNiemeyer <gu...@ni...>. + +== Documentation == +The following modules are available. + +=== relativedelta === +This module offers the '''relativedelta''' type, which is based +on the specification of the excelent work done by M.-A. Lemburg in his +[http://www.egenix.com/files/python/mxDateTime.html mxDateTime] +extension. However, notice that this type '''does not''' implement the +same algorithm as his work. Do not expect it to behave like +{{{mxDateTime}}}'s counterpart. + +==== relativedelta type ==== + +There's two different ways to build a relativedelta instance. The +first one is passing it two {{{date}}}/{{{datetime}}} instances: +{{{ +relativedelta(datetime1, datetime2) +}}} + +This will build the relative difference between {{{datetime1}}} and +{{{datetime2}}}, so that the following constraint is always true: +{{{ +datetime2+relativedelta(datetime1, datetime2) == datetime1 +}}} + +Notice that instead of {{{datetime}}} instances, you may use +{{{date}}} instances, or a mix of both. + +And the other way is to use any of the following keyword arguments: + + year, month, day, hour, minute, second, microsecond:: + Absolute information. + + years, months, weeks, days, hours, minutes, seconds, microseconds:: + Relative information, may be negative. + + weekday:: + One of the weekday instances ({{{MO}}}, {{{TU}}}, etc). These + instances may receive a parameter {{{n}}}, specifying the {{{n}}}th + weekday, which could be positive or negative (like {{{MO(+2)}}} or + {{{MO(-3)}}}. Not specifying it is the same as specifying {{{+1}}}. + You can also use an integer, where {{{0=MO}}}. Notice that, + for example, if the calculated date is already Monday, using + {{{MO}}} or {{{MO(+1)}}} (which is the same thing in this context), + won't change the day. + + leapdays:: + Will add given days to the date found, but only if the computed + year is a leap year and the computed date is post 28 of february. + + yearday, nlyearday:: + Set the yearday or the non-leap year day (jump leap days). + These are converted to {{{day}}}/{{{month}}}/{{{leapdays}}} + information. + +==== Behavior of operations ==== +If you're curious about exactly how the relative delta will act +on operations, here is a description of its behavior. + + 1. Calculate the absolute year, using the {{{year}}} argument, or the + original datetime year, if the argument is not present. + 1. Add the relative {{{years}}} argument to the absolute year. + 1. Do steps 1 and 2 for {{{month}}}/{{{months}}}. + 1. Calculate the absolute day, using the {{{day}}} argument, or the + original datetime day, if the argument is not present. Then, subtract + from the day until it fits in the year and month found after their + operations. + 1. Add the relative {{{days}}} argument to the absolute day. Notice + that the {{{weeks}}} argument is multiplied by 7 and added to {{{days}}}. + 1. If {{{leapdays}}} is present, the computed year is a leap year, and + the computed month is after february, remove one day from the found date. + 1. Do steps 1 and 2 for {{{hour}}}/{{{hours}}}, {{{minute}}}/{{{minutes}}}, + {{{second}}}/{{{seconds}}}, {{{microsecond}}}/{{{microseconds}}}. + 1. If the {{{weekday}}} argument is present, calculate the {{{n}}}th + occurrence of the given weekday. + +==== Examples ==== + +Let's begin our trip. +{{{ +>>> from datetime import *; from dateutil.relativedelta import * +>>> import calendar +}}} + +Store some values. +{{{ +>>> NOW = datetime.now() +>>> TODAY = date.today() +>>> NOW +datetime.datetime(2003, 9, 17, 20, 54, 47, 282310) +>>> TODAY +datetime.date(2003, 9, 17) +}}} + +Next month. +{{{ +>>> NOW+relativedelta(months=+1) +datetime.datetime(2003, 10, 17, 20, 54, 47, 282310) +}}} + +Next month, plus one week. +{{{ +>>> NOW+relativedelta(months=+1, weeks=+1) +datetime.datetime(2003, 10, 24, 20, 54, 47, 282310) +}}} + +Next month, plus one week, at 10am. +{{{ +>>> TODAY+relativedelta(months=+1, weeks=+1, hour=10) +datetime.datetime(2003, 10, 24, 10, 0) +}}} + +Let's try the other way around. Notice that the +hour setting we get in the relativedelta is relative, +since it's a difference, and the weeks parameter +has gone. +{{{ +>>> relativedelta(datetime(2003, 10, 24, 10, 0), TODAY) +relativedelta(months=+1, days=+7, hours=+10) +}}} + +One month before one year. +{{{ +>>> NOW+relativedelta(years=+1, months=-1) +datetime.datetime(2004, 8, 17, 20, 54, 47, 282310) +}}} + +How does it handle months with different numbers of days? +Notice that adding one month will never cross the month +boundary. +{{{ +>>> date(2003,1,27)+relativedelta(months=+1) +datetime.date(2003, 2, 27) +>>> date(2003,1,31)+relativedelta(months=+1) +datetime.date(2003, 2, 28) +>>> date(2003,1,31)+relativedelta(months=+2) +datetime.date(2003, 3, 31) +}}} + +The logic for years is the same, even on leap years. +{{{ +>>> date(2000,2,28)+relativedelta(years=+1) +datetime.date(2001, 2, 28) +>>> date(2000,2,29)+relativedelta(years=+1) +datetime.date(2001, 2, 28) + +>>> date(1999,2,28)+relativedelta(years=+1) +datetime.date(2000, 2, 28) +>>> date(1999,3,1)+relativedelta(years=+1) +datetime.date(2000, 3, 1) + +>>> date(2001,2,28)+relativedelta(years=-1) +datetime.date(2000, 2, 28) +>>> date(2001,3,1)+relativedelta(years=-1) +datetime.date(2000, 3, 1) +}}} + +Next friday. +{{{ +>>> TODAY+relativedelta(weekday=FR) +datetime.date(2003, 9, 19) + +>>> TODAY+relativedelta(weekday=calendar.FRIDAY) +datetime.date(2003, 9, 19) +}}} + +Last friday in this month. +{{{ +>>> TODAY+relativedelta(day=31, weekday=FR(-1)) +datetime.date(2003, 9, 26) +}}} + +Next wednesday (it's today!). +{{{ +>>> TODAY+relativedelta(weekday=WE(+1)) +datetime.date(2003, 9, 17) +}}} + +Next wednesday, but not today. +{{{ +>>> TODAY+relativedelta(days=+1, weekday=WE(+1)) +datetime.date(2003, 9, 24) +}}} + +Following +[http://www.cl.cam.ac.uk/~mgk25/iso-time.html ISO year week number notation] +find the first day of the 15th week of 1997. +{{{ +>>> datetime(1997,1,1)+relativedelta(day=4, weekday=MO(-1), weeks=+14) +datetime.datetime(1997, 4, 7, 0, 0) +}}} + +How long ago has the millennium changed? +{{{ +>>> relativedelta(NOW, date(2001,1,1)) +relativedelta(years=+2, months=+8, days=+16, + hours=+20, minutes=+54, seconds=+47, microseconds=+282310) +}}} + +How old is John? +{{{ +>>> johnbirthday = datetime(1978, 4, 5, 12, 0) +>>> relativedelta(NOW, johnbirthday) +relativedelta(years=+25, months=+5, days=+12, + hours=+8, minutes=+54, seconds=+47, microseconds=+282310) +}}} + +It works with dates too. +{{{ +>>> relativedelta(TODAY, johnbirthday) +relativedelta(years=+25, months=+5, days=+11, hours=+12) +}}} + +Obtain today's date using the yearday: +{{{ +>>> date(2003, 1, 1)+relativedelta(yearday=260) +datetime.date(2003, 9, 17) +}}} + +We can use today's date, since yearday should be absolute +in the given year: +{{{ +>>> TODAY+relativedelta(yearday=260) +datetime.date(2003, 9, 17) +}}} + +Last year it should be in the same day: +{{{ +>>> date(2002, 1, 1)+relativedelta(yearday=260) +datetime.date(2002, 9, 17) +}}} + +But not in a leap year: +{{{ +>>> date(2000, 1, 1)+relativedelta(yearday=260) +datetime.date(2000, 9, 16) +}}} + +We can use the non-leap year day to ignore this: +{{{ +>>> date(2000, 1, 1)+relativedelta(nlyearday=260) +datetime.date(2000, 9, 17) +}}} + +=== rrule === +The rrule module offers a small, complete, and very fast, implementation +of the recurrence rules documented in the +[ftp://ftp.rfc-editor.org/in-notes/rfc2445.txt iCalendar RFC], including +support for caching of results. + +==== rrule type ==== +That's the base of the rrule operation. It accepts all the keywords +defined in the RFC as its constructor parameters (except {{{byday}}}, +which was renamed to {{{byweekday}}}) and more. The constructor +prototype is: +{{{ +rrule(freq) +}}} + +Where {{{freq}}} must be one of {{{YEARLY}}}, {{{MONTHLY}}}, +{{{WEEKLY}}}, {{{DAILY}}}, {{{HOURLY}}}, {{{MINUTELY}}}, +or {{{SECONDLY}}}. + +Additionally, it supports the following keyword arguments: + + cache:: + If given, it must be a boolean value specifying to enable + or disable caching of results. If you will use the same + {{{rrule}}} instance multiple times, enabling caching will + improve the performance considerably. + + dtstart:: + The recurrence start. Besides being the base for the + recurrence, missing parameters in the final recurrence + instances will also be extracted from this date. If not + given, {{{datetime.now()}}} will be used instead. + + interval:: + The interval between each {{{freq}}} iteration. For example, + when using {{{YEARLY}}}, an inter... [truncated message content] |
From: <jd...@us...> - 2008-04-29 21:10:45
|
Revision: 5099 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=5099&view=rev Author: jdh2358 Date: 2008-04-29 14:10:44 -0700 (Tue, 29 Apr 2008) Log Message: ----------- added support for a editable recarray widget in gtk Modified Paths: -------------- trunk/matplotlib/lib/matplotlib/mlab.py trunk/matplotlib/lib/mpl_toolkits/gtktools.py Modified: trunk/matplotlib/lib/matplotlib/mlab.py =================================================================== --- trunk/matplotlib/lib/matplotlib/mlab.py 2008-04-29 15:14:36 UTC (rev 5098) +++ trunk/matplotlib/lib/matplotlib/mlab.py 2008-04-29 21:10:44 UTC (rev 5099) @@ -2384,6 +2384,8 @@ def toval(self, x): return str(x) + def fromstr(self, s): + return s class FormatString(FormatObj): def tostr(self, x): @@ -2402,6 +2404,7 @@ if x is None: return 'None' return self.fmt%self.toval(x) + class FormatFloat(FormatFormatStr): def __init__(self, precision=4, scale=1.): FormatFormatStr.__init__(self, '%%1.%df'%precision) @@ -2413,10 +2416,17 @@ x = x * self.scale return x + def fromstr(self, s): + return float(s)/self.scale + + class FormatInt(FormatObj): def toval(self, x): return x + def fromstr(self, s): + return int(s) + class FormatPercent(FormatFloat): def __init__(self, precision=4): FormatFloat.__init__(self, precision, scale=100.) @@ -2425,6 +2435,7 @@ def __init__(self, precision=4): FormatFloat.__init__(self, precision, scale=1e-3) + class FormatMillions(FormatFloat): def __init__(self, precision=4): FormatFloat.__init__(self, precision, scale=1e-6) @@ -2438,11 +2449,21 @@ if x is None: return 'None' return x.strftime(self.fmt) + def fromstr(self, x): + import dateutil.parser + return dateutil.parser.parse(x).date() + class FormatDatetime(FormatDate): def __init__(self, fmt='%Y-%m-%d %H:%M:%S'): FormatDate.__init__(self, fmt) + def fromstr(self, x): + import dateutil.parser + return dateutil.parser.parse(x) + + + defaultformatd = { np.int16 : FormatInt(), np.int32 : FormatInt(), Modified: trunk/matplotlib/lib/mpl_toolkits/gtktools.py =================================================================== --- trunk/matplotlib/lib/mpl_toolkits/gtktools.py 2008-04-29 15:14:36 UTC (rev 5098) +++ trunk/matplotlib/lib/mpl_toolkits/gtktools.py 2008-04-29 21:10:44 UTC (rev 5099) @@ -8,7 +8,7 @@ import matplotlib.mlab as mlab import mpl_toolkits.gtktools as gtktools - + r = mlab.csv2rec('somefile.csv', checkrows=0) formatd = dict( @@ -46,7 +46,7 @@ cell = None """ - + if format is None: return None format = copy.copy(format) format.xalign = 0. format.cell = None @@ -148,6 +148,8 @@ column = gtk.TreeViewColumn(header, renderer, text=i) renderer.set_property('xalign', formatter.xalign) + renderer.set_property('editable', True) + renderer.connect("edited", self.position_edited, i) column.connect('clicked', Clicked(self, i)) column.set_property('clickable', True) @@ -164,6 +166,10 @@ self.treeview = treeview self.clear() + def position_edited(self, renderer, path, newtext, position): + #print path, position + self.model[path][position] = newtext + def clear(self): self.iterd = dict() self.iters = [] # an ordered list of iters @@ -291,9 +297,108 @@ if autowin: win = gtk.Window() win.set_default_size(800,600) + #win.set_geometry_hints(scroll) win.add(scroll) win.show_all() scroll.win = win return scroll + +class RecListStore(gtk.ListStore): + """ + A liststore as a model of an editable record array. + + attributes: + + * r - the record array with the edited values + + * callbacks - a matplotlib.cbook.CallbackRegistry. Connect to the cell_changed with + + def mycallback(liststore, rownum, colname, oldval, newval): + print 'verify: old=%s, new=%s, rec=%s'%(oldval, newval, liststore.r[rownum][colname]) + + cid = liststore.callbacks.connect('cell_changed', mycallback) + + """ + def __init__(self, r, formatd=None): + if formatd is None: + formatd = mlab.get_formatd(r) + + self.callbacks = cbook.CallbackRegistry(['cell_changed']) + + self.r = r + gtk.ListStore.__init__(self, *([gobject.TYPE_STRING]*len(r.dtype))) + self.headers = r.dtype.names + self.formats = [gtkformat_factory(formatd.get(name, mlab.FormatObj()),i) + for i,name in enumerate(self.headers)] + for row in r: + self.append([func.tostr(val) for func, val in zip(self.formats, row)]) + + + def position_edited(self, renderer, path, newtext, position): + self[path][position] = newtext + format = self.formats[int(position)] + + rownum = int(path) + colname = self.headers[int(position)] + oldval = self.r[rownum][colname] + newval = format.fromstr(newtext) + self.r[rownum][colname] = newval + self.callbacks.process('cell_changed', self, rownum, colname, oldval, newval) + +def editable_recarray(r, formatd=None): + """ + return a (gtk.TreeView, RecListStore) from record array t and + format dictionary formatd where the keys are record array dtype + names and the values are matplotlib.mlab.FormatObj instances + + Example: + + formatd = mlab.get_formatd(r) + formatd['date'] = mlab.FormatDate('%Y-%m-%d') + formatd['volume'] = mlab.FormatMillions(precision=1) + + treeview, liststore = gtktools.editable_recarray(r, formatd=formatd) + + def mycallback(liststore, rownum, colname, oldval, newval): + print 'verify: old=%s, new=%s, rec=%s'%(oldval, newval, liststore.r[rownum][colname]) + + liststore.callbacks.connect('cell_changed', mycallback) + + + win = gtk.Window() + win.show() + win.connect('destroy', lambda x: gtk.main_quit()) + win.add(treeview) + gtk.main() + + """ + liststore = RecListStore(r, formatd=formatd) + treeview = gtk.TreeView() + if formatd is None: + formatd = mlab.get_formatd(r) + for i, header in enumerate(liststore.headers): + renderer = gtk.CellRendererText() + renderer.connect("edited", liststore.position_edited, i) + renderer.set_property('editable', True) + + formatter = gtkformat_factory(formatd.get(header), i) + + if formatter is not None: + renderer.set_property('xalign', formatter.xalign) + + tvcol = gtk.TreeViewColumn(header) + treeview.append_column(tvcol) + tvcol.pack_start(renderer, True) + tvcol.add_attribute(renderer, 'text', i) + if formatter is not None and formatter.cell is not None: + tvcol.set_cell_data_func(renderer, formatter.cell) + + + treeview.set_model(liststore) + treeview.show() + treeview.set_grid_lines(gtk.TREE_VIEW_GRID_LINES_BOTH) + + + return treeview, liststore This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |