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.
make_reloadable_server_command (see above note about requirements for runserver)
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
Release files for clue_script 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| clue_script-0.3.1.tar.gz | 7.5 kB | Details |
Release files / clue_script-0.3.1.tar.gz
| Download URL | clue_script-0.3.1.tar.gz |
|---|---|
| Size | 7.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6cf32c97e18b9347428a9fb825baa63fe99d63f7fcd335d346d49ff66ef97e54
|
|
BLAKE2b-256 checksum How to use checksums |
ba1e9f9bf0d3f0f2b70f8817a4240fd5fdcc567dee3b956768a15a0620cc59a7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |