<br><br><div class="gmail_quote">On Wed, Jul 25, 2012 at 10:40 AM, David Quigley <span dir="ltr">&lt;<a href="mailto:dpquigl@davequigley.com" target="_blank">dpquigl@davequigley.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

I&#39;m working on implementing a magic that multiplexes its behavior based<br>
on the first token of the line after the magic. An example of a tool<br>
which would do something like this is semanage or ip which based on the<br>
second token ( port, login, fcontext, etc...) Behaves differently. I&#39;m<br>
doing it this way because these commands really belong to the same<br>
component and are generic enough in name that they will appear again.<br>
For example I want to have server start, server stop, server status be<br>
magic commands. Is there functionality to do this already in the magics<br>
subsystem? I looked at the parse_options code in Magics and it doesn&#39;t<br>
seem to handle that kind of usecase (although I&#39;d be glad to be proven<br>
wrong). Alternatively I&#39;ve used argparse in the past with subparsers to<br>
do just that. argparse.ArgumentParser can have subparsers added to it to<br>
then process arguments based on the second token in the line. Is there<br>
anything incorrect about using an option parser that isn&#39;t<br>
Magics.parse_options?</blockquote><div><br></div><div>There&#39;s definitely nothing wrong with using your own parsing if you have a reason to - the magic API is that you get a line (or line and cell), and you do something with that.  No further restrictions.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> Is there an already existing way to do this? I&#39;m<br>
using the rel-0.13 tag from git but can use -dev if necessary.<br></blockquote><div><br></div><div>I don&#39;t *think* we have any library code to make subcommands easier, so I think you are probably on the right path using ArgumentParser with subparsers.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Dave<br>
_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
</blockquote></div><br>