<?xml version="1.0" encoding="ascii"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Bio.ParserSupport.EventGenerator</title> <link rel="stylesheet" href="epydoc.css" type="text/css" /> <script type="text/javascript" src="epydoc.js"></script> </head> <body bgcolor="white" text="black" link="blue" vlink="#204080" alink="#204080"> <!-- ==================== NAVIGATION BAR ==================== --> <table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0"> <tr valign="middle"> <!-- Tree link --> <th> <a href="module-tree.html">Trees</a> </th> <!-- Index link --> <th> <a href="identifier-index.html">Indices</a> </th> <!-- Help link --> <th> <a href="help.html">Help</a> </th> <th class="navbar" width="100%"></th> </tr> </table> <table width="100%" cellpadding="0" cellspacing="0"> <tr valign="top"> <td width="100%"> <span class="breadcrumbs"> <a href="Bio-module.html">Package Bio</a> :: <a href="Bio.ParserSupport-module.html">Module ParserSupport</a> :: Class EventGenerator </span> </td> <td> <table cellpadding="0" cellspacing="0"> <!-- hide/show private --> <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink" onclick="toggle_private();">hide private</a>]</span></td></tr> <tr><td align="right"><span class="options" >[<a href="frames.html" target="_top">frames</a >] | <a href="Bio.ParserSupport.EventGenerator-class.html" target="_top">no frames</a>]</span></td></tr> </table> </td> </tr> </table> <!-- ==================== CLASS DESCRIPTION ==================== --> <h1 class="epydoc">Class EventGenerator</h1><p class="nomargin-top"><span class="codelink"><a href="Bio.ParserSupport-pysrc.html#EventGenerator">source code</a></span></p> <pre class="base-tree"> xml.sax.handler.ContentHandler --+ | <strong class="uidshort">EventGenerator</strong> </pre> <hr /> <p>Handler to generate events associated with a Martel parsed file.</p> <p>This acts like a normal SAX handler, and accepts XML generated by Martel during parsing. These events are then converted into 'Biopython events', which can then be caught by a standard biopython consumer</p> <!-- ==================== INSTANCE METHODS ==================== --> <a name="section-InstanceMethods"></a> <table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td colspan="2" class="table-header"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr valign="top"> <td align="left"><span class="table-header">Instance Methods</span></td> <td align="right" valign="top" ><span class="options">[<a href="#section-InstanceMethods" class="privatelink" onclick="toggle_private();" >hide private</a>]</span></td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="Bio.ParserSupport.EventGenerator-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">consumer</span>, <span class="summary-sig-arg">interest_tags</span>, <span class="summary-sig-arg">callback_finalizer</span>=<span class="summary-sig-default">None</span>, <span class="summary-sig-arg">exempt_tags</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>)</span><br /> Initialize to begin catching and firing off events.</td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.ParserSupport-pysrc.html#EventGenerator.__init__">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="Bio.ParserSupport.EventGenerator-class.html#startElement" class="summary-sig-name">startElement</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">name</span>, <span class="summary-sig-arg">attrs</span>)</span><br /> Determine if we should collect characters from this tag.</td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.ParserSupport-pysrc.html#EventGenerator.startElement">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="Bio.ParserSupport.EventGenerator-class.html#characters" class="summary-sig-name">characters</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">content</span>)</span><br /> Extract the information if we are interested in it.</td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.ParserSupport-pysrc.html#EventGenerator.characters">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="Bio.ParserSupport.EventGenerator-class.html#endElement" class="summary-sig-name">endElement</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">name</span>)</span><br /> Send the information to the consumer.</td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.ParserSupport-pysrc.html#EventGenerator.endElement">source code</a></span> </td> </tr> </table> </td> </tr> <tr class="private"> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="_make_callback"></a><span class="summary-sig-name">_make_callback</span>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">name</span>)</span><br /> Call the callback function with the info with the given name.</td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.ParserSupport-pysrc.html#EventGenerator._make_callback">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="Bio.ParserSupport.EventGenerator-class.html#endDocument" class="summary-sig-name">endDocument</a>(<span class="summary-sig-arg">self</span>)</span><br /> Make sure all of our information has been passed.</td> <td align="right" valign="top"> <span class="codelink"><a href="Bio.ParserSupport-pysrc.html#EventGenerator.endDocument">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td colspan="2" class="summary"> <p class="indent-wrapped-lines"><b>Inherited from <code>xml.sax.handler.ContentHandler</code></b>: <code>endElementNS</code>, <code>endPrefixMapping</code>, <code>ignorableWhitespace</code>, <code>processingInstruction</code>, <code>setDocumentLocator</code>, <code>skippedEntity</code>, <code>startDocument</code>, <code>startElementNS</code>, <code>startPrefixMapping</code> </p> </td> </tr> </table> <!-- ==================== METHOD DETAILS ==================== --> <a name="section-MethodDetails"></a> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td colspan="2" class="table-header"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr valign="top"> <td align="left"><span class="table-header">Method Details</span></td> <td align="right" valign="top" ><span class="options">[<a href="#section-MethodDetails" class="privatelink" onclick="toggle_private();" >hide private</a>]</span></td> </tr> </table> </td> </tr> </table> <a name="__init__"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>, <span class="sig-arg">consumer</span>, <span class="sig-arg">interest_tags</span>, <span class="sig-arg">callback_finalizer</span>=<span class="sig-default">None</span>, <span class="sig-arg">exempt_tags</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>)</span> <br /><em class="fname">(Constructor)</em> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="Bio.ParserSupport-pysrc.html#EventGenerator.__init__">source code</a></span> </td> </tr></table> <p>Initialize to begin catching and firing off events.</p> <p>Arguments: o consumer - The consumer that we'll send Biopython events to.</p> <p>o interest_tags - A listing of all the tags we are interested in.</p> <p>o callback_finalizer - A function to deal with the collected information before passing it on to the consumer. By default the collected information is a list of all of the lines read for a particular tag -- if there are multiple tags in a row like:</p> <p><some_info>Spam<some_info> <some_info>More Spam<some_info></p> <p>In this case the list of information would be:</p> <p>['Spam', 'More Spam']</p> <p>This list of lines will be passed to the callback finalizer if it is present. Otherwise the consumer will be called with the list of content information.</p> <p>o exempt_tags - A listing of particular tags that are exempt from being processed by the callback_finalizer. This allows you to use a finalizer to deal with most tags, but leave those you don't want touched.</p> <dl class="fields"> <dt>Overrides: xml.sax.handler.ContentHandler.__init__ </dt> </dl> </td></tr></table> </div> <a name="startElement"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">startElement</span>(<span class="sig-arg">self</span>, <span class="sig-arg">name</span>, <span class="sig-arg">attrs</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="Bio.ParserSupport-pysrc.html#EventGenerator.startElement">source code</a></span> </td> </tr></table> <p>Determine if we should collect characters from this tag.</p> <dl class="fields"> <dt>Overrides: xml.sax.handler.ContentHandler.startElement </dt> </dl> </td></tr></table> </div> <a name="characters"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">characters</span>(<span class="sig-arg">self</span>, <span class="sig-arg">content</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="Bio.ParserSupport-pysrc.html#EventGenerator.characters">source code</a></span> </td> </tr></table> <p>Extract the information if we are interested in it.</p> <dl class="fields"> <dt>Overrides: xml.sax.handler.ContentHandler.characters </dt> </dl> </td></tr></table> </div> <a name="endElement"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">endElement</span>(<span class="sig-arg">self</span>, <span class="sig-arg">name</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="Bio.ParserSupport-pysrc.html#EventGenerator.endElement">source code</a></span> </td> </tr></table> <p>Send the information to the consumer.</p> <p>Once we've got the end element we've collected up all of the character information we need, and we need to send this on to the consumer to do something with it.</p> <p>We have a delay of one tag on doing this, so that we can collect all of the info from multiple calls to the same element at once.</p> <dl class="fields"> <dt>Overrides: xml.sax.handler.ContentHandler.endElement </dt> </dl> </td></tr></table> </div> <a name="endDocument"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">endDocument</span>(<span class="sig-arg">self</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="Bio.ParserSupport-pysrc.html#EventGenerator.endDocument">source code</a></span> </td> </tr></table> <p>Make sure all of our information has been passed.</p> <p>This just flushes out any stored tags that need to be passed.</p> <dl class="fields"> <dt>Overrides: xml.sax.handler.ContentHandler.endDocument </dt> </dl> </td></tr></table> </div> <br /> <!-- ==================== NAVIGATION BAR ==================== --> <table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0"> <tr valign="middle"> <!-- Tree link --> <th> <a href="module-tree.html">Trees</a> </th> <!-- Index link --> <th> <a href="identifier-index.html">Indices</a> </th> <!-- Help link --> <th> <a href="help.html">Help</a> </th> <th class="navbar" width="100%"></th> </tr> </table> <table border="0" cellpadding="0" cellspacing="0" width="100%%"> <tr> <td align="left" class="footer"> Generated by Epydoc 3.0.1 on Mon Sep 15 09:26:37 2008 </td> <td align="right" class="footer"> <a target="mainFrame" href="http://epydoc.sourceforge.net" >http://epydoc.sourceforge.net</a> </td> </tr> </table> <script type="text/javascript"> <!-- // Private objects are initially displayed (because if // javascript is turned off then we want them to be // visible); but by default, we want to hide them. So hide // them unless we have a cookie that says to show them. checkCookie(); // --> </script> </body> </html>