← back to AgentAbrams
validate inputs in build_episode and upload_youtube before use
a9f1da9e37599702e9ff2b59801413e479732536 · 2026-05-18 20:13:47 -0700 · SteveStudio2
Files touched
M podcast/build_episode.pyM video/upload_youtube.py
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 →