<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module cbook</title>
<style type="text/css"><!--
TT { font-family: lucidatypewriter, lucida console, courier }
--></style></head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong>cbook</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jdhunter/python/projects/matplotlib/matplotlib/cbook.py">/home/jdhunter/python/projects/matplotlib/matplotlib/cbook.py</a></font></td></tr></table>
<p></p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom> <br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="errno.html">errno</a><br>
</td><td width="25%" valign=top><a href="os.html">os</a><br>
</td><td width="25%" valign=top><a href="re.html">re</a><br>
</td><td width="25%" valign=top><a href="sys.html">sys</a><br>
</td></tr></table></td></tr></table>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="cbook.html#Bunch">Bunch</a>
</font></dt><dt><font face="helvetica, arial"><a href="cbook.html#Null">Null</a>
</font></dt><dt><font face="helvetica, arial"><a href="cbook.html#RingBuffer">RingBuffer</a>
</font></dt><dt><font face="helvetica, arial"><a href="cbook.html#Sorter">Sorter</a>
</font></dt><dt><font face="helvetica, arial"><a href="__builtin__.html#dict">__builtin__.dict</a>(<a href="__builtin__.html#object">__builtin__.object</a>)
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="cbook.html#Xlator">Xlator</a>
</font></dt></dl>
</dd>
</dl>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom> <br>
<font color="#000000" face="helvetica, arial"><a name="Bunch">class <strong>Bunch</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
<td colspan=2><tt>Often we want to just collect a bunch of stuff together, naming each<br>
item of the bunch; a dictionary's OK for that, but a small do- nothing<br>
class is even handier, and prettier to use. Whenever you want to<br>
group a few variables:<br>
<br>
>>> point = <a href="#Bunch">Bunch</a>(datum=2, squared=4, coord=12)<br>
>>> point.datum<br>
<br>
By: Alex Martelli<br>
From: <a href="http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52308">http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52308</a><br> </tt></td></tr>
<tr><td> </td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Bunch-__init__"><strong>__init__</strong></a>(self, **kwds)</dt></dl>
<hr>
Data and non-method functions defined here:<br>
<dl><dt><strong>__doc__</strong> = '<font color="#c040c0">\n</font> Often we want to just collect a bunch of stu...vestate.com/ASPN/Cookbook/Python/Recipe/52308<font color="#c040c0">\n</font> '</dl>
<dl><dt><strong>__module__</strong> = 'cbook'</dl>
</td></tr></table>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom> <br>
<font color="#000000" face="helvetica, arial"><a name="Null">class <strong>Null</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
<td colspan=2><tt> <a href="#Null">Null</a> objects always and reliably "do nothing."<br> </tt></td></tr>
<tr><td> </td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Null-__call__"><strong>__call__</strong></a>(self, *args, **kwargs)</dt></dl>
<dl><dt><a name="Null-__delattr__"><strong>__delattr__</strong></a>(self, name)</dt></dl>
<dl><dt><a name="Null-__getattr__"><strong>__getattr__</strong></a>(self, name)</dt></dl>
<dl><dt><a name="Null-__init__"><strong>__init__</strong></a>(self, *args, **kwargs)</dt></dl>
<dl><dt><a name="Null-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt></dl>
<dl><dt><a name="Null-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
<dl><dt><a name="Null-__setattr__"><strong>__setattr__</strong></a>(self, name, value)</dt></dl>
<dl><dt><a name="Null-__str__"><strong>__str__</strong></a>(self)</dt></dl>
<hr>
Data and non-method functions defined here:<br>
<dl><dt><strong>__doc__</strong> = ' Null objects always and reliably "do nothing." '</dl>
<dl><dt><strong>__module__</strong> = 'cbook'</dl>
</td></tr></table>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom> <br>
<font color="#000000" face="helvetica, arial"><a name="RingBuffer">class <strong>RingBuffer</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
<td colspan=2><tt> class that implements a not-yet-full buffer<br> </tt></td></tr>
<tr><td> </td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="RingBuffer-__get_item__"><strong>__get_item__</strong></a>(self, i)</dt></dl>
<dl><dt><a name="RingBuffer-__init__"><strong>__init__</strong></a>(self, size_max)</dt></dl>
<dl><dt><a name="RingBuffer-append"><strong>append</strong></a>(self, x)</dt><dd><tt>append an element at the end of the buffer</tt></dd></dl>
<dl><dt><a name="RingBuffer-get"><strong>get</strong></a>(self)</dt><dd><tt> Return a list of elements from the oldest to the newest.</tt></dd></dl>
<hr>
Data and non-method functions defined here:<br>
<dl><dt><strong>_RingBuffer__Full</strong> = <class cbook.__Full><dd><tt> class that implements a full buffer</tt></dl>
<dl><dt><strong>__doc__</strong> = ' class that implements a not-yet-full buffer '</dl>
<dl><dt><strong>__module__</strong> = 'cbook'</dl>
</td></tr></table>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom> <br>
<font color="#000000" face="helvetica, arial"><a name="Sorter">class <strong>Sorter</strong></a></font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
<td colspan=2><tt><br>
Sort by attribute or item<br>
<br>
Example usage:<br>
sort = <a href="#Sorter">Sorter</a>()<br>
<br>
list = [(1, 2), (4, 8), (0, 3)]<br>
<a href="__builtin__.html#dict">dict</a> = [{'a': 3, 'b': 4}, {'a': 5, 'b': 2}, {'a': 0, 'b': 0},<br>
{'a': 9, 'b': 9}]<br>
<br>
<br>
<a href="#Sorter-sort">sort</a>(list) # default sort<br>
<a href="#Sorter-sort">sort</a>(list, 1) # sort by index 1<br>
<a href="#Sorter-sort">sort</a>(<a href="__builtin__.html#dict">dict</a>, 'a') # sort a list of dicts by key 'a'<br> </tt></td></tr>
<tr><td> </td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Sorter-__call__"><strong>__call__</strong></a> = <a href="#Sorter-byItem">byItem</a>(self, data, itemindex<font color="#909090">=None</font>, inplace<font color="#909090">=1</font>)</dt></dl>
<dl><dt><a name="Sorter-_helper"><strong>_helper</strong></a>(self, data, aux, inplace)</dt></dl>
<dl><dt><a name="Sorter-byAttribute"><strong>byAttribute</strong></a>(self, data, attributename, inplace<font color="#909090">=1</font>)</dt></dl>
<dl><dt><a name="Sorter-byItem"><strong>byItem</strong></a>(self, data, itemindex<font color="#909090">=None</font>, inplace<font color="#909090">=1</font>)</dt></dl>
<dl><dt><a name="Sorter-sort"><strong>sort</strong></a> = <a href="#Sorter-byItem">byItem</a>(self, data, itemindex<font color="#909090">=None</font>, inplace<font color="#909090">=1</font>)</dt></dl>
<hr>
Data and non-method functions defined here:<br>
<dl><dt><strong>__doc__</strong> = "<font color="#c040c0">\n\n</font> Sort by attribute or item<font color="#c040c0">\n\n</font> Example usage..., 'a') # sort a list of dicts by key 'a'<font color="#c040c0">\n</font> <font color="#c040c0">\n</font> "</dl>
<dl><dt><strong>__module__</strong> = 'cbook'</dl>
</td></tr></table>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom> <br>
<font color="#000000" face="helvetica, arial"><a name="Xlator">class <strong>Xlator</strong></a>(<a href="__builtin__.html#dict">__builtin__.dict</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
<td colspan=2><tt>All-in-one multiple-string-substitution class<br>
<br>
Example usage:<br>
<br>
text = "Larry Wall is the creator of Perl"<br>
adict = {<br>
"Larry Wall" : "Guido van Rossum",<br>
"creator" : "Benevolent Dictator for Life",<br>
"Perl" : "Python",<br>
}<br>
<br>
print multiple_replace(adict, text)<br>
<br>
xlat = <a href="#Xlator">Xlator</a>(adict)<br>
print xlat.<a href="#Xlator-xlat">xlat</a>(text)<br> </tt></td></tr>
<tr><td> </td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="cbook.html#Xlator">Xlator</a></dd>
<dd><a href="__builtin__.html#dict">__builtin__.dict</a></dd>
<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="Xlator-__call__"><strong>__call__</strong></a>(self, match)</dt><dd><tt> Handler invoked for each regex match</tt></dd></dl>
<dl><dt><a name="Xlator-_make_regex"><strong>_make_regex</strong></a>(self)</dt><dd><tt> Build re object based on the keys of the current dictionary</tt></dd></dl>
<dl><dt><a name="Xlator-xlat"><strong>xlat</strong></a>(self, text)</dt><dd><tt> Translate text, returns the modified text.</tt></dd></dl>
<hr>
Data and non-method functions defined here:<br>
<dl><dt><strong>__dict__</strong> = <dict-proxy object></dl>
<dl><dt><strong>__doc__</strong> = '<font color="#c040c0">\n</font> All-in-one multiple-string-substitution cla...at = Xlator(adict)<font color="#c040c0">\n</font> print xlat.xlat(text)<font color="#c040c0">\n</font> '</dl>
<dl><dt><strong>__module__</strong> = 'cbook'</dl>
<dl><dt><strong>__weakref__</strong> = <member '__weakref__' of 'Xlator' objects></dl>
<hr>
Methods inherited from <a href="__builtin__.html#dict">__builtin__.dict</a>:<br>
<dl><dt><a name="Xlator-__cmp__"><strong>__cmp__</strong></a>(...)</dt><dd><tt>x.<a href="#Xlator-__cmp__">__cmp__</a>(y) <==> cmp(x,y)</tt></dd></dl>
<dl><dt><a name="Xlator-__contains__"><strong>__contains__</strong></a>(...)</dt><dd><tt>x.<a href="#Xlator-__contains__">__contains__</a>(y) <==> y in x</tt></dd></dl>
<dl><dt><a name="Xlator-__delitem__"><strong>__delitem__</strong></a>(...)</dt><dd><tt>x.<a href="#Xlator-__delitem__">__delitem__</a>(y) <==> del x[y]</tt></dd></dl>
<dl><dt><a name="Xlator-__eq__"><strong>__eq__</strong></a>(...)</dt><dd><tt>x.<a href="#Xlator-__eq__">__eq__</a>(y) <==> x==y</tt></dd></dl>
<dl><dt><a name="Xlator-__ge__"><strong>__ge__</strong></a>(...)</dt><dd><tt>x.<a href="#Xlator-__ge__">__ge__</a>(y) <==> x>=y</tt></dd></dl>
<dl><dt><a name="Xlator-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#Xlator-__getattribute__">__getattribute__</a>('name') <==> x.name</tt></dd></dl>
<dl><dt><a name="Xlator-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.<a href="#Xlator-__getitem__">__getitem__</a>(y) <==> x[y]</tt></dd></dl>
<dl><dt><a name="Xlator-__gt__"><strong>__gt__</strong></a>(...)</dt><dd><tt>x.<a href="#Xlator-__gt__">__gt__</a>(y) <==> x>y</tt></dd></dl>
<dl><dt><a name="Xlator-__hash__"><strong>__hash__</strong></a>(...)</dt><dd><tt>x.<a href="#Xlator-__hash__">__hash__</a>() <==> hash(x)</tt></dd></dl>
<dl><dt><a name="Xlator-__init__"><strong>__init__</strong></a>(...)</dt><dd><tt>x.<a href="#Xlator-__init__">__init__</a>(...) initializes x; see x.__class__.__doc__ for signature</tt></dd></dl>
<dl><dt><a name="Xlator-__iter__"><strong>__iter__</strong></a>(...)</dt><dd><tt>x.<a href="#Xlator-__iter__">__iter__</a>() <==> iter(x)</tt></dd></dl>
<dl><dt><a name="Xlator-__le__"><strong>__le__</strong></a>(...)</dt><dd><tt>x.<a href="#Xlator-__le__">__le__</a>(y) <==> x<=y</tt></dd></dl>
<dl><dt><a name="Xlator-__len__"><strong>__len__</strong></a>(...)</dt><dd><tt>x.<a href="#Xlator-__len__">__len__</a>() <==> len(x)</tt></dd></dl>
<dl><dt><a name="Xlator-__lt__"><strong>__lt__</strong></a>(...)</dt><dd><tt>x.<a href="#Xlator-__lt__">__lt__</a>(y) <==> x<y</tt></dd></dl>
<dl><dt><a name="Xlator-__ne__"><strong>__ne__</strong></a>(...)</dt><dd><tt>x.<a href="#Xlator-__ne__">__ne__</a>(y) <==> x!=y</tt></dd></dl>
<dl><dt><a name="Xlator-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#Xlator-__repr__">__repr__</a>() <==> repr(x)</tt></dd></dl>
<dl><dt><a name="Xlator-__setitem__"><strong>__setitem__</strong></a>(...)</dt><dd><tt>x.<a href="#Xlator-__setitem__">__setitem__</a>(i, y) <==> x[i]=y</tt></dd></dl>
<dl><dt><a name="Xlator-clear"><strong>clear</strong></a>(...)</dt><dd><tt>D.<a href="#Xlator-clear">clear</a>() -> None. Remove all items from D.</tt></dd></dl>
<dl><dt><a name="Xlator-copy"><strong>copy</strong></a>(...)</dt><dd><tt>D.<a href="#Xlator-copy">copy</a>() -> a shallow copy of D</tt></dd></dl>
<dl><dt><a name="Xlator-get"><strong>get</strong></a>(...)</dt><dd><tt>D.<a href="#Xlator-get">get</a>(k[,d]) -> D[k] if D.<a href="#Xlator-has_key">has_key</a>(k), else d. d defaults to None.</tt></dd></dl>
<dl><dt><a name="Xlator-has_key"><strong>has_key</strong></a>(...)</dt><dd><tt>D.<a href="#Xlator-has_key">has_key</a>(k) -> 1 if D has a key k, else 0</tt></dd></dl>
<dl><dt><a name="Xlator-items"><strong>items</strong></a>(...)</dt><dd><tt>D.<a href="#Xlator-items">items</a>() -> list of D's (key, value) pairs, as 2-tuples</tt></dd></dl>
<dl><dt><a name="Xlator-iteritems"><strong>iteritems</strong></a>(...)</dt><dd><tt>D.<a href="#Xlator-iteritems">iteritems</a>() -> an iterator over the (key, value) items of D</tt></dd></dl>
<dl><dt><a name="Xlator-iterkeys"><strong>iterkeys</strong></a>(...)</dt><dd><tt>D.<a href="#Xlator-iterkeys">iterkeys</a>() -> an iterator over the keys of D</tt></dd></dl>
<dl><dt><a name="Xlator-itervalues"><strong>itervalues</strong></a>(...)</dt><dd><tt>D.<a href="#Xlator-itervalues">itervalues</a>() -> an iterator over the values of D</tt></dd></dl>
<dl><dt><a name="Xlator-keys"><strong>keys</strong></a>(...)</dt><dd><tt>D.<a href="#Xlator-keys">keys</a>() -> list of D's keys</tt></dd></dl>
<dl><dt><a name="Xlator-popitem"><strong>popitem</strong></a>(...)</dt><dd><tt>D.<a href="#Xlator-popitem">popitem</a>() -> (k, v), remove and return some (key, value) pair as a<br>
2-tuple; but raise KeyError if D is empty</tt></dd></dl>
<dl><dt><a name="Xlator-setdefault"><strong>setdefault</strong></a>(...)</dt><dd><tt>D.<a href="#Xlator-setdefault">setdefault</a>(k[,d]) -> D.<a href="#Xlator-get">get</a>(k,d), also set D[k]=d if not D.<a href="#Xlator-has_key">has_key</a>(k)</tt></dd></dl>
<dl><dt><a name="Xlator-update"><strong>update</strong></a>(...)</dt><dd><tt>D.<a href="#Xlator-update">update</a>(E) -> None. Update D from E: for k in E.<a href="#Xlator-keys">keys</a>(): D[k] = E[k]</tt></dd></dl>
<dl><dt><a name="Xlator-values"><strong>values</strong></a>(...)</dt><dd><tt>D.<a href="#Xlator-values">values</a>() -> list of D's values</tt></dd></dl>
<hr>
Data and non-method functions inherited from <a href="__builtin__.html#dict">__builtin__.dict</a>:<br>
<dl><dt><strong>__new__</strong> = <built-in method __new__ of type object><dd><tt>T.<a href="#Xlator-__new__">__new__</a>(S, ...) -> a new object with type S, a subtype of T</tt></dl>
<hr>
Methods inherited from <a href="__builtin__.html#object">__builtin__.object</a>:<br>
<dl><dt><a name="Xlator-__delattr__"><strong>__delattr__</strong></a>(...)</dt><dd><tt>x.<a href="#Xlator-__delattr__">__delattr__</a>('name') <==> del x.name</tt></dd></dl>
<dl><dt><a name="Xlator-__reduce__"><strong>__reduce__</strong></a>(...)</dt><dd><tt>helper for pickle</tt></dd></dl>
<dl><dt><a name="Xlator-__setattr__"><strong>__setattr__</strong></a>(...)</dt><dd><tt>x.<a href="#Xlator-__setattr__">__setattr__</a>('name', value) <==> x.name = value</tt></dd></dl>
<dl><dt><a name="Xlator-__str__"><strong>__str__</strong></a>(...)</dt><dd><tt>x.<a href="#Xlator-__str__">__str__</a>() <==> str(x)</tt></dd></dl>
<hr>
Data and non-method functions inherited from <a href="__builtin__.html#object">__builtin__.object</a>:<br>
<dl><dt><strong>__class__</strong> = <type 'type'></dl>
</td></tr></table></td></tr></table>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt> </tt></td><td> </td>
<td width="100%"><dl><dt><a name="-enumerate"><strong>enumerate</strong></a>(seq)</dt><dd><tt># until 2.3</tt></dd></dl>
<dl><dt><a name="-flatten"><strong>flatten</strong></a>(seq, scalarp<font color="#909090">=<function is_scalar></font>)</dt><dd><tt>this generator flattens nested containers such as<br>
<br>
>>> l=( ('John', 'Hunter'), (1,23), [[[[42,(5,23)]]]])<br>
<br>
so that<br>
<br>
>>> for i in <a href="#-flatten">flatten</a>(l): print i,<br>
John Hunter 1 23 42 5 23<br>
<br>
By: Composite of Holger Krekel and Luther Blissett<br>
From: <a href="http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/121294">http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/121294</a><br>
and Recipe 1.12 in cookbook</tt></dd></dl>
<dl><dt><a name="-get_split_ind"><strong>get_split_ind</strong></a>(seq, N)</dt><dd><tt>seq is a list of words. Return the index into seq such that<br>
len(' '.join(seq[:ind])<=N</tt></dd></dl>
<dl><dt><a name="-is_scalar"><strong>is_scalar</strong></a>(obj)</dt></dl>
<dl><dt><a name="-is_string_like"><strong>is_string_like</strong></a>(obj)</dt></dl>
<dl><dt><a name="-iterable"><strong>iterable</strong></a>(obj)</dt></dl>
<dl><dt><a name="-mkdirs"><strong>mkdirs</strong></a>(newdir, mode<font color="#909090">=511</font>)</dt></dl>
<dl><dt><a name="-soundex"><strong>soundex</strong></a>(name, len<font color="#909090">=4</font>)</dt><dd><tt> soundex module conforming to Odell-Russell algorithm</tt></dd></dl>
<dl><dt><a name="-wrap"><strong>wrap</strong></a>(prefix, text, cols)</dt></dl>
</td></tr></table>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom> <br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt> </tt></td><td> </td>
<td width="100%"><strong>__file__</strong> = './cbook.py'<br>
<strong>__name__</strong> = 'cbook'<br>
<strong>generators</strong> = _Feature((2, 2, 0, 'alpha', 1), (2, 3, 0, 'final', 0), 4096)</td></tr></table>
</body></html>