diff options
Diffstat (limited to 'doxygen/html/namespacecmd2.html')
-rw-r--r-- | doxygen/html/namespacecmd2.html | 771 |
1 files changed, 771 insertions, 0 deletions
diff --git a/doxygen/html/namespacecmd2.html b/doxygen/html/namespacecmd2.html new file mode 100644 index 0000000..7e27756 --- /dev/null +++ b/doxygen/html/namespacecmd2.html @@ -0,0 +1,771 @@ +<!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"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>Cmd2: cmd2 Namespace Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { searchBox.OnSelectItem(0); }); +</script> + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">Cmd2 + + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li class="current"><a href="namespaces.html"><span>Packages</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="namespaces.html"><span>Packages</span></a></li> + <li><a href="namespacemembers.html"><span>Package Functions</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('namespacecmd2.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> | +<a href="#func-members">Functions</a> | +<a href="#var-members">Variables</a> </div> + <div class="headertitle"> +<div class="title">cmd2 Namespace Reference</div> </div> +</div> +<div class="contents"> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcmd2_1_1Borg.html">Borg</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcmd2_1_1Cmd.html">Cmd</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcmd2_1_1Cmd2TestCase.html">Cmd2TestCase</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcmd2_1_1EmbeddedConsoleExit.html">EmbeddedConsoleExit</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcmd2_1_1EmptyStatement.html">EmptyStatement</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcmd2_1_1History.html">History</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcmd2_1_1HistoryItem.html">HistoryItem</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcmd2_1_1NotSettableError.html">NotSettableError</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcmd2_1_1OptionParser.html">OptionParser</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcmd2_1_1OutputTrap.html">OutputTrap</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcmd2_1_1ParsedString.html">ParsedString</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcmd2_1_1PasteBufferError.html">PasteBufferError</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcmd2_1_1Statekeeper.html">Statekeeper</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcmd2_1_1StubbornDict.html">StubbornDict</a></td></tr> +<tr><td colspan="2"><h2><a name="func-members"></a> +Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecmd2.html#a93001003cf51a72d1d6adaf5e3e22366">_attr_get_</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecmd2.html#a0880940558f324b3958aedfc430f592d">cast</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecmd2.html#a9f1495f6c72f7d8c0dbb0f9f22029763">get_paste_buffer</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecmd2.html#a9f1495f6c72f7d8c0dbb0f9f22029763">get_paste_buffer</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecmd2.html#ad4ac87ba068f9549b5a7735054df8065">ljust</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecmd2.html#a863be2c5e3b9fdec03710fd550801c22">options</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecmd2.html#a11d252497d81548f19771cddf0ca68fb">remaining_args</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecmd2.html#aa5aa0c16a66d0ec0510ac38f3cc00ad3">replace_with_file_contents</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecmd2.html#aae88fcdb31e45b322ecdaf7df9922823">stubbornDict</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecmd2.html#a514a20ceb8ab40dd89d2df2dd5ff87a0">write_to_paste_buffer</a></td></tr> +<tr><td colspan="2"><h2><a name="var-members"></a> +Variables</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecmd2.html#a05ce8a1645f64208f969036f8621ddd2">__version__</a> = '0.6.4'</td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecmd2.html#a3f2a6eb75c58ca830028f18cf2851958">can_clip</a> = False</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">list </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecmd2.html#afd483925db6ff208624b8e5c0ae09271">options_defined</a> = []</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecmd2.html#abb901de4eb2987589c68b4d895acd8c3">pastebufferr</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecmd2.html#ab810fc3f05607c1e4311225b04591244">teststring</a> = 'Testing for presence of xclip.'</td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecmd2.html#a514a20ceb8ab40dd89d2df2dd5ff87a0">write_to_paste_buffer</a> = get_paste_buffer</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">tuple </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecmd2.html#ae76e61704924b26b7ddb97fce8c384ef">xclipproc</a> = subprocess.Popen('xclip -sel clip', shell=True, stdout=subprocess.PIPE, stdin=subprocess.PIPE)</td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"><div class="fragment"><pre class="fragment">Variant on standard library's cmd with extra features. + +To use, simply import cmd2.Cmd instead of cmd.Cmd; use precisely as though you +were using the standard library's cmd, while enjoying the extra features. + +Searchable command history (commands: "hi", "li", "run") +Load commands from file, save to file, edit commands in file +Multi-line commands +Case-insensitive commands +Special-character shortcut commands (beyond cmd's "@" and "!") +Settable environment parameters +Optional _onchange_{paramname} called when environment parameter changes +Parsing commands with `optparse` options (flags) +Redirection to file with >, >>; input from file with < +Easy transcript-based testing of applications (see example/example.py) +Bash-style ``select`` available + +Note that redirection with > and | will only work if `self.stdout.write()` +is used in place of `print`. The standard library's `cmd` module is +written to use `self.stdout.write()`, + +- Catherine Devlin, Jan 03 2008 - catherinedevlin.blogspot.com + +mercurial repository at http://www.assembla.com/wiki/show/python-cmd2 +</pre></div> </div><hr/><h2>Function Documentation</h2> +<a class="anchor" id="a93001003cf51a72d1d6adaf5e3e22366"></a><!-- doxytag: member="cmd2::_attr_get_" ref="a93001003cf51a72d1d6adaf5e3e22366" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def cmd2::_attr_get_ </td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname"><em>obj</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>attr</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [private]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> +<div class="fragment"><pre class="fragment">Returns an attribute's value, or None (no error) if undefined. + Analagous to .get() for dictionaries. Useful when checking for + value of options that may not have been defined on a given + method.</pre></div> +<p>Definition at line <a class="el" href="cmd2_8py_source.html#l00098">98</a> of file <a class="el" href="cmd2_8py_source.html">cmd2.py</a>.</p> +<div class="fragment"><pre class="fragment"><a name="l00098"></a><a class="code" href="namespacecmd2.html#a93001003cf51a72d1d6adaf5e3e22366">00098</a> +<a name="l00099"></a>00099 <span class="keyword">def </span><a class="code" href="namespacecmd2.html#a93001003cf51a72d1d6adaf5e3e22366">_attr_get_</a>(obj, attr): +<a name="l00100"></a>00100 <span class="stringliteral">'''Returns an attribute's value, or None (no error) if undefined.</span> +<a name="l00101"></a>00101 <span class="stringliteral"> Analagous to .get() for dictionaries. Useful when checking for</span> +<a name="l00102"></a>00102 <span class="stringliteral"> value of options that may not have been defined on a given</span> +<a name="l00103"></a>00103 <span class="stringliteral"> method.'''</span> +<a name="l00104"></a>00104 <span class="keywordflow">try</span>: +<a name="l00105"></a>00105 <span class="keywordflow">return</span> getattr(obj, attr) +<a name="l00106"></a>00106 <span class="keywordflow">except</span> AttributeError: +<a name="l00107"></a>00107 <span class="keywordflow">return</span> <span class="keywordtype">None</span> +<a name="l00108"></a>00108 +<a name="l00109"></a>00109 optparse.Values.get = _attr_get_ + +</pre></div> +</div> +</div> +<a class="anchor" id="a0880940558f324b3958aedfc430f592d"></a><!-- doxytag: member="cmd2::cast" ref="a0880940558f324b3958aedfc430f592d" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def cmd2::cast </td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname"><em>current</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>new</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<div class="fragment"><pre class="fragment">Tries to force a new value into the same type as the current.</pre></div> +<p>Definition at line <a class="el" href="cmd2_8py_source.html#l01412">1412</a> of file <a class="el" href="cmd2_8py_source.html">cmd2.py</a>.</p> + +<p>Referenced by <a class="el" href="cmd2_8py_source.html#l01000">cmd2::Cmd::do_set()</a>.</p> +<div class="fragment"><pre class="fragment"><a name="l01412"></a><a class="code" href="namespacecmd2.html#a0880940558f324b3958aedfc430f592d">01412</a> +<a name="l01413"></a>01413 <span class="keyword">def </span><a class="code" href="namespacecmd2.html#a0880940558f324b3958aedfc430f592d">cast</a>(current, new): +<a name="l01414"></a>01414 <span class="stringliteral">"""Tries to force a new value into the same type as the current."""</span> +<a name="l01415"></a>01415 typ = type(current) +<a name="l01416"></a>01416 <span class="keywordflow">if</span> typ == bool: +<a name="l01417"></a>01417 <span class="keywordflow">try</span>: +<a name="l01418"></a>01418 <span class="keywordflow">return</span> bool(int(new)) +<a name="l01419"></a>01419 <span class="keywordflow">except</span> (ValueError, TypeError): +<a name="l01420"></a>01420 <span class="keywordflow">pass</span> +<a name="l01421"></a>01421 <span class="keywordflow">try</span>: +<a name="l01422"></a>01422 new = new.lower() +<a name="l01423"></a>01423 <span class="keywordflow">except</span>: +<a name="l01424"></a>01424 <span class="keywordflow">pass</span> +<a name="l01425"></a>01425 <span class="keywordflow">if</span> (new==<span class="stringliteral">'on'</span>) <span class="keywordflow">or</span> (new[0] <span class="keywordflow">in</span> (<span class="stringliteral">'y'</span>,<span class="stringliteral">'t'</span>)): +<a name="l01426"></a>01426 <span class="keywordflow">return</span> <span class="keyword">True</span> +<a name="l01427"></a>01427 <span class="keywordflow">if</span> (new==<span class="stringliteral">'off'</span>) <span class="keywordflow">or</span> (new[0] <span class="keywordflow">in</span> (<span class="stringliteral">'n'</span>,<span class="stringliteral">'f'</span>)): +<a name="l01428"></a>01428 <span class="keywordflow">return</span> <span class="keyword">False</span> +<a name="l01429"></a>01429 <span class="keywordflow">else</span>: +<a name="l01430"></a>01430 <span class="keywordflow">try</span>: +<a name="l01431"></a>01431 <span class="keywordflow">return</span> typ(new) +<a name="l01432"></a>01432 <span class="keywordflow">except</span>: +<a name="l01433"></a>01433 <span class="keywordflow">pass</span> +<a name="l01434"></a>01434 <span class="keywordflow">print</span> (<span class="stringliteral">"Problem setting parameter (now %s) to %s; incorrect type?"</span> % (current, new)) +<a name="l01435"></a>01435 <span class="keywordflow">return</span> current + +</pre></div> +</div> +</div> +<a class="anchor" id="a9f1495f6c72f7d8c0dbb0f9f22029763"></a><!-- doxytag: member="cmd2::get_paste_buffer" ref="a9f1495f6c72f7d8c0dbb0f9f22029763" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def cmd2::get_paste_buffer </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="cmd2_8py_source.html#l00184">184</a> of file <a class="el" href="cmd2_8py_source.html">cmd2.py</a>.</p> + +<p>Referenced by <a class="el" href="cmd2_8py_source.html#l00198">get_paste_buffer()</a>, <a class="el" href="cmd2_8py_source.html#l00809">cmd2::Cmd::redirect_output()</a>, and <a class="el" href="cmd2_8py_source.html#l00336">replace_with_file_contents()</a>.</p> +<div class="fragment"><pre class="fragment"><a name="l00184"></a><a class="code" href="namespacecmd2.html#a9f1495f6c72f7d8c0dbb0f9f22029763">00184</a> +<a name="l00185"></a>00185 <span class="keyword">def </span><a class="code" href="namespacecmd2.html#a9f1495f6c72f7d8c0dbb0f9f22029763">get_paste_buffer</a>(): +<a name="l00186"></a>00186 win32clipboard.OpenClipboard(0) +<a name="l00187"></a>00187 <span class="keywordflow">try</span>: +<a name="l00188"></a>00188 result = win32clipboard.GetClipboardData() +<a name="l00189"></a>00189 <span class="keywordflow">except</span> TypeError: +<a name="l00190"></a>00190 result = <span class="stringliteral">''</span> <span class="comment">#non-text</span> +<a name="l00191"></a>00191 win32clipboard.CloseClipboard() + <span class="keywordflow">return</span> result +</pre></div> +</div> +</div> +<a class="anchor" id="a9f1495f6c72f7d8c0dbb0f9f22029763"></a><!-- doxytag: member="cmd2::get_paste_buffer" ref="a9f1495f6c72f7d8c0dbb0f9f22029763" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def cmd2::get_paste_buffer </td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname"><em>args</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="cmd2_8py_source.html#l00198">198</a> of file <a class="el" href="cmd2_8py_source.html">cmd2.py</a>.</p> + +<p>References <a class="el" href="cmd2_8py_source.html#l00184">get_paste_buffer()</a>.</p> +<div class="fragment"><pre class="fragment"><a name="l00198"></a><a class="code" href="namespacecmd2.html#a9f1495f6c72f7d8c0dbb0f9f22029763">00198</a> +<a name="l00199"></a>00199 <span class="keyword">def </span><a class="code" href="namespacecmd2.html#a9f1495f6c72f7d8c0dbb0f9f22029763">get_paste_buffer</a>(*args): + <span class="keywordflow">raise</span> OSError, pastebufferr % (<span class="stringliteral">'pywin32'</span>, <span class="stringliteral">'Download from http://sourceforge.net/projects/pywin32/'</span>) +</pre></div> +</div> +</div> +<a class="anchor" id="ad4ac87ba068f9549b5a7735054df8065"></a><!-- doxytag: member="cmd2::ljust" ref="ad4ac87ba068f9549b5a7735054df8065" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def cmd2::ljust </td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname"><em>x</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>width</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>fillchar</em> = <code>' '</code> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="cmd2_8py_source.html#l00352">352</a> of file <a class="el" href="cmd2_8py_source.html">cmd2.py</a>.</p> + +<p>Referenced by <a class="el" href="cmd2_8py_source.html#l00982">cmd2::Cmd::do_show()</a>.</p> +<div class="fragment"><pre class="fragment"><a name="l00352"></a><a class="code" href="namespacecmd2.html#ad4ac87ba068f9549b5a7735054df8065">00352</a> +<a name="l00353"></a>00353 <span class="keyword">def </span><a class="code" href="namespacecmd2.html#ad4ac87ba068f9549b5a7735054df8065">ljust</a>(x, width, fillchar=' '): +<a name="l00354"></a>00354 <span class="stringliteral">'analogous to str.ljust, but works for lists'</span> +<a name="l00355"></a>00355 <span class="keywordflow">if</span> hasattr(x, <span class="stringliteral">'ljust'</span>): +<a name="l00356"></a>00356 <span class="keywordflow">return</span> x.ljust(width, fillchar) +<a name="l00357"></a>00357 <span class="keywordflow">else</span>: +<a name="l00358"></a>00358 <span class="keywordflow">if</span> len(x) < width: +<a name="l00359"></a>00359 x = (x + [fillchar] * width)[:width] +<a name="l00360"></a>00360 <span class="keywordflow">return</span> x + +</pre></div> +</div> +</div> +<a class="anchor" id="a863be2c5e3b9fdec03710fd550801c22"></a><!-- doxytag: member="cmd2::options" ref="a863be2c5e3b9fdec03710fd550801c22" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def cmd2::options </td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname"><em>option_list</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>arg_desc</em> = <code>"arg"</code> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<div class="fragment"><pre class="fragment">Used as a decorator and passed a list of optparse-style options, + alters a cmd2 method to populate its ``opts`` argument from its + raw text argument. + + Example: transform + def do_something(self, arg): + + into + @options([make_option('-q', '--quick', action="store_true", + help="Makes things fast")], + "source dest") + def do_something(self, arg, opts): + if opts.quick: + self.fast_button = True + </pre></div> +<p>Definition at line <a class="el" href="cmd2_8py_source.html#l00112">112</a> of file <a class="el" href="cmd2_8py_source.html">cmd2.py</a>.</p> + +<p>References <a class="el" href="cmd2_8py_source.html#l00086">remaining_args()</a>.</p> + +<p>Referenced by <a class="el" href="cmd2_8py_source.html#l01039">cmd2::Cmd::do_py()</a>, <a class="el" href="pirate8_8py_source.html#l00042">pirate8::Pirate::do_sing()</a>, and <a class="el" href="cmd2_8py_source.html#l00946">cmd2::Cmd::select()</a>.</p> +<div class="fragment"><pre class="fragment"><a name="l00112"></a><a class="code" href="namespacecmd2.html#a863be2c5e3b9fdec03710fd550801c22">00112</a> +<a name="l00113"></a>00113 <span class="keyword">def </span><a class="code" href="namespacecmd2.html#a863be2c5e3b9fdec03710fd550801c22">options</a>(option_list, arg_desc="arg"): +<a name="l00114"></a>00114 <span class="stringliteral">'''Used as a decorator and passed a list of optparse-style options,</span> +<a name="l00115"></a>00115 <span class="stringliteral"> alters a cmd2 method to populate its ``opts`` argument from its</span> +<a name="l00116"></a>00116 <span class="stringliteral"> raw text argument.</span> +<a name="l00117"></a>00117 <span class="stringliteral"></span> +<a name="l00118"></a>00118 <span class="stringliteral"> Example: transform</span> +<a name="l00119"></a>00119 <span class="stringliteral"> def do_something(self, arg):</span> +<a name="l00120"></a>00120 <span class="stringliteral"></span> +<a name="l00121"></a>00121 <span class="stringliteral"> into</span> +<a name="l00122"></a>00122 <span class="stringliteral"> @options([make_option('-q', '--quick', action="store_true",</span> +<a name="l00123"></a>00123 <span class="stringliteral"> help="Makes things fast")],</span> +<a name="l00124"></a>00124 <span class="stringliteral"> "source dest")</span> +<a name="l00125"></a>00125 <span class="stringliteral"> def do_something(self, arg, opts):</span> +<a name="l00126"></a>00126 <span class="stringliteral"> if opts.quick:</span> +<a name="l00127"></a>00127 <span class="stringliteral"> self.fast_button = True</span> +<a name="l00128"></a>00128 <span class="stringliteral"> '''</span> +<a name="l00129"></a>00129 <span class="keywordflow">if</span> <span class="keywordflow">not</span> isinstance(option_list, list): +<a name="l00130"></a>00130 option_list = [option_list] +<a name="l00131"></a>00131 <span class="keywordflow">for</span> opt <span class="keywordflow">in</span> option_list: +<a name="l00132"></a>00132 options_defined.append(pyparsing.Literal(opt.get_opt_string())) +<a name="l00133"></a>00133 <span class="keyword">def </span>option_setup(func): +<a name="l00134"></a>00134 optionParser = <a class="code" href="classcmd2_1_1OptionParser.html">OptionParser</a>() +<a name="l00135"></a>00135 <span class="keywordflow">for</span> opt <span class="keywordflow">in</span> option_list: +<a name="l00136"></a>00136 optionParser.add_option(opt) +<a name="l00137"></a>00137 optionParser.set_usage(<span class="stringliteral">"%s [options] %s"</span> % (func.__name__[3:], arg_desc)) +<a name="l00138"></a>00138 optionParser._func = func +<a name="l00139"></a>00139 <span class="keyword">def </span>new_func(instance, arg): +<a name="l00140"></a>00140 <span class="keywordflow">try</span>: +<a name="l00141"></a>00141 opts, newArgList = optionParser.parse_args(arg.split()) +<a name="l00142"></a>00142 <span class="comment"># Must find the remaining args in the original argument list, but </span> +<a name="l00143"></a>00143 <span class="comment"># mustn't include the command itself</span> +<a name="l00144"></a>00144 <span class="comment">#if hasattr(arg, 'parsed') and newArgList[0] == arg.parsed.command:</span> +<a name="l00145"></a>00145 <span class="comment"># newArgList = newArgList[1:]</span> +<a name="l00146"></a>00146 newArgs = <a class="code" href="namespacecmd2.html#a11d252497d81548f19771cddf0ca68fb">remaining_args</a>(arg, newArgList) +<a name="l00147"></a>00147 <span class="keywordflow">if</span> isinstance(arg, ParsedString): +<a name="l00148"></a>00148 arg = arg.with_args_replaced(newArgs) +<a name="l00149"></a>00149 <span class="keywordflow">else</span>: +<a name="l00150"></a>00150 arg = newArgs +<a name="l00151"></a>00151 <span class="keywordflow">except</span> optparse.OptParseError, e: +<a name="l00152"></a>00152 <span class="keywordflow">print</span> (e) +<a name="l00153"></a>00153 optionParser.print_help() +<a name="l00154"></a>00154 <span class="keywordflow">return</span> +<a name="l00155"></a>00155 <span class="keywordflow">if</span> hasattr(opts, <span class="stringliteral">'_exit'</span>): +<a name="l00156"></a>00156 <span class="keywordflow">return</span> <span class="keywordtype">None</span> +<a name="l00157"></a>00157 result = func(instance, arg, opts) +<a name="l00158"></a>00158 <span class="keywordflow">return</span> result +<a name="l00159"></a>00159 new_func.__doc__ = <span class="stringliteral">'%s\n%s'</span> % (func.__doc__, optionParser.format_help()) +<a name="l00160"></a>00160 <span class="keywordflow">return</span> new_func +<a name="l00161"></a>00161 <span class="keywordflow">return</span> option_setup + +</pre></div> +</div> +</div> +<a class="anchor" id="a11d252497d81548f19771cddf0ca68fb"></a><!-- doxytag: member="cmd2::remaining_args" ref="a11d252497d81548f19771cddf0ca68fb" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def cmd2::remaining_args </td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname"><em>oldArgs</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>newArgList</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<div class="fragment"><pre class="fragment"> +Preserves the spacing originally in the argument after +the removal of options. + +>>> remaining_args('-f bar bar cow', ['bar', 'cow']) +'bar cow' +</pre></div> +<p>Definition at line <a class="el" href="cmd2_8py_source.html#l00086">86</a> of file <a class="el" href="cmd2_8py_source.html">cmd2.py</a>.</p> + +<p>Referenced by <a class="el" href="cmd2_8py_source.html#l00112">options()</a>.</p> +<div class="fragment"><pre class="fragment"><a name="l00086"></a><a class="code" href="namespacecmd2.html#a11d252497d81548f19771cddf0ca68fb">00086</a> +<a name="l00087"></a>00087 <span class="keyword">def </span><a class="code" href="namespacecmd2.html#a11d252497d81548f19771cddf0ca68fb">remaining_args</a>(oldArgs, newArgList): +<a name="l00088"></a>00088 <span class="stringliteral">'''</span> +<a name="l00089"></a>00089 <span class="stringliteral"> Preserves the spacing originally in the argument after</span> +<a name="l00090"></a>00090 <span class="stringliteral"> the removal of options.</span> +<a name="l00091"></a>00091 <span class="stringliteral"> </span> +<a name="l00092"></a>00092 <span class="stringliteral"> >>> remaining_args('-f bar bar cow', ['bar', 'cow'])</span> +<a name="l00093"></a>00093 <span class="stringliteral"> 'bar cow'</span> +<a name="l00094"></a>00094 <span class="stringliteral"> '''</span> +<a name="l00095"></a>00095 pattern = <span class="stringliteral">'\s+'</span>.join(re.escape(a) <span class="keywordflow">for</span> a <span class="keywordflow">in</span> newArgList) + <span class="stringliteral">'\s*$'</span> +<a name="l00096"></a>00096 matchObj = re.search(pattern, oldArgs) +<a name="l00097"></a>00097 <span class="keywordflow">return</span> oldArgs[matchObj.start():] + +</pre></div> +</div> +</div> +<a class="anchor" id="aa5aa0c16a66d0ec0510ac38f3cc00ad3"></a><!-- doxytag: member="cmd2::replace_with_file_contents" ref="aa5aa0c16a66d0ec0510ac38f3cc00ad3" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def cmd2::replace_with_file_contents </td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname"><em>fname</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="cmd2_8py_source.html#l00336">336</a> of file <a class="el" href="cmd2_8py_source.html">cmd2.py</a>.</p> + +<p>References <a class="el" href="cmd2_8py_source.html#l00184">get_paste_buffer()</a>.</p> +<div class="fragment"><pre class="fragment"><a name="l00336"></a><a class="code" href="namespacecmd2.html#aa5aa0c16a66d0ec0510ac38f3cc00ad3">00336</a> +<a name="l00337"></a>00337 <span class="keyword">def </span><a class="code" href="namespacecmd2.html#aa5aa0c16a66d0ec0510ac38f3cc00ad3">replace_with_file_contents</a>(fname): +<a name="l00338"></a>00338 <span class="keywordflow">if</span> fname: +<a name="l00339"></a>00339 <span class="keywordflow">try</span>: +<a name="l00340"></a>00340 result = open(os.path.expanduser(fname[0])).read() +<a name="l00341"></a>00341 <span class="keywordflow">except</span> IOError: +<a name="l00342"></a>00342 result = <span class="stringliteral">'< %s'</span> % fname[0] <span class="comment"># wasn't a file after all</span> +<a name="l00343"></a>00343 <span class="keywordflow">else</span>: +<a name="l00344"></a>00344 result = <a class="code" href="namespacecmd2.html#a9f1495f6c72f7d8c0dbb0f9f22029763">get_paste_buffer</a>() +<a name="l00345"></a>00345 <span class="keywordflow">return</span> result + +</pre></div> +</div> +</div> +<a class="anchor" id="aae88fcdb31e45b322ecdaf7df9922823"></a><!-- doxytag: member="cmd2::stubbornDict" ref="aae88fcdb31e45b322ecdaf7df9922823" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def cmd2::stubbornDict </td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname"><em>arg</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>kwarg</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<div class="fragment"><pre class="fragment"> +>>> sorted(stubbornDict('cow a bovine\\nhorse an equine').items()) +[('cow', 'a bovine'), ('horse', 'an equine')] +>>> sorted(stubbornDict(['badger', 'porcupine a poky creature']).items()) +[('badger', ''), ('porcupine', 'a poky creature')] +>>> sorted(stubbornDict(turtle='has shell', frog='jumpy').items()) +[('frog', 'jumpy'), ('turtle', 'has shell')] +</pre></div> +<p>Definition at line <a class="el" href="cmd2_8py_source.html#l00321">321</a> of file <a class="el" href="cmd2_8py_source.html">cmd2.py</a>.</p> + +<p>Referenced by <a class="el" href="cmd2_8py_source.html#l00291">cmd2::StubbornDict::__add__()</a>, and <a class="el" href="cmd2_8py_source.html#l00295">cmd2::StubbornDict::__radd__()</a>.</p> +<div class="fragment"><pre class="fragment"><a name="l00321"></a><a class="code" href="namespacecmd2.html#aae88fcdb31e45b322ecdaf7df9922823">00321</a> +<a name="l00322"></a>00322 <span class="keyword">def </span><a class="code" href="namespacecmd2.html#aae88fcdb31e45b322ecdaf7df9922823">stubbornDict</a>(*arg, **kwarg): +<a name="l00323"></a>00323 <span class="stringliteral">'''</span> +<a name="l00324"></a>00324 <span class="stringliteral"> >>> sorted(stubbornDict('cow a bovine\\nhorse an equine').items())</span> +<a name="l00325"></a>00325 <span class="stringliteral"> [('cow', 'a bovine'), ('horse', 'an equine')]</span> +<a name="l00326"></a>00326 <span class="stringliteral"> >>> sorted(stubbornDict(['badger', 'porcupine a poky creature']).items())</span> +<a name="l00327"></a>00327 <span class="stringliteral"> [('badger', ''), ('porcupine', 'a poky creature')]</span> +<a name="l00328"></a>00328 <span class="stringliteral"> >>> sorted(stubbornDict(turtle='has shell', frog='jumpy').items())</span> +<a name="l00329"></a>00329 <span class="stringliteral"> [('frog', 'jumpy'), ('turtle', 'has shell')]</span> +<a name="l00330"></a>00330 <span class="stringliteral"> '''</span> +<a name="l00331"></a>00331 result = {} +<a name="l00332"></a>00332 <span class="keywordflow">for</span> a <span class="keywordflow">in</span> arg: +<a name="l00333"></a>00333 result.update(StubbornDict.to_dict(a)) +<a name="l00334"></a>00334 result.update(kwarg) +<a name="l00335"></a>00335 <span class="keywordflow">return</span> <a class="code" href="classcmd2_1_1StubbornDict.html">StubbornDict</a>(result) + +</pre></div> +</div> +</div> +<a class="anchor" id="a514a20ceb8ab40dd89d2df2dd5ff87a0"></a><!-- doxytag: member="cmd2::write_to_paste_buffer" ref="a514a20ceb8ab40dd89d2df2dd5ff87a0" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def <a class="el" href="namespacecmd2.html#a514a20ceb8ab40dd89d2df2dd5ff87a0">cmd2::write_to_paste_buffer</a> </td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname"><em>txt</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="cmd2_8py_source.html#l00192">192</a> of file <a class="el" href="cmd2_8py_source.html">cmd2.py</a>.</p> + +<p>References <a class="el" href="cmd2_8py_source.html#l00200">write_to_paste_buffer</a>.</p> +<div class="fragment"><pre class="fragment"><a name="l00192"></a><a class="code" href="namespacecmd2.html#a514a20ceb8ab40dd89d2df2dd5ff87a0">00192</a> +<a name="l00193"></a>00193 <span class="keyword">def </span><a class="code" href="namespacecmd2.html#a514a20ceb8ab40dd89d2df2dd5ff87a0">write_to_paste_buffer</a>(txt): +<a name="l00194"></a>00194 win32clipboard.OpenClipboard(0) +<a name="l00195"></a>00195 win32clipboard.EmptyClipboard() +<a name="l00196"></a>00196 win32clipboard.SetClipboardText(txt) + win32clipboard.CloseClipboard() +</pre></div> +</div> +</div> +<hr/><h2>Variable Documentation</h2> +<a class="anchor" id="a05ce8a1645f64208f969036f8621ddd2"></a><!-- doxytag: member="cmd2::__version__" ref="a05ce8a1645f64208f969036f8621ddd2" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string <a class="el" href="namespacecmd2.html#a05ce8a1645f64208f969036f8621ddd2">cmd2::__version__</a> = '0.6.4'</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="cmd2_8py_source.html#l00045">45</a> of file <a class="el" href="cmd2_8py_source.html">cmd2.py</a>.</p> + +</div> +</div> +<a class="anchor" id="a3f2a6eb75c58ca830028f18cf2851958"></a><!-- doxytag: member="cmd2::can_clip" ref="a3f2a6eb75c58ca830028f18cf2851958" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="namespacecmd2.html#a3f2a6eb75c58ca830028f18cf2851958">cmd2::can_clip</a> = False</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="cmd2_8py_source.html#l00202">202</a> of file <a class="el" href="cmd2_8py_source.html">cmd2.py</a>.</p> + +</div> +</div> +<a class="anchor" id="afd483925db6ff208624b8e5c0ae09271"></a><!-- doxytag: member="cmd2::options_defined" ref="afd483925db6ff208624b8e5c0ae09271" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">list <a class="el" href="namespacecmd2.html#afd483925db6ff208624b8e5c0ae09271">cmd2::options_defined</a> = []</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="cmd2_8py_source.html#l00110">110</a> of file <a class="el" href="cmd2_8py_source.html">cmd2.py</a>.</p> + +</div> +</div> +<a class="anchor" id="abb901de4eb2987589c68b4d895acd8c3"></a><!-- doxytag: member="cmd2::pastebufferr" ref="abb901de4eb2987589c68b4d895acd8c3" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string <a class="el" href="namespacecmd2.html#abb901de4eb2987589c68b4d895acd8c3">cmd2::pastebufferr</a></td> + </tr> + </table> +</div> +<div class="memdoc"> +<b>Initial value:</b><div class="fragment"><pre class="fragment"><a name="l00001"></a><a class="code" href="namespacecmd2.html">00001</a> <span class="stringliteral">"""Redirecting to or from paste buffer requires %s</span> +<a name="l00002"></a>00002 <span class="stringliteral">to be installed on operating system.</span> +<a name="l00003"></a>00003 <span class="stringliteral">%s"""</span> +</pre></div> +<p>Definition at line <a class="el" href="cmd2_8py_source.html#l00177">177</a> of file <a class="el" href="cmd2_8py_source.html">cmd2.py</a>.</p> + +</div> +</div> +<a class="anchor" id="ab810fc3f05607c1e4311225b04591244"></a><!-- doxytag: member="cmd2::teststring" ref="ab810fc3f05607c1e4311225b04591244" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string <a class="el" href="namespacecmd2.html#ab810fc3f05607c1e4311225b04591244">cmd2::teststring</a> = 'Testing for presence of xclip.'</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="cmd2_8py_source.html#l00227">227</a> of file <a class="el" href="cmd2_8py_source.html">cmd2.py</a>.</p> + +</div> +</div> +<a class="anchor" id="a514a20ceb8ab40dd89d2df2dd5ff87a0"></a><!-- doxytag: member="cmd2::write_to_paste_buffer" ref="a514a20ceb8ab40dd89d2df2dd5ff87a0" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">def <a class="el" href="namespacecmd2.html#a514a20ceb8ab40dd89d2df2dd5ff87a0">cmd2::write_to_paste_buffer</a> = get_paste_buffer</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="cmd2_8py_source.html#l00200">200</a> of file <a class="el" href="cmd2_8py_source.html">cmd2.py</a>.</p> + +<p>Referenced by <a class="el" href="cmd2_8py_source.html#l00830">cmd2::Cmd::restore_output()</a>, and <a class="el" href="cmd2_8py_source.html#l00192">write_to_paste_buffer()</a>.</p> + +</div> +</div> +<a class="anchor" id="ae76e61704924b26b7ddb97fce8c384ef"></a><!-- doxytag: member="cmd2::xclipproc" ref="ae76e61704924b26b7ddb97fce8c384ef" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">tuple <a class="el" href="namespacecmd2.html#ae76e61704924b26b7ddb97fce8c384ef">cmd2::xclipproc</a> = subprocess.Popen('xclip -sel clip', shell=True, stdout=subprocess.PIPE, stdin=subprocess.PIPE)</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="cmd2_8py_source.html#l00228">228</a> of file <a class="el" href="cmd2_8py_source.html">cmd2.py</a>.</p> + +</div> +</div> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="namespacecmd2.html">cmd2</a> </li> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a></div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + + + <li class="footer">Generated on Fri Sep 9 2011 10:50:47 for Cmd2 by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html> |