Skip to main content

Command line interface framework

Project description

NOTE:

This project is abandoned and unsupported. Use argparse or docopt instead.


cmdstyle

cmdstyle is a library for creating command line interfaces using the command style used by programs like svn or hg.

Example

Sample File:

#! /usr/bin/env python3.2

import sys

import cmdstyle

class HelloCommand(cmdstyle.Command):
    'Print a greeting'

    name = cmdstyle.PosParam()
    shout = cmdstyle.Flag(
        description='Print the greeting in upper case',
        shortname='')
    exclamations = cmdstyle.Option(
        description='The number of exclamation marks used to end the '
                    'greeting',
        default=1)

    def __call__(self):
        #Note that the library does not do validations
        exclamations_int = int(self.exclamations)

        greeting = 'Hello'
        if self.name:
            greeting += ', ' + self.name
        if self.shout:
            greeting = greeting.upper()
        greeting += exclamations_int * '!'

        print(greeting)


class ByeCommand(cmdstyle.Command):
    'Print bye'

    def __call__(self):
        print('Bye!')


program = cmdstyle.Program(
    'sample.py',
    'Sample Program',
    'Just a sample program',
    'http://...')

program.register(HelloCommand())
program.register(ByeCommand())

if __name__ == '__main__':
    program.run(sys.argv)

Sample Being Used:

$ ./sample.py
Use `sample.py help` for usage.


$ ./sample.py help
usage: sample.py <command> [options] [args]

Sample Program
Just a sample program

Available commands:
  bye
  hello

Use `sample.py help <command>` for help on a specific command.
See http://... for additional information.


$ ./sample.py help hello
hello: Print a greeting
usage: hello NAME
Options:

   --shout             Print the greeting in upper case
-e --exclamations ARG  The number of exclamation marks used to end the greeting


$ ./sample.py hello
Hello!


$ ./sample.py hello --shout --exclamations 3
HELLO!!!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cmdstyle-0.1.0.tar.gz (10.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page