Initial import of transcript pipeline
This commit is contained in:
Executable
+59
@@ -0,0 +1,59 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_DIR="${PROJECT_DIR:-$SCRIPT_DIR}"
|
||||
TARGET_DIR="$HOME/Library/LaunchAgents"
|
||||
PLIST_NAME="com.maddin.whisper-transcript-pipeline.plist"
|
||||
TARGET_PLIST="$TARGET_DIR/$PLIST_NAME"
|
||||
DOMAIN="gui/$(id -u)"
|
||||
LABEL="com.maddin.whisper-transcript-pipeline"
|
||||
PYTHON_BIN="${PYTHON_BIN:-$(command -v python3 || true)}"
|
||||
|
||||
if [[ -z "$PYTHON_BIN" ]]; then
|
||||
echo "python3 not found in PATH" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "$TARGET_DIR"
|
||||
|
||||
cat >"$TARGET_PLIST" <<EOF
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Label</key>
|
||||
<string>$LABEL</string>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>$PYTHON_BIN</string>
|
||||
<string>$PROJECT_DIR/transcript_pipeline.py</string>
|
||||
<string>watch</string>
|
||||
</array>
|
||||
<key>WorkingDirectory</key>
|
||||
<string>$PROJECT_DIR</string>
|
||||
<key>RunAtLoad</key>
|
||||
<true/>
|
||||
<key>KeepAlive</key>
|
||||
<true/>
|
||||
<key>EnvironmentVariables</key>
|
||||
<dict>
|
||||
<key>PATH</key>
|
||||
<string>$HOME/bin:$HOME/.local/bin:/usr/local/bin:/opt/homebrew/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
|
||||
<key>PYTHONUNBUFFERED</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
<key>StandardOutPath</key>
|
||||
<string>$PROJECT_DIR/launchd.stdout.log</string>
|
||||
<key>StandardErrorPath</key>
|
||||
<string>$PROJECT_DIR/launchd.stderr.log</string>
|
||||
</dict>
|
||||
</plist>
|
||||
EOF
|
||||
|
||||
launchctl bootout "$DOMAIN" "$TARGET_PLIST" >/dev/null 2>&1 || true
|
||||
launchctl bootstrap "$DOMAIN" "$TARGET_PLIST"
|
||||
launchctl enable "$DOMAIN/$LABEL"
|
||||
launchctl kickstart -k "$DOMAIN/$LABEL"
|
||||
|
||||
echo "Installed and started $LABEL"
|
||||
Reference in New Issue
Block a user