pyinotify运行命令(通常是测试)的包装器
项目描述
(c) Peter Bengtsson, mail@peterbe.com, 2009-2012 许可证:Python
使用(py)inotify在文件更改时运行命令
在编写带有测试的代码时,每次都切换控制台、箭头向上、Enter、再切换回控制台,真是麻烦。使用gorun.py
可以让你在编辑器中保存文件,测试会自动并立即运行。
gorun.py
不使用缓慢的拉取过程,该过程不断检查文件的修改时间。相反,它使用inotify,这是一个“提供文件系统事件通知的Linux内核子系统”。
安装
这只能在具有内核中启用inotify模块的Linux上工作。(大多数现代内核都这样做)
pip install gorun
这将安装pyinotify。
然后,创建一个设置文件,它只是一个Python文件,预期定义一个名为DIRECTORIES
的变量。以下是一个示例
DIRECTORIES = ( ('some/place/', './myframework test --dir some/place'), ('some/place/unitests.py', './myframework test --dir some/place --testclass Unittests'), ('/var/log/torrentsdownload.log', 'growl downloads --logfile /var/log/torrentsdownload.log'), )
将文件保存为,例如,gorun_settings.py
,然后按照以下方式启动它
$ gorun.py gorun_settings
配置
一旦gorun被设置为监控一个目录,它将启动任何该目录中更改的文件。默认情况下,某些编辑器的自动保存文件(例如,#foo.py# 或 foo.py~)会自动创建,并且会被忽略。如果您想添加其他要gorun忽略的文件扩展名,可以将以下内容添加到您的设置文件中
IGNORE_EXTENSIONS = ('log',)
这将添加到已忽略的文件扩展名列表中,例如 .pyc
。
类似地,如果您不想让inotify注意到某些目录,可以像这样列出它们
IGNORE_DIRECTORIES = ('xapian_index', '.autosavefiles')
免责声明
此代码尚未经过充分测试,依赖于导入 Python 模块,所以请不要让不可信的傻瓜随意摆弄你的开发环境。
待办事项
在进行 Django 开发时,我经常反复运行单个测试方法,直到所有的错误都被消除。在这样做的时候,我必须更改设置,让它只运行一个测试。完成之后,我再将设置改回原样,以便在相邻代码工作正常时运行所有测试。
这很烦人,我可能会在某一天尝试解决这个问题。如果你有任何建议,请告诉我。
项目详情
gorun-1.7.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ea90999d063d1d6e68c4a47c441aa470c8b8c76144e3822279755d0af3acb6ed |
|
MD5 | 18144234827ceea1da91484cc26b9ff4 |
|
BLAKE2b-256 | 8facf4e66d81acd8cb4e96d1ce5588d95e75757b80ffa98a2df986f457eb8001 |