跳转到主要内容

用于创建脚本运行器的简单实用工具

项目描述

概述

clue_script用于定义子命令,特别关注Web风格的程序。该功能灵感来源于Django的manage.py脚本。

需求

  • Python 2.6或2.7(未在Python 3.x上测试)

runserver支持(可选)

  • Paste

  • argparse (如果部署在Python < 2.7)

用法

一个简单的示例,添加一个打印“hello world”的命令

from clue_script import command, Commander

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

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

要执行更复杂的命令,可以使用类似于Python 2.7的argparse(也在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()

提供的命令

目前有两个提供的命令工厂。

  1. make_reloadable_server_command (有关runserver的详细说明,请参阅上面的注释)

  2. make_syncdb_command

一个典型的Web应用可以使用这些命令如下

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()

在没有参数的情况下运行脚本将产生类似以下内容

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

致谢

  • 由Rocky Burt <rocky AT serverzen DOT com> 开发和维护

变更

0.3.1 (Jul-27-2011)

  • 修复了print_usage()被错误调用的愚蠢错误

0.3 (Jul-10-2011)

  • 添加了rfoo支持,用于启动与正在运行的服务器连接的shell http://code.google.com/p/rfoo/

  • 改进了命令用法的格式化

  • 删除了大部分无用的make_syncdb命令

  • 使Commander.commands更易于访问

0.2.4 (Mar-3-2011)

  • 修复了当代码更改时,非重新加载部分会关闭应用程序的问题

0.2.3 (Feb-20-2011)

  • Khufu-Script重命名为clue_script

0.2.2 (Feb-16-2011)

  • 更新项目URL

0.2.1 (2011年1月26日)

  • 修复scan()方法以返回指挥实例

0.2 (2011年1月3日)

  • 首次发布

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。

源分发

clue_script-0.3.1.tar.gz (7.5 kB 查看哈希值)

上传时间

由以下支持