脚本

OffShoot 在构建时考虑了可扩展性。在 OffShoot 中的特定事件上触发您的自定义脚本,您可以运行自定义流程、其他应用程序或将 OffShoot 集成到现有工作流程中。

此功能需要 OffShoot Pro 许可证。

入门指南

OffShoot在macOS上的脚本功能只接受AppleScript。当然,可以通过使用中间脚本来运行用其他语言编写的脚本。

在Windows上?请查看在Windows上进行脚本编写

警告

脚本是一个强大的工具。易学但易出错。始终使用可丢弃的数据测试脚本,然后再次测试。再次测试。

OffShoot 不提供对示例或任何其他脚本问题的支持或承担责任。

如果您对脚本编写不熟悉,请找人帮助您,或使用此处提供的示例脚本。请记住:您将独自负责。

OffShoot定义了 7 个事件

每个事件都有其自己的一组唯一参数,您可以使用这些参数。为了能够使用参数,您必须首先在脚本顶部声明它:

set theFolder to "{FileCopyCompleted_destinationPath}"

想要检查你是否正确声明了参数吗?首先以三种方式之一返回该值:

  • return theFolder 输出到事件日志
  • display alert "theFolder = " & theFolder
  • display notification with title "theFolder =" subtitle theFolder

当你从这个网站或其他来源下载脚本时,请解压缩 zip 文件。然后打开 OffShoot ,进入“首选项” > “脚本”,选择你想要添加脚本的事件。点击“浏览...”按钮,找到你的脚本。从现在开始,每当这个事件发生时,OffShoot 都会尝试运行这个脚本。

如果由于某种原因,脚本不再存在于原始位置,OffShoot 将不会对此发出警告。
image

在Windows上进行脚本编写

AppleScript 在 Windows 上不可行,但 Python 可以。

在 Hedge 22.2.5 或更早版本上?通过注册表键添加一个键和脚本路径的值来设置脚本:

Computer\HKEY_CURRENT_USER\Software\Hedge

Key Value
EventScriptDiskAdded 脚本文件的路径
EventScriptDiskRemoved 脚本文件的路径
EventScriptDiskBusy 脚本文件的路径
EventScriptDiskIdle 脚本文件的路径
EventScriptAllDisksIdle 脚本文件的路径
EventScriptFileCopyCompleted 脚本文件的路径
EventScriptCheckpointIssue 脚本文件的路径
当你的脚本没有被触发时,请检查 hedge.log 文件以获取线索。最常见的问题是找不到Python解释器:
ERROR Utilities.Python.PythonHelper - Required PyLauncher for running python scripts was not found in the registry at location 'HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Python\PyLauncher'

示例 python 脚本

import json
import argparse

# 获取参数
parser = argparse.ArgumentParser()
parser.add_argument("jsonString", nargs='?', default="This script should be used with OffShoot, see: https://docs.hedge.video/hedge/features/automation/scripts")
args = parser.parse_args()

# 转换Window路径的 \\ 为 / 
jsonString = str(args.jsonString.replace("\\\\", "/")) 
# 转换Window路径的 \ 为 / 
jsonString = jsonString.replace("\\", "/")

logFilePath = "C:\\temp\\log.txt"
f = open(logFilePath, "w")
f.write(jsonString)
f.close()

# 初始化 JSON 对象以进行一些有趣的操作
jsonObject = json.loads(jsonString)

你必须知道的

  • 时间戳显示为 YYYYMMDDHHMMSS 格式。
  • 持续时间以秒为单位,精确到 6 位数。
  • 大小以字节为单位。要将字节转换为GB,请除以 1024^3。
  • 脚本事件记录在 OffShoot 的 事件日志 中。