跳转到主要内容

一个用于监视文件并在它们更改时运行shell命令的命令行工具。

项目描述

Latest PyPI version

Spotter是一个简单的命令行工具,用于监视文件并在它们更改时运行shell命令。指令从文本文件中读取,如果没有给出文件名,Spotter将在当前目录中查找名为.spotter的文件。

用法

spotter [-h] [-v] [-q] [-c] [filename [filename ...]]
位置参数
  • filename:包含要加载的指令的文件列表,默认为[".spotter"]

可选参数
  • -h--help:解释命令行选项。

  • -v--version:显示当前版本号。

  • -q--quiet:命令的输出不会打印,除非它们失败。

  • -c--continue:失败的命令不会停止Spotter继续执行。

Spotter也可以作为Python模块运行

python -m spotter ...

指令

所有指令都以下列形式存在

<directive>: <argument> [-> <second argument>]

并非所有指令都接受第二个参数,但所有指令都接受第一个参数。

监视

watch: <pattern> -> <command>

监视指令接受两个参数:<pattern>是Unix风格的文件名模式,而<command>是在匹配该模式的文件创建或更改时运行的shell命令。有关模式匹配的更多信息,请参阅fnmatch库文档

watch: *.txt -> echo "Text file changed"

可以指定多个监视指令,监视器将继续运行匹配的监视指令,直到其中一个失败(即返回大于0的退出码)或者运行到一个匹配的watch-final指令。

watch: * -> return 1
watch: * -> echo "This command will not run"

可以使用命令行参数--continue来禁用此行为,强制监视器即使在某个指令失败的情况下也要继续处理监视。

Watch-Final

watch-final: <pattern> -> <command>

Watch-Final指令与Watch指令具有完全相同的语法和行为。与Watch指令不同,如果模式匹配且运行了命令,则不会进一步处理监视。

watch-final: *.txt -> echo "No commands will run after this"

启动/停止

start: <command>
stop: <command>

可以使用start和stop指令在监视器开始运行和停止运行时运行命令。

start: echo "Started watching files"
stop: echo "Stopped watching files"

定义

define: <name> -> <value>

Define指令允许存储值,然后在运行其他指令时包含这些值。filename在监视命令中总是可用的,包含匹配模式的文件的路径。定义通过Python格式规范包含在命令中,并在运行命令时插入,而不是在加载命令时。

define: python_command -> python2.6

watch: *.py -> {python_command} "{filename}"

项目详情


下载文件

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

源分发

spotter-1.7.1.tar.gz (5.4 kB 查看哈希)

上传时间

构建分发

spotter-1.7.1-py2.py3-none-any.whl (8.7 kB 查看哈希)

上传时间 Python 2 Python 3

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面