From 1257a15eb902f31e527a856eaf856471663f9fd5 Mon Sep 17 00:00:00 2001 From: SumGuyV5 Date: Fri, 24 Jul 2026 04:09:12 +0000 Subject: [PATCH] update chmod 755 and addes twitch_download_videos.py --- auth_twitch.py | 0 database.py | 0 find_youtube_tags.py | 0 linux.py | 0 transcribe_video.py | 0 twitch_down_uploader.py | 0 twitch_download_clips.py | 0 twitch_download_videos.py | 49 +++++++++++++++++++++++++++++++++++++++ twitch_download_vod.py | 0 twitch_video_info.py | 1 + uploader.py | 0 vod_clip.py | 0 void_ID.py | 0 youtube_hashtags.py | 0 youtube_short.py | 0 15 files changed, 50 insertions(+) mode change 100644 => 100755 auth_twitch.py mode change 100644 => 100755 database.py mode change 100644 => 100755 find_youtube_tags.py mode change 100644 => 100755 linux.py mode change 100644 => 100755 transcribe_video.py mode change 100644 => 100755 twitch_down_uploader.py mode change 100644 => 100755 twitch_download_clips.py create mode 100755 twitch_download_videos.py mode change 100644 => 100755 twitch_download_vod.py mode change 100644 => 100755 twitch_video_info.py mode change 100644 => 100755 uploader.py mode change 100644 => 100755 vod_clip.py mode change 100644 => 100755 void_ID.py mode change 100644 => 100755 youtube_hashtags.py mode change 100644 => 100755 youtube_short.py diff --git a/auth_twitch.py b/auth_twitch.py old mode 100644 new mode 100755 diff --git a/database.py b/database.py old mode 100644 new mode 100755 diff --git a/find_youtube_tags.py b/find_youtube_tags.py old mode 100644 new mode 100755 diff --git a/linux.py b/linux.py old mode 100644 new mode 100755 diff --git a/transcribe_video.py b/transcribe_video.py old mode 100644 new mode 100755 diff --git a/twitch_down_uploader.py b/twitch_down_uploader.py old mode 100644 new mode 100755 diff --git a/twitch_download_clips.py b/twitch_download_clips.py old mode 100644 new mode 100755 diff --git a/twitch_download_videos.py b/twitch_download_videos.py new file mode 100755 index 0000000..d81d15b --- /dev/null +++ b/twitch_download_videos.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python3 +import requests +import os +import time +import csv + +import linux +from database import Database + +CHANNEL_NAME = 'teampgp' +DB = None + +def write_csv(data, file_name): + # Open file with newline='' to prevent extra blank rows across platforms + with open(file_name, "w", newline="", encoding="utf-8") as file: + writer = csv.writer(file) + + # Write all rows at once + writer.writerows(data) + +def download(): + """Find all undownload videos and download them.""" + undownloaded = DB.get_undownloaded() + + print(f"Download...") + for id, title, created_at, view_count, duration, url, thumbnail_url, game_id, game_name, stream_id, creator_name, clip_is, downloaded, uploaded_yt, uploaded_yt_chats, uploaded_yt_shorts in undownloaded: + data = [[id, title, created_at, view_count, duration, url, thumbnail_url, game_id, game_name, stream_id, creator_name, clip_is, downloaded, uploaded_yt, uploaded_yt_chats, uploaded_yt_shorts]] + print(f"ID: {id} | Date: {created_at} | Game: {game_name} | Title: {title}") + if not clip_is: + output = linux.run_command(f"TwitchDownloaderCLI videodownload --id {id} -o download/videos/{id}/{id}.mp4 --collision Overwrite") + output2 = linux.run_command(f"TwitchDownloaderCLI chatdownload --id {id} -o download/videos/{id}/{id}_chat.json -E --collision Overwrite") + write_csv(data, f"download/videos/{id}/{id}.csv") + elif clip_is: + output = linux.run_command(f"TwitchDownloaderCLI clipdownload --id {id} -o download/clips/{id}/{id}.mp4 --collision Overwrite") + write_csv(data, f"download/clips/{id}/{id}.csv") + + time.sleep(1) + + if output["success"] is True: + print(f"ID: {id} | Date: {created_at} | Game: {game_name} | Title: {title} | was successful") + #DB.mark_as_downloaded(id) + else: + print(f"ID: {id} | Download Process failed. {output["stdout"]}. Error: {output["stderr"]}") + + print(f"Finished Downloading...") + +if __name__ == "__main__": + DB = Database() + download() \ No newline at end of file diff --git a/twitch_download_vod.py b/twitch_download_vod.py old mode 100644 new mode 100755 diff --git a/twitch_video_info.py b/twitch_video_info.py old mode 100644 new mode 100755 index d7533db..7ca297d --- a/twitch_video_info.py +++ b/twitch_video_info.py @@ -1,3 +1,4 @@ +#!/usr/bin/env python3 import asyncio import json import httpx # Switched from requests to prevent async loop freezing diff --git a/uploader.py b/uploader.py old mode 100644 new mode 100755 diff --git a/vod_clip.py b/vod_clip.py old mode 100644 new mode 100755 diff --git a/void_ID.py b/void_ID.py old mode 100644 new mode 100755 diff --git a/youtube_hashtags.py b/youtube_hashtags.py old mode 100644 new mode 100755 diff --git a/youtube_short.py b/youtube_short.py old mode 100644 new mode 100755