[object Object]

← back to AgentAbrams

validate inputs in build_episode and upload_youtube before use

a9f1da9e37599702e9ff2b59801413e479732536 · 2026-05-18 20:13:47 -0700 · SteveStudio2

Files touched

Diff

commit a9f1da9e37599702e9ff2b59801413e479732536
Author: SteveStudio2 <steve@designerwallcoverings.com>
Date:   Mon May 18 20:13:47 2026 -0700

    validate inputs in build_episode and upload_youtube before use
---
 podcast/build_episode.py |  3 +++
 video/upload_youtube.py  | 11 ++++++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/podcast/build_episode.py b/podcast/build_episode.py
index 471402e..9bae738 100755
--- a/podcast/build_episode.py
+++ b/podcast/build_episode.py
@@ -45,6 +45,9 @@ def main():
     if len(sys.argv) < 2:
         print("Usage: build_episode.py <post.md> [developer_name]", file=sys.stderr)
         sys.exit(2)
+    if not Path(sys.argv[1]).is_file():
+        print(f"File not found: {sys.argv[1]}", file=sys.stderr)
+        sys.exit(2)
 
     developer = sys.argv[2] if len(sys.argv) > 2 else "Agent Abrams"
     build(sys.argv[1], developer)
diff --git a/video/upload_youtube.py b/video/upload_youtube.py
index 970ac63..50fe9e4 100755
--- a/video/upload_youtube.py
+++ b/video/upload_youtube.py
@@ -24,6 +24,12 @@ SCOPES = ["https://www.googleapis.com/auth/youtube.upload"]
 
 
 def get_youtube_service():
+    required = ["YOUTUBE_REFRESH_TOKEN", "YOUTUBE_CLIENT_ID", "YOUTUBE_CLIENT_SECRET"]
+    missing = [k for k in required if not os.environ.get(k)]
+    if missing:
+        print(f"ERROR: missing environment variables: {', '.join(missing)}", file=sys.stderr)
+        sys.exit(1)
+
     creds = Credentials(
         token=None,
         refresh_token=os.environ["YOUTUBE_REFRESH_TOKEN"],
@@ -70,7 +76,10 @@ def upload_video(video_path, title, description, privacy="public"):
 
 def main():
     if len(sys.argv) < 4:
-        print("Usage: upload_youtube.py <video_file> <title> <description>")
+        print("Usage: upload_youtube.py <video_file> <title> <description>", file=sys.stderr)
+        sys.exit(2)
+    if not os.path.isfile(sys.argv[1]):
+        print(f"Video file not found: {sys.argv[1]}", file=sys.stderr)
         sys.exit(2)
 
     upload_video(sys.argv[1], sys.argv[2], sys.argv[3])

← a3d24c5 add missing-file checks to media pipeline entrypoints  ·  back to AgentAbrams  ·  drop dead f-string prefix in engine banner 4b0637b →