On 2011-01-11 21:41:24 -0800, Michele Simionato said:

Originally plac too was able to recognize flags automatically by looking at the default value (if the default value is a boolean then the option is a flag); however I removed that functionality because I wanted to be able to differentiate between flag and (smart) options (see http://micheles.googlecode.com/hg/plac/doc/plac.html#scripts-with-options-and-smart-options).

Not

entirely sure what you mean by 'smart' options. If your'e referring to using a single hyphen and a list of characters to represent a long option (which, to the rest of the world, use two leading hyphens) then that's pretty weird. ;)

Consider most of the GNU tools:

        ls -lvh
        tar -xzvf file.tgz (goes so far as to make the leading hyphen optional!)
        less -ceF logfile
        bc -qw
        ps -aux (same as tar)

And even third-party tools:

        mysql -fH
        pg_dump -abO ...

One major system in the world that doesn't really differentiate between long and short options is... DOS, and by extension, Windows. But they also use / as a switch character.

Anyway; I'm happy with what I have wrought (and am continuing to update with support for class-based sub-command dispatch) and will be utilizing it for all scripts in the Marrow suite. To each their own, but reinvention itself can be for motivations other than NIH. I wanted something pure-Python, portable across the 3k barrier without code modification (no 2to3), that didn't use optparse, getopt, or argparse and basically be a translation layer. It can be simpler than that, as marrow.script demonstrates.

        - Alice.


--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to