Skip to main content
Help us improve Python packaging – donate today!

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!!!

Release history Release notifications

This version
History Node

0.1.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
cmdstyle-0.1.0.tar.gz (10.2 kB) Copy SHA256 hash SHA256 Source None Nov 9, 2011

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page