Skip to main content

Overview

clue_script is used for defining subcommands with a special focus on web-style apps. The functionality is inspired by the Django manage.py script.

Requirements

  • Python 2.6 or 2.7 (not tested with Python 3.x)

runserver support (optional)

  • Paste

  • argparse (if deploying on Python < 2.7)

Usage

A simple example to add a command that prints “hello world”:

from clue_script import command, Commander

@command
def helloworld():
    print 'hello world'

if __name__ == '__main__':
    Commander.scan(globals()).run()

To do a more complicated command you can use something similar to Python 2.7’s argparse (also available on 2.6).

import argparse
from clue_script import command, Commander

@command
def foo(*argv):
    parser = argparse.ArgumentParser()
    parser.add_argument('-x', help='simple test',
                        default='yes', metavar='x')
    ns = parser.parse_args(argv)
    # do something

if __name__ == '__main__':
    Commander.scan(globals()).run()

Provided Commands

There are currently two provided command factories.

  1. make_reloadable_server_command (see above note about requirements for runserver)

  2. make_syncdb_command

A typical web app could use these commands as follows:

if __name__ == '__main__':
    def createtables(session):
        models.Base.metadata.create_all(session.bind)

    settings = init_settings()
    commander = script.Commander([script.make_reloadable_server_command(make_app),
                                  script.make_syncdb_command(settings['spitter.db_session_factory'],
                                                             createtables)])
    commander.scan(globals())
    commander.run()

Running the script with no args will yield something similar to:

Commands:
    runserver     Run a reloadable development web server.
    syncdb        Update the database.

Credits

  • Developed and maintained by Rocky Burt <rocky AT serverzen DOT com>

Changes

0.3.1 (Jul-27-2011)

  • Fixed silly bug where print_usage() was being called wrong

0.3 (Jul-10-2011)

  • Added rfoo support for launching a shell to connect with live-running server http://code.google.com/p/rfoo/

  • Improved formatting of command usage

  • Removed mostly useless make_syncdb command

  • Made Commander.commands a little more exposed

0.2.4 (Mar-3-2011)

  • Fixed problem where the non-reloader portion would shut down the app if code was changed

0.2.3 (Feb-20-2011)

  • Renamed from Khufu-Script to clue_script

0.2.2 (Feb-16-2011)

  • Updated project urls

0.2.1 (Jan-26-2011)

  • Fixed scan() method to return commander instance

0.2 (Jan-3-2011)

  • first release

Download files

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

Source Distribution

clue_script-0.3.1.tar.gz (7.5 kB view details)

Uploaded Source

File details

Details for the file clue_script-0.3.1.tar.gz.

File metadata

  • Download URL: clue_script-0.3.1.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for clue_script-0.3.1.tar.gz
Algorithm Hash digest
SHA256 6cf32c97e18b9347428a9fb825baa63fe99d63f7fcd335d346d49ff66ef97e54
MD5 a5b09c456ceddbab47c0f1a19f673b38
BLAKE2b-256 ba1e9f9bf0d3f0f2b70f8817a4240fd5fdcc567dee3b956768a15a0620cc59a7

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3.1 This release

1 file

0.3

1 file

0.2.4

1 file

0.2.3

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page