禁欲主义的指挥者。使用自定义管理命令为python应用程序供电的最简单方法

acmdrunner的Python项目详细描述


禁欲主义指挥者

Travis CI statusCoveralls status

不是所有的项目都在使用django或另一个god框架。 所以,一旦我们开始我们的爱好项目,将是伟大的投入到游戏的一些命令。 例如,我们的爱好项目可能需要加载自定义testrunner的简单命令测试等 在这种情况下,这个包裹也许对你很方便!

安装

只需在bash中运行:

pip install acmdrunner

用法

在类似manage.py的django命令加载程序中,需要触发以下命令:

importosfromacmdrunnerimportLoader...makeallyourpreparations,initializeprojectsettings,etc...Loader.load_from_directory(os.path.dirname(__file__))Loader.load_from_package('rit.app')

加载程序将在传递的文件夹中递归搜索具有名称管理的文件夹。 并尝试从找到的文件夹加载acr_commands.py文件

acr_commands.py文件的示例:

fromacmdrunner.dispatcherimportCommandDispatchercommand_dispatcher=CommandDispatcher()defexecute(*args):passcommand_dispatcher.register_command('test',execute)

register_command为此命令注册特定的命令和处理程序。 您的命令应该实现execute方法。最好从basecommand继承。 但由于它是禁欲主义的,您可以简单地通过类来实现execute方法。 就这样!

要运行命令,请触发以下调用:

fromyour_package_placeimportcommand_dispatchercommand_dispatcher.execute_command(command_name,*args,**kwargs)

实际使用示例

如果要从特定命名空间加载所有命令,可以实现以下功能:

packages_to_traverse=('rit.app','rit.core')forpackageinpackages_to_traverse:Loader.load_from_package(package[0])Loader.load_from_directory(os.path.dirname(os.getcwd()))

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么整数构造函数方法不再需要属性?   java单函数从广播接收器检索数据   Java类中的Scala设置器和获取器   JAVA MVC表选择的行ID和mysql db ID不同   java在Multimaps Guava中获取值   jakarta ee Intellij IDEA Java类在保存时不自动编译   java在另一个Spring实体中使用Spring实体   JTwitter库的安卓类一直在给我java。朗朗:温特韦尔。杰特维特。啁啾   java停止启动应用程序   java Jersey测试NoSuchMethodError   java如何处理合成元素上的注释   java崩溃shell无法通过ssh连接   java计算两个日期之间的天数后(取自edittext)如何在新的edittext中显示天数