<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <!-- Source/Synopsis/import_processor.py.html --> <!-- this view was generated by Source --> <head> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"/> <title >Synopsis - Synopsis/import_processor.py</title> <link href="../../style.css" type="text/css" rel="stylesheet" /> </head> <body class="Source"> <div class="navigation"> <span class="normal"><a href="../../Scopes/Synopsis.html" >Global Package</a></span> <span class="normal"><a href="../../InheritanceTree.html" >Inheritance Tree</a></span> <span class="normal"><a href="../../InheritanceGraph.html" >Inheritance Graph</a></span> <span class="normal"><a href="../../NameIndex.html" >Name Index</a></span> </div> File: <b >Synopsis/import_processor.py</b><pre class="sxr"><a id="line1"></a><span class="lineno"> 1</span><span class="line"><span class="py-comment">#</span></span> <a id="line2"></a><span class="lineno"> 2</span><span class="line"><span class="py-comment"># Copyright (C) 2003 Stefan Seefeld</span></span> <a id="line3"></a><span class="lineno"> 3</span><span class="line"><span class="py-comment"># All rights reserved.</span></span> <a id="line4"></a><span class="lineno"> 4</span><span class="line"><span class="py-comment"># Licensed to the public under the terms of the GNU LGPL (>= 2),</span></span> <a id="line5"></a><span class="lineno"> 5</span><span class="line"><span class="py-comment"># see the file COPYING for details.</span></span> <a id="line6"></a><span class="lineno"> 6</span><span class="line"><span class="py-comment">#</span></span> <a id="line7"></a><span class="lineno"> 7</span> <a id="line8"></a><span class="lineno"> 8</span><span class="line"><span class="py-keyword">def</span> <a href="../../Scopes/Synopsis/import_processor.html#import_processor">import_processor</a>(name, verbose=False):</span> <a id="line9"></a><span class="lineno"> 9</span><span class="line"> <span class="py-string">"""Import a named processor and return it.</span></span> <a id="line10"></a><span class="lineno">10</span><span class="line"><span class="py-string"> Throws ImportError on failure."""</span></span> <a id="line11"></a><span class="lineno">11</span> <a id="line12"></a><span class="lineno">12</span> <a id="line13"></a><span class="lineno">13</span><span class="line"> i = name.rfind(<span class="py-string">'.'</span>)</span> <a id="line14"></a><span class="lineno">14</span><span class="line"> <span class="py-keyword">if</span> i == -1:</span> <a id="line15"></a><span class="lineno">15</span><span class="line"> <span class="py-keyword">raise</span> ImportError, <span class="py-string">'%s does not name a valid processor'</span>%name</span> <a id="line16"></a><span class="lineno">16</span> <a id="line17"></a><span class="lineno">17</span><span class="line"> module, processor = name[:i], name.split(<span class="py-string">'.'</span>)</span> <a id="line18"></a><span class="lineno">18</span><span class="line"> mod = __import__(module)</span> <a id="line19"></a><span class="lineno">19</span> <a id="line20"></a><span class="lineno">20</span><span class="line"> <span class="py-keyword">for</span> c <span class="py-keyword">in</span> processor[1:]:</span> <a id="line21"></a><span class="lineno">21</span><span class="line"> <span class="py-keyword">try</span>:</span> <a id="line22"></a><span class="lineno">22</span><span class="line"> mod = getattr(mod, c)</span> <a id="line23"></a><span class="lineno">23</span><span class="line"> <span class="py-keyword">except</span> AttributeError, msg:</span> <a id="line24"></a><span class="lineno">24</span><span class="line"> <span class="py-keyword">raise</span> ImportError, <span class="py-string">"Unable to find %s in %s"</span>%(c, repr(mod))</span> <a id="line25"></a><span class="lineno">25</span> <a id="line26"></a><span class="lineno">26</span><span class="line"> <span class="py-keyword">return</span> mod</span> <a id="line27"></a><span class="lineno">27</span> </pre> <div class="logo">Generated on Thu Apr 16 16:27:14 2009 by <br/> <a href="http://synopsis.fresco.org" target="_blank"><img src="../../synopsis.png" alt="logo"/> synopsis</a> (version devel)</div> </body> </html>