From b2e1e0a1405e02de2ca29044c9c8c010f5ef8c85 Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Sat, 21 Oct 2023 00:12:11 +1000 Subject: [PATCH 01/77] forced fielddiag to Top --- funcs.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/funcs.py b/funcs.py index 3c3f523..06ddbf4 100644 --- a/funcs.py +++ b/funcs.py @@ -153,8 +153,9 @@ def openFile(): """ # print("Open File From:... \n") root = tk.Tk() + root.wm_attributes('-topmost', 1) root.withdraw() - filep = filedialog.askopenfilename(defaultextension=".*", + filep = filedialog.askopenfilename(parent=root, defaultextension=".*", filetypes=[ ("All files", ".*"), ("MP4 files", ".mp4"), @@ -184,8 +185,9 @@ def saveFile(): """ print("Save File To:... \n") root = tk.Tk() + root.wm_attributes('-topmost', 1) root.withdraw() - filep = filedialog.asksaveasfilename(defaultextension=".mp4", + filep = filedialog.asksaveasfilename(parent=root, defaultextension=".mp4", filetypes=[ ("MP4 files",".mp4"), ("MOV files",".mov"), From 4c410079915b37412760ee5e0b3b68edd9fb05bb Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Sat, 16 Dec 2023 17:17:54 +1000 Subject: [PATCH 02/77] Fresh branch? --- # TODO.md | 69 + .gitignore | 10 +- .vscode/settings.json | 39 + Main.py | 211 --- ffmpegExtract.py | 104 -- funcs.py | 608 ------- init_files.py | 73 - mux_vid.py | 92 - newDownloadTool-exclaidraw.excalidraw | 2118 ++++++++++++++++++++++ new_mass_gql/Readme.md | 3 + new_mass_gql/__init__.py | 0 new_mass_gql/check_new_streams.py | 181 ++ new_mass_gql/get_vods_sizes_m3u8.py | 123 ++ new_mass_gql/gql_main_call.py | 249 +++ new_mass_gql/swap_old_data.py | 79 + new_mass_gql/tk_get_file_list.py | 643 +++++++ requirements.txt | 14 +- spinner.py | 66 + startup.py | 119 ++ utility_dir/__init__.py | 0 utility_dir/get_single_vod_.py | 91 + utility_dir/util_functions.py | 245 +++ utils/__init__.py | 0 utils/video_data_cross_checker.py | 247 +++ zextra_Funcs_/Chapters Aysinc working.py | 99 + zextra_Funcs_/Original_gql_file.py | 278 +++ zextra_Funcs_/Testcode.py | 184 ++ zextra_Funcs_/getChaptersCall.py | 16 + zextra_Funcs_/just a test.py | 24 + zextra_Funcs_/pops_index_of_spesified.py | 39 + zextra_Funcs_/read_dld_file_length.py | 10 + zextra_Funcs_/replace_0index_in_json.py | 52 + zextra_Funcs_/requests tests.py | 113 ++ zextra_Funcs_/tessettt.py | 150 ++ 34 files changed, 5254 insertions(+), 1095 deletions(-) create mode 100644 # TODO.md create mode 100644 .vscode/settings.json create mode 100644 newDownloadTool-exclaidraw.excalidraw create mode 100644 new_mass_gql/Readme.md create mode 100644 new_mass_gql/__init__.py create mode 100644 new_mass_gql/check_new_streams.py create mode 100644 new_mass_gql/get_vods_sizes_m3u8.py create mode 100644 new_mass_gql/gql_main_call.py create mode 100644 new_mass_gql/swap_old_data.py create mode 100644 new_mass_gql/tk_get_file_list.py create mode 100644 spinner.py create mode 100644 startup.py create mode 100644 utility_dir/__init__.py create mode 100644 utility_dir/get_single_vod_.py create mode 100644 utility_dir/util_functions.py create mode 100644 utils/__init__.py create mode 100644 utils/video_data_cross_checker.py create mode 100644 zextra_Funcs_/Chapters Aysinc working.py create mode 100644 zextra_Funcs_/Original_gql_file.py create mode 100644 zextra_Funcs_/Testcode.py create mode 100644 zextra_Funcs_/getChaptersCall.py create mode 100644 zextra_Funcs_/just a test.py create mode 100644 zextra_Funcs_/pops_index_of_spesified.py create mode 100644 zextra_Funcs_/read_dld_file_length.py create mode 100644 zextra_Funcs_/replace_0index_in_json.py create mode 100644 zextra_Funcs_/requests tests.py create mode 100644 zextra_Funcs_/tessettt.py diff --git a/# TODO.md b/# TODO.md new file mode 100644 index 0000000..d00fc14 --- /dev/null +++ b/# TODO.md @@ -0,0 +1,69 @@ +TODO +[x] have default call (Main) get stream name?? + +[x] at the end of check for new vods run threading to compare +Status (set recoding to Recorded) + maybe do something with recording are u sure you want to download in (main.py)/and or make invisible?? + +[x] have settings snapshot sys?/mass check installed apps eg if running terminal or old cmd to be able to do more advamced gui stuff???? + +[x] incorp size of vods into main/ on call from file + +[x] ?change not_downloaded to downloaded? in class + +[x] be able to select multiple from file/ [lists] download multiple (threading or cueing) + +[x] ask a Q if download from file about being RECORDING wether to proceed downloading. + +[x] why does check for new vods Print all the vods? not just new seems to be ALL one the check call [in a double line info then url] +prints 0 new vods anyway?. + +[x] put somewhere prob check for new vods return the ['status'] eg RECORDING. to knwo if still LIVE + +[x] [Done](startup.py#L52) be able to call shutdown also with file data, edit startup cmd + +[x] [solved made my own](spinner.py): have a waiting indication on (particular req calls) something not spinners as they seem to not work on old cmd + +[x] [Done But may break TK list](utility_dir\get_single_vod_.py#L46) make a way to back out of get vods if chosen wrong file. (probs add a exit string/if to the multi choice) + +[x] [done](zextra_Funcs_/check_old_files_downloaded.py#L136)figure a way to determine if fully downloaded and set to downloaded in file Name+ Total seconds ?? + +[x] be able to manually set if downloaded maybe with TKPopup????? + +[x] [done](zextra_Funcs_\check_old_files_downloaded.py) + +[TODO] make chapters in vods? using code > [Code](zextra_Funcs_/getChaptersCall.py) < will require a large rewrite, games will be +in a list object and everywhere called will have to unpack, then also do u give option to set where to DL from?? + +[TODO] set main download completions crosscheck + + +[] set ffprobe paths to be from paths file + +[] maybe rework tkinter to be packs instead of grids somehow as is laggy + + + +[] make able to get from file and dld from a time cmd and have it calc the right size minus'ing time-- think i have code somewhere + +[] [Working](zextra_Funcs_/check_old_files_downloaded.py#L136): make it so u can check if downloaded incase a new json file is made/ overwritten + + +THINK in the check new stream -- what to do for deleted /hidden vods on channels? + +[] make the setup init settings better, maybe into 1 call like if key in settings then call the whole settings thins +more robust dependency searching and downloading (if deleted between settinggs Checks) + +[TODO] make a combine segments (vids) ffmpeg via lists meth +THINK make check file be able to execute as standalone?? (need to make file dest dynamic apon single call) +TRACK have it error when refreshing json vods file and non streamer name + + +THINK do i ad multi File processing? mp4 wav etc + +customTKinter GUI?? +do i make Combine streams Aud/Vid +make WEBP converter? New File? +make separate download/main thats can get lives and restart if dropouts maybe scheduled maybe seek notos? +Somehow incorporate auto download from noto? +Win Alert notos? diff --git a/.gitignore b/.gitignore index 18335f1..6eb5617 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,11 @@ /versionfile.txt/ file_extentions/ hall.ico -.vscode -Testcode.py \ No newline at end of file +#.vscode +CTK_test.py +__pycache__ +utility_dir\__pycache__ +\jsons +new_mass_gql/jsons - Shortcut.lnk +new_mass_gql/jsons_symlink +debugging diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c1a3aef --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,39 @@ +{ + "cSpell.words": [ + "Calabri", + "Calibri", + "dlmssg", + "dload", + "errc", + "errh", + "errt", + "ffmpegpath", + "ffpeg", + "ffprobe", + "ffprobepath", + "fieldbackground", + "fprobe", + "funcs", + "gamename", + "highlightcolor", + "highlightthickness", + "jsons", + "mssg", + "Muxed", + "Muxing", + "newfolder", + "nokey", + "noprint", + "outname", + "padx", + "pady", + "Remux", + "rowspan", + "sourcery", + "titlename", + "Usettings", + "vods", + "Vods" + ] + +} \ No newline at end of file diff --git a/Main.py b/Main.py index b07a4f9..e69de29 100644 --- a/Main.py +++ b/Main.py @@ -1,211 +0,0 @@ -import os -import re -import signal -import subprocess -import sys -import threading -import time -import webbrowser -import winsound -from ast import arg -from datetime import datetime -from queue import Queue -from urllib.parse import urlparse - -from pyperclip import copy, paste - -import auth_skip_ads_ -import funcs -import init_files -import mux_vid as cpvs - - -def main_script(download_with_Shutdown=None): - - sd_type = None - if download_with_Shutdown: - sd_type = funcs.multi_choice_dialog('Manual shutdown Time or Shutdown after Completion', ['Auto', 'Manual']) - if sd_type == 'Manual': - funcs.manual_shutdown_timer() - - # Retrieves Last item in Clipboard(ctrl v). - url_ = paste().replace("?filter=archives&sort=time","") - urlchk = funcs.is_url(url_) - - t1 = threading.Thread(target=funcs.is_url, args=(url_,)) - t1.start() - - # Checking Settings.json is available and recently checked. - try: - check_settings = funcs.loadSettings(keys=['LastSave', 'streamlinkPath']) - except FileNotFoundError as e: - init_files.initSettings() - main_script() - - is_a_fresh_save = [funcs.is_less_than_30days(check_settings[0])] # type: ignore possible unbound - is_a_fresh_save.extend(check_settings[1:2]) # type: ignore possible unbound - if not all(is_a_fresh_save): - funcs.streamlink_factory_init(["Main", "main_script"]) - os.system('cls') - main_script() - slinkDir = os.path.dirname(check_settings[1]) # type: ignore possible unbound - - - message = ("Clipboard is NOT a URL, Copy URL Again......") - while not urlchk: - print(f"ERROR: ( {url_}) Is NOT a Url.\n") - choices = ["Done", "Exit", "Manual Input URL"] - rs2 = funcs.multi_choice_dialog(message, choices) - if rs2 == "Done": - os.system('cls' if os.name == 'nt' else 'clear') - main_script() - elif rs2 == "Manual Input URL": - url_ = input("Type or paste (Must Include http://www.) " - "URL HERE: ").replace("?filter=archives&sort=time","") - urlchk = funcs.is_url(url_) - if urlchk == True: - print(url_) - break - main_script() - elif rs2 == "Exit": - sys.exit () - - - # [] Untested fix to sub only Vods Res Check. - # As not subbed to any sub only vod streamers. - def get_vid_resolutions(slinkDir, url_, queue, auth_String=''): - try: - rw_stream = subprocess.Popen(fr'cd "{slinkDir}" && streamlink "{url_}" {auth_String}', - shell=True, stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - universal_newlines=True - ) - stdout, stderr = rw_stream.communicate() - - if stderr: - print("\nError: Likely a Sub Only Vod\n\n", ) - auth = auth_skip_ads_.auth_twitch_string() - get_vid_resolutions(slinkDir, url_, queue, auth) # type: ignore - else: - rw_stream.wait() - out_pt, _ = rw_stream.communicate() - result = re.sub(r"[^\w\s]", "", out_pt).split()[10:] - queue.put(result) - except Exception as e: - print('OSE Error:') - - - # Checks if a Twitch URL. - twitch_netloc = ["www.twitch.tv", "usher.ttvnw.net"] - result = urlparse(url_)[1] - is_it_a_twitch_url = False - if result in twitch_netloc: - is_it_a_twitch_url = True - - # Start of Getting get_vid_resolutions threading. - q = Queue() - result = threading.Thread(target=get_vid_resolutions, args=(slinkDir, url_, q)) - result.start() - - file_path = funcs.saveFile() - - # Naming the Terminal. - terminal_Naming = os.path.basename(file_path) - os.system(f"title {terminal_Naming}") - - # Return of get_vid_resolutions threading. - result.join() - result = q.get() - - my_choices = list(reversed(result)) - siz_rtn2 = funcs.multi_choice_dialog("What Size to Download?", my_choices) - - - # if not twitch netloc uses default, if twitch asks advanced Options. - default_download_string = (fr'streamlink "{url_}" {siz_rtn2} ' - f'--stream-segment-threads 5 -o "{file_path}"' - ) - if not is_it_a_twitch_url: - download_string = default_download_string - else: - dload_via = funcs.multi_choice_dialog('Streamlink Twitch Flags Download:' - 'Standard, Advanced(No Ads, Auth Token)' - '', ['Standard', 'Advanced'] - ) - if dload_via == 'Advanced': - skip_ads_rtrn = auth_skip_ads_.skip_ads() - download_string = (fr'streamlink {skip_ads_rtrn} "{url_}" {siz_rtn2}' - f' --stream-segment-threads 5 -o "{file_path}"' - ) - elif dload_via == 'Standard': - download_string = default_download_string - - - print("\nQuality Chosen: ", siz_rtn2, "\n") - print("CTRL + C to CANCEL Download early if necessary\n") - - - # Main Download Process - process = subprocess.Popen(download_string, shell=True, universal_newlines=True, cwd=slinkDir) - - - # Define a signal handler for SIGINT using a lambda function - # changing ctrl+c to kill the subprocess instead of the terminal. - handle_sigint = lambda signal, frame: funcs.kill_process(process) - - # Register the signal handler for SIGINT - signal.signal(signal.SIGINT, handle_sigint) - - # Start a thread to wait for the subprocess to complete - thread_popen = threading.Thread(target=funcs.wait_for_subprocess, args=(process,)) - - thread_popen.start() - # Wait for the thread to finish - thread_popen.join() - - # Reset the signal handler for SIGINT to its default behavior (kill terminal) - signal.signal(signal.SIGINT, signal.SIG_DFL) - - - if download_with_Shutdown: - if sd_type == 'Auto': - savepath = os.path.dirname(file_path) - with open(f'{savepath}/downloadCompleteTime.txt', 'w') as f: - f.write(datetime.now().strftime(f"{terminal_Naming}\nCompleted at:---- %H:%M:%S ----\n")) - cpvs.mux(file_path) - os.system("shutdown -s -t 200") - else: - print("\nCompletion Time:", datetime.now().strftime( - f"{terminal_Naming}\nCompleted at:---- %H:%M:%S ----\n") - ) - - # Plays Sound at this point. - winsound.PlaySound(sound='C:\\Windows\\Media\\Windows Proximity Notification.wav' - , flags=winsound.SND_FILENAME) - - print("\nBecause of how Video is downloaded (Chunks) sometimes" - " Re-Muxing is needed for smooth playback." - " \n(Re-Mux)Make a Copy of this file?:\n ") - - # sends the file(name) to be mux'd via mux_vid.py - convert = funcs.multi_choice_dialog("Convert?", ["yes", "no"]) - print(file_path) - if convert == "yes": - cpvs.mux(file_path) - print("\nDone!!") - else: - funcs.open_directory_Force_front(file_path) - - - print("\nRe Run Program? if Yes you need to copy the next URL" - " in the clipboard before answering this:\n" - ) - exit = funcs.multi_choice_dialog("Run Again or Exit?", ["Run Again", "EXIT"]) - if exit == "Run Again": - funcs.main_start() - else: - sys.exit () - - -if __name__ == "__main__": - funcs.main_start() \ No newline at end of file diff --git a/ffmpegExtract.py b/ffmpegExtract.py index a328f78..e69de29 100644 --- a/ffmpegExtract.py +++ b/ffmpegExtract.py @@ -1,104 +0,0 @@ -import os -import subprocess - -from numpy import append - -import funcs -import init_files -from extraction_factory import VideoBlueprint - - -def ffmpegextract(): - #FIXIT if file is NOT muxed it returns [ALL 0 0 Exit] channels - try: - check_settings = funcs.loadSettings(['LastSave', 'ffprobepath', 'ffmpegpath']) - except FileNotFoundError as e: - init_files.initSettings() - ffmpegextract() - fresh_save = [funcs.is_less_than_30days(check_settings[0])] - fresh_save.extend(check_settings[1:3]) - - if not all(fresh_save): - funcs.ffprobe_factory_init(["ffmpegExtract", "ffmpegextract"]) - funcs.ffmpeg_factory_init(["ffmpegExtract", "ffmpegextract"]) - os.system('cls') - ffmpegextract() - ffmpeg_dir = os.path.dirname(check_settings[2]) - probe_dir = os.path.dirname(check_settings[1]) - - filename = funcs.file_path_get() - if not (any(filename.endswith(media_type) - for media_type in funcs.video_file_types)): - print("\nNot a Valid File type to Extract Streams From Try again.") - ffmpegextract() - - file_type = funcs.video_file_exetension_return(filename) - - mxChann = [] - opus = "" - try: - chanReturn = funcs.audio_channel_get_info(probe_dir, filename) - result = chanReturn[1:] - mxChann = [x for t in result for x in t] - opus = chanReturn[0] - except subprocess.CalledProcessError as ce: - os.system('cls') - ffmpegextract() - channels_list = ["All"] + mxChann + ["Exit"] - - # Inputs questions - message = "Which audio channels would you like to extract?" - Channel_answers = funcs.multi_choice_dialog(message, channels_list, "int", "channels") - selected_channels = Channel_answers["channels"] - - if selected_channels == "Exit": - os.system("cls") - funcs.main_start() - - message = "Do you want to extract the video stream?" - video_answers = funcs.multi_choice_dialog(message, ["Yes", "No"], "int") - copy_video = video_answers["Key"] - - # creates adjacent Dir - name = os.path.splitext(os.path.basename(filename))[0] - outname = os.path.join(os.path.dirname(filename), - f"{name} audio streams", name) - os.makedirs(os.path.dirname(outname), exist_ok=True) - - num_channels = int(mxChann[-1]) - - ###########factory Here<<<<<<<<< - vid_initializer = VideoBlueprint( - filename=filename, - output_name=outname, - copy_video_answer=copy_video, - selected_channel=selected_channels, - total_num_channels=num_channels, - input_audio_codec_type=opus, - video_file_type=file_type, - export_codec=".aac", #non implemented choice export codec - ) - - - if opus == "opus": - command = vid_initializer.opus_factory() - elif copy_video == "Yes": - command = vid_initializer.video_extraction() - else: - command = vid_initializer.non_video_extraction() - - try: - extct = subprocess.Popen(command, shell=True, universal_newlines=True, - cwd=ffmpeg_dir) - extct.wait() - os.startfile(os.path.dirname(fr'{outname}')) - except subprocess.CalledProcessError as ce: - ffmpegextract() - except Exception: - print("Extracting Failed") - - - funcs.main_start() - -if __name__ == "__main__": - ffmpegextract() diff --git a/funcs.py b/funcs.py index 06ddbf4..e69de29 100644 --- a/funcs.py +++ b/funcs.py @@ -1,608 +0,0 @@ -import json -import os -import subprocess -import sys -import threading -import time -import tkinter as tk -import winsound -import zipfile -from datetime import datetime, timedelta -from tkinter import filedialog -from urllib.parse import urlparse - -import inquirer -import psutil -import requests -from pyperclip import copy, paste -from send2trash import send2trash -from tqdm import tqdm - -import auth_skip_ads_ -import init_files -from default_path_factory import DefaultPathFactory - -video_file_types = [".mp4", ".mov", ".mkv", ".ts"] - -def main_start(): - os.system("title Stream Downloader Util") - - t1 = threading.Thread(target=auth_skip_ads_.auth_file_check) - t1.start() - t2 = threading.Thread(target=init_files.init_links_file) - t2.start() - - init_files.version_check() - - - rprog = multi_choice_dialog("Download, Re-Mux(Copy), Extract Streams or " - "Download with PC Shutdown Command Once Finished" - , ["Download", "Remux", "Extract", "Download-Shutdown", "Exit"]) - - if rprog == "Download": - from Main import main_script - main_script() - elif rprog == "Remux": - from mux_vid import mux - mux(ran_as_main=True) - elif rprog == "Extract": - from ffmpegExtract import ffmpegextract - ffmpegextract() - elif rprog == "Download-Shutdown": - from Main import main_script - main_script(True) - else: - exit() - - -def make_new_dir_from_input(input_file_path:str , new_dir_name_arg: str)-> str: - '''Makes a directory from the input file path - inline with input_file_path''' - file_path_2 = os.path.dirname(input_file_path) - new_folder_combine_path = os.path.join(file_path_2, new_dir_name_arg) - - if not os.path.exists(new_folder_combine_path): - os.makedirs(new_folder_combine_path) - return os.path.join(new_folder_combine_path) - - -def video_file_exetension_return(filename: str) -> str: - '''Returns the .extension if in video_file_types - otherwise returns empty string''' - for file_type in video_file_types: - if filename.endswith(file_type): - print(file_type) - return file_type - return "" - - -def shorten_path_name(file_path: str): - """shortens Filepaths for viewing/printing - - Args: - file_path (str): - Returns: - - str: _shorter_filepath_ - """ - dir_name = os.path.dirname(file_path) - base_name = os.path.basename(file_path) - dir_parts = dir_name.split(os.sep) - if len(dir_parts) > 2: - short_dir = f"{dir_parts[0]}{os.sep}...{os.sep}{dir_parts[-1]}" - else: - short_dir = dir_name - return os.path.join(short_dir, base_name) - - -def is_url(variable): - """Checks if str is URL""" - try: - result = urlparse(variable) - return all([result.scheme, result.netloc]) - except ValueError: - return False - - -def has_ffmpeg_dir(stream_lnk_Path): - store_path = os.path.join(os.path.dirname(stream_lnk_Path), "ffmpeg") - return os.path.isdir(store_path) - - -def multi_choice_dialog(mssg: str, choice_s: list, - return_options="str", keys_name="Key" - ): - """ - Args: - mssg (str): questions mssg - choice_s (list): choices - return_options (str, optional): if u want a string returned or dict. - keys_name (str, optional): name of "Key" in dict. - - Returns: - Str or Dict - """ - questions = [ - inquirer.List( - keys_name, - message=mssg, - choices=choice_s, - ), - ] - answer = inquirer.prompt(questions) - if answer is not None: - if return_options == "str": - return "".join([str(value) for value in answer.values()]) - return answer - - -def open_directory_Force_front(full_dir_path: str): - root = tk.Tk() - root.withdraw() - path = os.path.dirname(full_dir_path) - os.startfile(os.path.realpath(path)) - root.destroy() - - -def openFile(): - """Opens File dialog box - Returns: - str: - - loops if canceled - """ - # print("Open File From:... \n") - root = tk.Tk() - root.wm_attributes('-topmost', 1) - root.withdraw() - filep = filedialog.askopenfilename(parent=root, defaultextension=".*", - filetypes=[ - ("All files", ".*"), - ("MP4 files", ".mp4"), - ("MOV files", ".mov"), - ("EXE files", ".exe"), - ]) - root.destroy() - file = os.path.normpath(filep) - if not filep: #closes Program if No Save path is Entered - check = multi_choice_dialog("Canceled Open File: Try again?", - ["yes", "no", "exit"]) - if check == "yes": - os.system("cls" if os.name == "nt" else "clear") - openFile() - elif check == "no": - os.system("cls" if os.name == "nt" else "clear") - main_start() - sys.exit() - return file - - -def saveFile(): - """Opens: Save File Explorer - - Returns: - Save Path - """ - print("Save File To:... \n") - root = tk.Tk() - root.wm_attributes('-topmost', 1) - root.withdraw() - filep = filedialog.asksaveasfilename(parent=root, defaultextension=".mp4", - filetypes=[ - ("MP4 files",".mp4"), - ("MOV files",".mov"), - ("MKV files",".mkv"), - ("MP3 files",".mp3"), - ("All files",".*"), - ]) - root.destroy() - file = os.path.normpath(filep) - if not filep: #closes Program if No Save path is Entered - check = multi_choice_dialog("Canceled Save Path: Try again?", - ["yes", "no", "exit"]) - if check == "yes": - os.system("cls" if os.name == "nt" else "clear") - saveFile() - elif check == "no": - os.system("cls" if os.name == "nt" else "clear") - main_start() - sys.exit () - return (file) - - -def program_Path_Details(program_name): - """Gets Program file path, but only if its in "the Path". - """ - try: - where = subprocess.check_output(["where", program_name]) - version = subprocess.check_output([program_name, "--version"]) - return where.decode("utf-8").split(), version.decode("utf-8").strip() - except FileNotFoundError: - return None - - -def download_url(url: str, dloadFilePath: str, dlmssg: str = ""): - # sourcery skip: extract-method - """Downloads the url to dloadFilepath using Requests - - Args: - url (str): URLdownload link - - dloadFilePath (str): Download Path - - dlmssg (str, optional): Transparency mssg whats - happening. Defaults to "". - """ - if os.path.exists(dloadFilePath): - return dloadFilePath - try: - response = requests.get(url, stream=True) - total_size = int(response.headers.get("content-length", 0)) - block_size = 1024 - - print(dlmssg) - with open(file=dloadFilePath, mode="wb") as f: - for data in tqdm(response.iter_content(chunk_size=block_size), - total=total_size//block_size, unit="KB"): - - f.write(data) - return True - except requests.exceptions.HTTPError as errh: - print(f"HTTP Error: {errh}") - return False - except requests.exceptions.ConnectionError as errc: - print(f"Error Connecting: {errc}") - return False - except requests.exceptions.Timeout as errt: - print(f"Timeout Error: {errt}") - return False - except requests.exceptions.RequestException as err: - print(f"Something went wrong. Error: {err}") - return False - - -def unzip_file_from_path(zip_file_path, - outputDir, - specific_filename_to_extract: str = "", - mssg = "" - ): - """Unzips files or specific File into outputDir, - - moves Old .zip to Bin if both exist. - - Args: - dloadFilePath (str): C:\\example\\file.type - - outputDir (str): C:\\OutPutFolder\\ - - specificFile (str, optional): fileType.exe Defaults to " ". - - mssg (str, optional): Trash mssg Defaults to "". - """ - if not os.path.isfile(f"{outputDir}\\{specific_filename_to_extract}"): - try: - zip_file = zip_file_path - print(zip_file) - output_dir = outputDir - with zipfile.ZipFile(file=zip_file, mode="r") as zf: - if specific_filename_to_extract: - zf.extract(specific_filename_to_extract, output_dir) - zf.extractall(output_dir) - print(f"\nSuccessful Extraction To {output_dir}") - except Exception: - print(f"\n\nERROR: Could not extract {zip_file_path} \n") - fldr = zip_file_path.replace(specific_filename_to_extract,"") - return os.startfile(fldr) - if (os.path.isfile(zip_file_path) - and os.path.isfile(f"{outputDir}\\{specific_filename_to_extract}") - ): - send_to_trash(zip_file_path) - return True - return True - - -def send_to_trash(filename): - send2trash(filename) - if not os.path.isfile(filename): - print(f"sent {filename} to recycler") - winsound.PlaySound(sound="C:\\Windows\\Media\\Recycle.wav", - flags=winsound.SND_FILENAME) - return True - return False - - -def file_search(extensionNam: str): - """ - - Args: - exeName ('Example.exe'): - - Returns: - _type_: str - """ - appDataSubDirs = ["Local", "LocalLow", "Roaming"] - directories = (["C:\\ffmpeg\\", "C:\\Program Files", "C:\\Program Files (x86)"] - + [os.path.expanduser(f"~\\AppData\\{subDir}") - for subDir in appDataSubDirs] - ) - found = False - exePth = "" - for directory in directories: - if found: - return str(exePth) - - for root, dirs, files in os.walk(directory): - if extensionNam in files: - exePth = (os.path.join(root, extensionNam)) - found = True - break - return None - - -def audio_channel_get_info(fprobeDir, filename): - '''-> Codec type at pos[0], channels at pos[1]''' - if not fprobeDir: - print(f'\nCould Not Find "{fprobeDir}" on your Computer\n') - while True: - try: - audChannels = int(input(f'Couldn"t Auto retrieve Maximum' - 'number of Audio Channels, How Many ' - 'Channels does {filename} have?:')) - channels_list = [] - for i in range(1, audChannels+1): - channels_list.append(i) - return channels_list - except ValueError: - print("Please enter a numerical value(int) EG: 3.") - else: - command = (f"ffprobe -v error -show_entries stream=index" - fr' -select_streams a -of csv=p=0 "{filename}"') - opusCmd = (f"ffprobe -v error -select_streams a:0 -show_entries " - "stream=codec_name -of " - fr'default=noprint_wrappers=1:nokey=1 "{filename}"') - output = (subprocess.check_output(f'{opusCmd} && {command}', shell=True, cwd=fprobeDir) - .decode("utf-8").strip()) - codec_type = output.split() - codec = (codec_type[0]) - channels = (codec_type[1:]) - return codec, channels - - -def file_path_get(passed_input_path: str = paste()): - """Defaults to paste() if no Args specified, - if input is not a file opens finder window and - converts to norm path - - returns normal path. - """ - norm_file_path = os.path.normpath(passed_input_path) - if not os.path.isfile(norm_file_path): - return os.path.normpath(openFile()) - return norm_file_path - - - -def saveSettings(key = None, value = None): - """To save new Settings Must Pass via Args - Args: - key (str, optional=No Change): - - value (all, optional=No Change): - """ - appdata_path = os.getenv("LOCALAPPDATA") - - settings_file = os.path.join(str(appdata_path), - "Stream-Downloader-Util", "SDUsettings.json") - - with open(file=settings_file, mode="r") as f: - settings = json.load(f) - - if key is not None and value is not None: - settings[key] = value - LastSave = datetime.now().strftime("%d/%m/%Y %H:%M:%S") - settings["LastSave"] = LastSave - - with open(file=settings_file, mode="w") as f: - json.dump(settings, f, indent=4) - - -def loadSettings(keys: list[str])-> list[str]: - """iF Known pass in via Args the Key - you want to know the Value of to call - Keys must be in a "string" - - '[LastSave]' = last save date - """ - if keys is None: - keys = [] - - # Get the path to the local AppData folder. - appdata_path = os.getenv("LOCALAPPDATA") - - # Define the path to the settings file - settings_file = os.path.join(str(appdata_path), - "Stream-Downloader-Util", "SDUsettings.json") - answers = [] - for key in keys: - # Load settings from the file - with open(settings_file, "r") as f: - settings = json.load(f) - # Return the value associated with the key if a key is provided - answer = settings.get(key, None) if key is not None else settings - answers.append(answer) - - return answers - - -def is_less_than_30days(datetime1st): - """Must pass 1 (Past) Date Time in as STR - %d/%m/%Y %H:%M:%S - - True=<30d - False=>30d""" - datetimeNow = datetime.now().strftime("%d/%m/%Y %H:%M:%S") - datetime1 = datetime.strptime(datetimeNow, "%d/%m/%Y %H:%M:%S") - datetime2 = datetime.strptime(datetime1st, "%d/%m/%Y %H:%M:%S") - - # Calculate the difference between the two dates - difference = abs(datetime2 - datetime1) - - # Check if the difference is greater than 30 days - return difference < timedelta(days=30) - - -def kill_process(process): - try: - parent = psutil.Process(process.pid) - for child in parent.children(recursive=True): - child.kill() - parent.kill() - print("Subprocess killed") - except psutil.NoSuchProcess as e: - print("Subprocess already closed") - - -def wait_for_subprocess(process): - process.wait() - # Run some code after the subprocess has completed - - -def get_download_links(keys: list[str]): - appdata_path = os.getenv("LOCALAPPDATA") - links_file = os.path.join(str(appdata_path), - "Stream-Downloader-Util", "download_links.txt") - answers = [] - for key in keys: - with open(links_file, "r") as f: - settings = json.load(f) - answer = settings.get(key, None) if key is not None else settings - # answers.append(answer) - return answer - -def ffprobepath_download_an_unzip(): - """calls dldURL() and Unzip() with all info inside""" - - url = get_download_links(["FFPROBE_Link"]) - last_segment = url.split('/')[-1] - - dloadFilePath = os.path.join(os.path.expanduser("~\\Desktop"), - f"{last_segment}") - - dlmssg = ("\n---------------Downloading ffprobe from OFFICIAL FFMPEG " - "link (45mb - 110mb Extracted) " - " LINK >>> https://ffbinaries.com/downloads <<<" - f"---------------\n ----------------to {dloadFilePath} " - "and will auto extract to C:\\ffmpeg\\ ------------------\n") - - save_Dir = "C:\\ffmpeg\\" - spefFile = "ffprobe.exe" - zipmssg = "\nSent .zip to Recycle Bin (no longer required)\n" - - dld = download_url(url, dloadFilePath, dlmssg) - zp = unzip_file_from_path(dloadFilePath, "C:\\ffmpeg\\", spefFile, mssg=zipmssg) - if dld and zp ==True: - Fprobe_Path = ("C:\\ffmpeg\\ffprobe.exe") - saveSettings("ffprobepath", Fprobe_Path) - return Fprobe_Path - - return f"{save_Dir}ffmpeg.exe" - - -def ffmpegpath_download_an_unzip(): - """calls dldURL() and Unzip() with all info inside""" - - urlmpg = get_download_links(["FFMPEG_Link"]) - last_segment = urlmpg.split('/')[-1] - - dloadFilePath = os.path.join(os.path.expanduser("~\\Desktop"), - f"{last_segment}") - - dlmssg = ("\n---------------Downloading ffmpeg from OFFICIAL FFMPEG " - "link (45mb - 110mb Extracted) LINK >>> " - "https://ffbinaries.com/downloads <<<---------------\n " - f"----------------to {dloadFilePath} " - "and will auto extract to C:\\ffmpeg\\ ------------------\n") - save_Dir = "C:\\ffmpeg\\" - spefFile = "ffmpeg.exe" - zipmssg = "\nSent .zip to Recycle Bin (no longer required)\n" - - dld = download_url(urlmpg, dloadFilePath, dlmssg) - zp = unzip_file_from_path(dloadFilePath, save_Dir, spefFile, zipmssg) - if dld and zp ==True: - ffm_Path = ("C:\\ffmpeg\\ffmpeg.exe") #only needs the dir to cmd into - saveSettings("ffmpegpath", ffm_Path) - return ffm_Path - - return f"{save_Dir}ffmpeg.exe" - - -def ffmpeg_factory_init(callback_info: list[str]): - '''callback_info is module then the parent function from calling - ["Main", "main_script"]''' - - default_ffPath = ("C:\\Program Files\\Streamlink\\ffmpeg\\ffmpeg.exe") - saveTo1 = "ffmpegpath" - exename = "ffmpeg.exe" - - init_factory = DefaultPathFactory(default_Path=default_ffPath, - settings_save_Key=saveTo1, - extension_name_Lookup=exename, - parent_func_Callback=callback_info - ) - return init_factory.set_default_path() - - -def ffprobe_factory_init(callback_info: list[str]): - '''callback_info is module then the parent function from calling - ["Main", "main_script"]''' - - default_ffprobePath = ("C:\\ffmpeg\\ffprbe.exe") - saveTo = "ffprobepath" - exename = "ffprobe.exe" - - init_factory = DefaultPathFactory(default_Path=default_ffprobePath, - settings_save_Key=saveTo, - extension_name_Lookup=exename, - parent_func_Callback=callback_info - ) - return init_factory.set_default_path() - - -def streamlink_factory_init(callback_info: list[str]): - '''callback_info is module then the parent function from calling - ["Main", "main_script"]''' - - default_slinkPath = ("C:\\Program Files\\Streamlink\\bin\\streamlink.exe") - saveTo = "streamlinkPath" - exename = "streamlink.exe" - - init_factory = DefaultPathFactory(default_Path=default_slinkPath, - settings_save_Key=saveTo, - extension_name_Lookup=exename, - parent_func_Callback=callback_info - ) - return init_factory.set_default_path() - - -def manual_shutdown_timer(): - time = input("\nEnter the time until shutdown in the format '1h &/or 45m'" - " (EG: 1h, 1h 45m or 45m)\nTo cancel " - "the shutdown command if nessecary\nOpen a " - "Windows Command Prompt Or Shell\nand type " - "[shutdown -a] without Brackets [] then enter to Cancel: ") - - time = time.split() - - hours = 0 - minutes = 0 - - for t in time: - if 'h' in t: - hours = int(t.replace('h', '')) - elif 'm' in t: - minutes = int(t.replace('m', '')) - - seconds = (hours * 3600) + (minutes * 60) - os.system(f"shutdown -s -t {seconds}") - print(f"Shutdown in {seconds} seconds") - diff --git a/init_files.py b/init_files.py index c1a5b81..e69de29 100644 --- a/init_files.py +++ b/init_files.py @@ -1,73 +0,0 @@ -import json -import os -import shutil -from datetime import datetime, timedelta - -import funcs - -version_number = 3.2 - -def initSettings(): - appdata_path = os.getenv("LOCALAPPDATA") - - settings_file = os.path.join(str(appdata_path), - "Stream-Downloader-Util", "SDUsettings.json") - - # Check if the settings file already exists - if not os.path.exists(settings_file): - os.makedirs(os.path.dirname(settings_file), exist_ok=True) - - LastSave = datetime.now().strftime("%d/%m/%Y %H:%M:%S") - - settings = { - "Twitch_snippet_for_auth": 'document.cookie.split("; ").find(item=>item.startsWith("auth-token="))?.split("=")[1]', - "SDLI_Version": version_number, - "Initialize": True, - "LastSave": LastSave, - } - with open(settings_file, "w") as f: - json.dump(settings, f, indent=4) - - -def init_links_file(): - appdata_path = os.getenv("LOCALAPPDATA") - links_file = os.path.join(str(appdata_path), - "Stream-Downloader-Util", "download_links.txt") - - # Check if the settings file already exists - if not os.path.exists(links_file): - os.makedirs(os.path.dirname(links_file), exist_ok=True) - - Links = { - "_comment": "If this File is Updated in Github you can update it without needing to download a new version of the App.", - "_comment2": "Just replace this file with the updated one in Github. File Location C_Users_USERNAME_AppData_Local_Stream_Downloader-Util_download_Links.txt", - "_comment3": "https://github.com/NSMY/Stream-Downloader-Util", - "_Version": "1.0", - "FFMPEG_Link": "https://github.com/ffbinaries/ffbinaries-prebuilt/releases/download/v4.4.1/ffmpeg-4.4.1-win-64.zip", - "FFPROBE_Link": "https://github.com/ffbinaries/ffbinaries-prebuilt/releases/download/v4.4.1/ffprobe-4.4.1-win-64.zip", - "STREAMLINK_Link": "https://github.com/streamlink/windows-builds/releases/latest" - } - with open(links_file, "w") as f: - json.dump(Links, f, indent=4) - - -def version_check(): - appdata_path = os.getenv("LOCALAPPDATA") - settings_dir = os.path.join(str(appdata_path), - "Stream-Downloader-Util") - - try: - funcs.loadSettings(["SDLI_Version"]) - except FileNotFoundError as e: - initSettings() - init_links_file() - - try: - if funcs.loadSettings(["SDLI_Version"]) != [version_number]: - print('Settings Files Deleted, Outdated Version') - shutil.rmtree(settings_dir) - # funcs.send_to_trash(settings_dir) - funcs.main_start() - except PermissionError as f: - # print("Permission error") - funcs.main_start() \ No newline at end of file diff --git a/mux_vid.py b/mux_vid.py index 83be7ef..e69de29 100644 --- a/mux_vid.py +++ b/mux_vid.py @@ -1,92 +0,0 @@ -import os -import subprocess -import winsound -from sys import exit - -from pyperclip import copy, paste -from send2trash import send2trash - -import funcs -import init_files - -# TODO webm? - - -def mux(file_path_inpt=paste(), ran_as_main: bool=False): - try: - check_settings = funcs.loadSettings(['LastSave', 'ffmpegpath']) - except FileNotFoundError as e: - init_files.initSettings() - mux() - - fresh_save = [funcs.is_less_than_30days(check_settings[0])] - fresh_save.extend(check_settings[1:2]) - if not all(fresh_save): - funcs.ffmpeg_factory_init(["mux_vid", "mux"]) - os.system("cls") - mux() - ffpg = os.path.dirname(check_settings[1]) - - file_path = funcs.file_path_get(file_path_inpt) - if not (any(file_path.endswith(media_type) - for media_type in funcs.video_file_types) or file_path == '.'): - print('\nNot a Valid File type to Remux, Try again.') - os.system("cls") - mux() - if file_path == '.': - os.system("cls") - - new_file_path = funcs.make_new_dir_from_input(file_path, 'FFMPEG__re-Muxed') - old_file_name = os.path.basename(file_path) - new_file_path = os.path.join(new_file_path, old_file_name) - print(old_file_name) - - - # checks if file exists if so. - # send file to trash if Overwritten is chosen. - if os.path.isfile(new_file_path): - exists = funcs.multi_choice_dialog('File already Exists, Overwrite or ' - 'Rename', ['Overwrite', 'Rename'] - ) - if exists == 'Overwrite': - send2trash(rf'{new_file_path}') - elif exists == 'Rename': - new_file_path = funcs.saveFile() - - # opens cmd and uses ffmpeg to re-Mux - process2 = subprocess.Popen( - f'ffmpeg -i "{file_path}" -c copy ' f'"{new_file_path}"', - shell=True, - universal_newlines=True, - cwd=ffpg, - ) - process2.wait() - - winsound.PlaySound('C:\\Windows\\Media\\Chimes.wav', winsound.SND_FILENAME) - - # sends Un-Muxed File to trash ONLY if both old/new exist. - view_fp = funcs.shorten_path_name(file_path) - view_nfp = funcs.shorten_path_name(new_file_path) - - if os.path.isfile(new_file_path) and os.path.isfile(file_path): - try: - send2trash(rf'{file_path}') - except Exception: - print(f'Error... with {view_fp} \n or {view_nfp}' - '\nTried to move {view_fp} \nto trash\n') - else: - if not os.path.isfile(f'{file_path}'): - winsound.PlaySound( - 'C:\\Windows\\Media\\Recycle.wav', - winsound.SND_FILENAME - ) - print(f'\nMoved: {view_fp} \nto Trash...' - f'\nSaved in to: {view_nfp}\nRe-Muxed..\n') - - funcs.open_directory_Force_front(new_file_path) - - if ran_as_main == True: - funcs.main_start() - -if __name__ == '__main__': - mux() diff --git a/newDownloadTool-exclaidraw.excalidraw b/newDownloadTool-exclaidraw.excalidraw new file mode 100644 index 0000000..66897d3 --- /dev/null +++ b/newDownloadTool-exclaidraw.excalidraw @@ -0,0 +1,2118 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "type": "arrow", + "version": 540, + "versionNonce": 665958812, + "isDeleted": false, + "id": "kyPGWIK76r88PY5EhxZ7K", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 70, + "angle": 0, + "x": 898, + "y": 626.9527272727273, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffec99", + "width": 258, + "height": 700.0104832490294, + "seed": 344733339, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1697596952872, + "link": null, + "locked": false, + "startBinding": { + "elementId": "hGmwIQz-a7svP0GPSAx-C", + "focus": -1.247830791098288, + "gap": 18 + }, + "endBinding": { + "elementId": "VAHmHAHAkt4RCez-0E02v", + "focus": -0.12971700709996647, + "gap": 14.999999275200892 + }, + "lastCommittedPoint": null, + "startArrowhead": "dot", + "endArrowhead": "dot", + "points": [ + [ + 0, + 0 + ], + [ + -18, + 153.04727272727268 + ], + [ + -218, + 73.04727272727268 + ], + [ + -258, + -326.9527272727273 + ], + [ + -236.4638551503391, + -546.9632105217568 + ] + ] + }, + { + "type": "arrow", + "version": 805, + "versionNonce": 1097495291, + "isDeleted": false, + "id": "ADkfAo7I_Pg2nTFZcIf0L", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 800, + "y": 360, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 98, + "height": 1.7391562323609833e-7, + "seed": 1846294123, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1697406730478, + "link": null, + "locked": false, + "startBinding": { + "elementId": "a_qkz1RazoNj4x4GHYcuH", + "focus": 0.20000000141971935, + "gap": 1 + }, + "endBinding": { + "elementId": "BI63yxluwgDrCofAXLFGq", + "focus": -0.1999999943211225, + "gap": 2 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 98, + -1.7391562323609833e-7 + ] + ] + }, + { + "type": "rectangle", + "version": 166, + "versionNonce": 921079349, + "isDeleted": false, + "id": "a_qkz1RazoNj4x4GHYcuH", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 700, + "y": 300, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 100, + "height": 100, + "seed": 1558318091, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "uoNzqTArrCTIQOTPPts0u" + }, + { + "id": "ADkfAo7I_Pg2nTFZcIf0L", + "type": "arrow" + }, + { + "id": "yvjerw-gINE5xz59qkrrU", + "type": "arrow" + }, + { + "id": "jApY3ioJZBzv2dnmL5one", + "type": "arrow" + }, + { + "id": "FPNboEUhgNWbnRojpjQv9", + "type": "arrow" + } + ], + "updated": 1697406730478, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 154, + "versionNonce": 567675381, + "isDeleted": false, + "id": "uoNzqTArrCTIQOTPPts0u", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 715.75, + "y": 331.6, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 68.5, + "height": 36.8, + "seed": 2143963845, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1697406901133, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 2, + "text": "get list of \nstreams", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "a_qkz1RazoNj4x4GHYcuH", + "originalText": "get list of streams", + "lineHeight": 1.15, + "baseline": 33 + }, + { + "type": "rectangle", + "version": 196, + "versionNonce": 935395221, + "isDeleted": false, + "id": "BI63yxluwgDrCofAXLFGq", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 900, + "y": 300, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 100, + "height": 100, + "seed": 1524724837, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "GAUFU837V4r0IfkgUF4RU" + }, + { + "id": "ADkfAo7I_Pg2nTFZcIf0L", + "type": "arrow" + }, + { + "id": "STbHiOsSnRcgmasc2zAtb", + "type": "arrow" + } + ], + "updated": 1697406730478, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 200, + "versionNonce": 161075381, + "isDeleted": false, + "id": "GAUFU837V4r0IfkgUF4RU", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 918.875, + "y": 340.8, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 62.25, + "height": 18.4, + "seed": 836739013, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1697406902552, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 2, + "text": "set class", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "BI63yxluwgDrCofAXLFGq", + "originalText": "set class", + "lineHeight": 1.15, + "baseline": 15 + }, + { + "type": "rectangle", + "version": 148, + "versionNonce": 184960245, + "isDeleted": false, + "id": "PIrQMh6TaPDjb14L7EvV6", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 300, + "y": 300, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 100, + "height": 100, + "seed": 817476107, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "sezFtk9h0K6PDFR52tdAb" + }, + { + "id": "tZ0eDNj0fEiFXd-_DBEU9", + "type": "arrow" + } + ], + "updated": 1697406730478, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 187, + "versionNonce": 1126461659, + "isDeleted": false, + "id": "sezFtk9h0K6PDFR52tdAb", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 309.08164994893497, + "y": 322.4, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 81.83670010213004, + "height": 55.199999999999996, + "seed": 174930091, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1697406730478, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 2, + "text": "get ID\nof creator\n(username)", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "PIrQMh6TaPDjb14L7EvV6", + "originalText": "get ID\nof creator\n(username)", + "lineHeight": 1.15, + "baseline": 52 + }, + { + "type": "rectangle", + "version": 210, + "versionNonce": 1144774229, + "isDeleted": false, + "id": "Z5ZhiZ27UbEx92YbEJsoG", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1100, + "y": 300, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 100, + "height": 100, + "seed": 2090679813, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "STbHiOsSnRcgmasc2zAtb", + "type": "arrow" + }, + { + "id": "YmTEF9kSNEjbCOxzQPmDG", + "type": "arrow" + }, + { + "type": "text", + "id": "ZYhPtsoi-cnWnIlRVJAUn" + }, + { + "id": "p7caH73nEGis-lgs5qYNx", + "type": "arrow" + }, + { + "id": "roqw8MYuXl8PRkF6FVHwc", + "type": "arrow" + }, + { + "id": "83kIM6Ct4mYOlUju-Bwit", + "type": "arrow" + } + ], + "updated": 1697406730478, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 43, + "versionNonce": 1319823221, + "isDeleted": false, + "id": "ZYhPtsoi-cnWnIlRVJAUn", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1111.75, + "y": 331.6, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 76.5, + "height": 36.8, + "seed": 1090625861, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1697406904405, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 2, + "text": "Exports to \nJSON", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Z5ZhiZ27UbEx92YbEJsoG", + "originalText": "Exports to JSON", + "lineHeight": 1.15, + "baseline": 33 + }, + { + "type": "arrow", + "version": 892, + "versionNonce": 1782008757, + "isDeleted": false, + "id": "STbHiOsSnRcgmasc2zAtb", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1000, + "y": 360, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 98, + "height": 1.7391562323609833e-7, + "seed": 764578885, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1697406730478, + "link": null, + "locked": false, + "startBinding": { + "elementId": "BI63yxluwgDrCofAXLFGq", + "focus": 0.20000000141971935, + "gap": 1 + }, + "endBinding": { + "elementId": "Z5ZhiZ27UbEx92YbEJsoG", + "focus": -0.1999999943211225, + "gap": 2 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 98, + -1.7391562323609833e-7 + ] + ] + }, + { + "type": "rectangle", + "version": 170, + "versionNonce": 1887188507, + "isDeleted": false, + "id": "dR4qQ3PD_QLV0ryNkyKWd", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 500, + "y": 300, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 100, + "height": 100, + "seed": 1013959429, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "tZ0eDNj0fEiFXd-_DBEU9", + "type": "arrow" + }, + { + "type": "text", + "id": "x4mcTC8oZ0L62F-PO087U" + }, + { + "id": "yvjerw-gINE5xz59qkrrU", + "type": "arrow" + } + ], + "updated": 1697406730478, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 36, + "versionNonce": 220073237, + "isDeleted": false, + "id": "x4mcTC8oZ0L62F-PO087U", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 517.073086715165, + "y": 322.4, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 65.85382656967008, + "height": 55.199999999999996, + "seed": 463639755, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1697406730478, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 2, + "text": "get/send \nquery\ngql", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "dR4qQ3PD_QLV0ryNkyKWd", + "originalText": "get/send query\ngql", + "lineHeight": 1.15, + "baseline": 52 + }, + { + "type": "arrow", + "version": 568, + "versionNonce": 1701100219, + "isDeleted": false, + "id": "tZ0eDNj0fEiFXd-_DBEU9", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 400, + "y": 360, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 98, + "height": 1.7391562323609833e-7, + "seed": 145367653, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1697406730478, + "link": null, + "locked": false, + "startBinding": { + "elementId": "PIrQMh6TaPDjb14L7EvV6", + "focus": 0.20000000141971935, + "gap": 1 + }, + "endBinding": { + "elementId": "dR4qQ3PD_QLV0ryNkyKWd", + "focus": -0.1999999943211225, + "gap": 2 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 98, + -1.7391562323609833e-7 + ] + ] + }, + { + "type": "arrow", + "version": 15, + "versionNonce": 476422773, + "isDeleted": false, + "id": "yvjerw-gINE5xz59qkrrU", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 600, + "y": 360, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 100, + "height": 0, + "seed": 1673172875, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1697406730478, + "link": null, + "locked": false, + "startBinding": { + "elementId": "dR4qQ3PD_QLV0ryNkyKWd", + "focus": 0.2, + "gap": 1 + }, + "endBinding": { + "elementId": "a_qkz1RazoNj4x4GHYcuH", + "focus": -0.2, + "gap": 1 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 100, + 0 + ] + ] + }, + { + "type": "rectangle", + "version": 207, + "versionNonce": 1150608616, + "isDeleted": false, + "id": "LOhtLU_Po1AEm9CBfp4u_", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 900, + "y": 400, + "strokeColor": "#e03131", + "backgroundColor": "#ffec99", + "width": 100, + "height": 102, + "seed": 63055499, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "jApY3ioJZBzv2dnmL5one", + "type": "arrow" + }, + { + "type": "text", + "id": "zJybiJejRPv0zciaR-LSQ" + } + ], + "updated": 1697810239409, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 117, + "versionNonce": 1942567912, + "isDeleted": false, + "id": "zJybiJejRPv0zciaR-LSQ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 920, + "y": 400, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 70.25, + "height": 92, + "seed": 765058795, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1697810239393, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 2, + "text": "Filter Out\nArchives \nvs \nHighlights\n?????", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "LOhtLU_Po1AEm9CBfp4u_", + "originalText": "Filter Out\nArchives \nvs Highlights\n?????", + "lineHeight": 1.15, + "baseline": 88 + }, + { + "type": "arrow", + "version": 811, + "versionNonce": 1328774376, + "isDeleted": false, + "id": "jApY3ioJZBzv2dnmL5one", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 801, + "y": 374.45744019059214, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 97, + "height": 87.98260951851927, + "seed": 1030954283, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1697810239460, + "link": null, + "locked": false, + "startBinding": { + "elementId": "a_qkz1RazoNj4x4GHYcuH", + "focus": -0.22863390520653276, + "gap": 1 + }, + "endBinding": { + "elementId": "LOhtLU_Po1AEm9CBfp4u_", + "focus": -0.6082496420727088, + "gap": 2 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 97, + 87.98260951851927 + ] + ] + }, + { + "type": "ellipse", + "version": 30, + "versionNonce": 1005067934, + "isDeleted": false, + "id": "glph8WlRikVqUqFhZRt_6", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 10, + "angle": 0, + "x": 900, + "y": 200, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 100, + "height": 100, + "seed": 2082260875, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "EKPOew2cGxac7Cj9upaGd" + } + ], + "updated": 1697787552077, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 35, + "versionNonce": 1831150146, + "isDeleted": false, + "id": "EKPOew2cGxac7Cj9upaGd", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 10, + "angle": 0, + "x": 923.3342550270359, + "y": 219.64466094067262, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 53.62081182727338, + "height": 55.199999999999996, + "seed": 1887391019, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1697787552077, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 2, + "text": "filters \nout \n%@#%", + "textAlign": "center", + "verticalAlign": "top", + "containerId": "glph8WlRikVqUqFhZRt_6", + "originalText": "filters out %@#%", + "lineHeight": 1.15, + "baseline": 52 + }, + { + "type": "rectangle", + "version": 242, + "versionNonce": 2062191900, + "isDeleted": false, + "id": "Ee21b_fzlWn-59X2VHcz0", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 30, + "angle": 0, + "x": 1300, + "y": 560, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 100, + "height": 100, + "seed": 1809435307, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "YmTEF9kSNEjbCOxzQPmDG", + "type": "arrow" + }, + { + "type": "text", + "id": "KyXyzpw95hjd2wZgk2gAW" + } + ], + "updated": 1697596987081, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 119, + "versionNonce": 1094137124, + "isDeleted": false, + "id": "KyXyzpw95hjd2wZgk2gAW", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 0, + "x": 1306.8524662263972, + "y": 573.2, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 86.29506754720585, + "height": 73.6, + "seed": 229912491, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1697596988094, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 2, + "text": "insert if \ndownloaded\ncheck in \njson???", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Ee21b_fzlWn-59X2VHcz0", + "originalText": "insert if downloaded \ncheck in json???", + "lineHeight": 1.15, + "baseline": 70 + }, + { + "type": "arrow", + "version": 1124, + "versionNonce": 2045609054, + "isDeleted": false, + "id": "YmTEF9kSNEjbCOxzQPmDG", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "angle": 0, + "x": 1171.5384608362697, + "y": 401, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 126.46153916373032, + "height": 164.39999973733677, + "seed": 1732328779, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1697787574793, + "link": null, + "locked": false, + "startBinding": { + "elementId": "Z5ZhiZ27UbEx92YbEJsoG", + "gap": 1, + "focus": 0.20000000141971935 + }, + "endBinding": { + "elementId": "Ee21b_fzlWn-59X2VHcz0", + "gap": 2, + "focus": -0.1999999943211225 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 126.46153916373032, + 164.39999973733677 + ] + ] + }, + { + "type": "rectangle", + "version": 210, + "versionNonce": 1079092699, + "isDeleted": false, + "id": "cI4uwia4E3DTUqKzwPHkh", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1300, + "y": 300, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 100, + "height": 100, + "seed": 1036425643, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "p7caH73nEGis-lgs5qYNx", + "type": "arrow" + } + ], + "updated": 1697406730478, + "link": null, + "locked": false + }, + { + "type": "arrow", + "version": 906, + "versionNonce": 1667791189, + "isDeleted": false, + "id": "p7caH73nEGis-lgs5qYNx", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1200, + "y": 360, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 98, + "height": 1.7391562323609833e-7, + "seed": 549203019, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1697406730478, + "link": null, + "locked": false, + "startBinding": { + "elementId": "Z5ZhiZ27UbEx92YbEJsoG", + "focus": 0.20000000141971935, + "gap": 1 + }, + "endBinding": { + "elementId": "cI4uwia4E3DTUqKzwPHkh", + "focus": -0.1999999943211225, + "gap": 2 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 98, + -1.7391562323609833e-7 + ] + ] + }, + { + "type": "rectangle", + "version": 245, + "versionNonce": 1320480670, + "isDeleted": false, + "id": "qwP9-edB4wuVsXXoSoipA", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 20, + "angle": 0, + "x": 1500, + "y": 100, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 100, + "height": 100, + "seed": 2106543461, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "roqw8MYuXl8PRkF6FVHwc", + "type": "arrow" + }, + { + "type": "text", + "id": "BgJVH37LcKWoZmGfUs0DX" + } + ], + "updated": 1697787561951, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 99, + "versionNonce": 1460265282, + "isDeleted": false, + "id": "BgJVH37LcKWoZmGfUs0DX", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 20, + "angle": 0, + "x": 1511.75, + "y": 122.4, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 76.5, + "height": 55.199999999999996, + "seed": 1926159947, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1697787561951, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 2, + "text": "download \nset index/s\n", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "qwP9-edB4wuVsXXoSoipA", + "originalText": "download set index/s\n", + "lineHeight": 1.15, + "baseline": 52 + }, + { + "type": "arrow", + "version": 1380, + "versionNonce": 1609649118, + "isDeleted": false, + "id": "roqw8MYuXl8PRkF6FVHwc", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 20, + "angle": 0, + "x": 1380, + "y": 160, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 120, + "height": 0, + "seed": 1399478469, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1697787561951, + "link": null, + "locked": false, + "startBinding": { + "elementId": "FMCX3AwK8Y4iNO4U9JEBf", + "focus": 0.2, + "gap": 1 + }, + "endBinding": { + "elementId": "qwP9-edB4wuVsXXoSoipA", + "focus": -0.2, + "gap": 1 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 120, + 0 + ] + ] + }, + { + "type": "rectangle", + "version": 286, + "versionNonce": 1700270500, + "isDeleted": false, + "id": "hGmwIQz-a7svP0GPSAx-C", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 20, + "angle": 0, + "x": 780, + "y": 560, + "strokeColor": "#e03131", + "backgroundColor": "#ffc9c9", + "width": 100, + "height": 102, + "seed": 392435819, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "FPNboEUhgNWbnRojpjQv9", + "type": "arrow" + }, + { + "type": "text", + "id": "qiPhLeeohrvmSaEGW822C" + }, + { + "id": "kyPGWIK76r88PY5EhxZ7K", + "type": "arrow" + } + ], + "updated": 1697596962922, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 240, + "versionNonce": 1142178852, + "isDeleted": false, + "id": "qiPhLeeohrvmSaEGW822C", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 20, + "angle": 0, + "x": 786.4146727521602, + "y": 565, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 87.17065449567954, + "height": 92, + "seed": 1337709323, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1697596964988, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 2, + "text": "Check just \nlast stream \nto see if a \nnew stream \nhas been", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "hGmwIQz-a7svP0GPSAx-C", + "originalText": "Check just last stream to see if a new stream has been", + "lineHeight": 1.15, + "baseline": 88 + }, + { + "type": "arrow", + "version": 1262, + "versionNonce": 282302530, + "isDeleted": false, + "id": "FPNboEUhgNWbnRojpjQv9", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 20, + "angle": 0, + "x": 735.0084655287711, + "y": 401.00000000000006, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 43.50520536796182, + "height": 157.66178260481314, + "seed": 646134187, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1697787578352, + "link": null, + "locked": false, + "startBinding": { + "elementId": "a_qkz1RazoNj4x4GHYcuH", + "focus": 0.4556448531787256, + "gap": 1 + }, + "endBinding": { + "elementId": "hGmwIQz-a7svP0GPSAx-C", + "focus": -0.5781553743123582, + "gap": 1.9999999999997726 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 43.50520536796182, + 157.66178260481314 + ] + ] + }, + { + "type": "ellipse", + "version": 140, + "versionNonce": 2025853781, + "isDeleted": false, + "id": "aEttoF0O5NJx0HwHDmWAL", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 800, + "y": -120, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 200.00000000000003, + "height": 160, + "seed": 1753915125, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "4Vaku7yENkd-adL8sJTFM" + } + ], + "updated": 1697407200454, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 293, + "versionNonce": 1248649397, + "isDeleted": false, + "id": "4Vaku7yENkd-adL8sJTFM", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 840, + "y": -60, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 121.98380225728626, + "height": 57.599999999999994, + "seed": 864122741, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1697407200454, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 3, + "text": "downlaod with\nstreamlink or\ngql stream?", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "aEttoF0O5NJx0HwHDmWAL", + "originalText": "downlaod with streamlink or gql stream?", + "lineHeight": 1.2, + "baseline": 55 + }, + { + "type": "ellipse", + "version": 180, + "versionNonce": 306273256, + "isDeleted": false, + "id": "VAHmHAHAkt4RCez-0E02v", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 560, + "y": -140, + "strokeColor": "#e03131", + "backgroundColor": "#ffc9c9", + "width": 200.00000000000003, + "height": 205, + "seed": 1415229653, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "Ob5TMS-wonMCOGgY4MCok" + }, + { + "id": "kyPGWIK76r88PY5EhxZ7K", + "type": "arrow" + } + ], + "updated": 1697810222051, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 440, + "versionNonce": 1694021864, + "isDeleted": false, + "id": "Ob5TMS-wonMCOGgY4MCok", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 600, + "y": -100, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 121.98380225728626, + "height": 134.4, + "seed": 948253435, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1697810220848, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 3, + "text": "be ablbe to \ncheck if last\nstream == \ncurrent json \n[0] or if \nstatus is \nRECORDING", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "VAHmHAHAkt4RCez-0E02v", + "originalText": "be ablbe to check if last stream == current json [0] or if status is RECORDING", + "lineHeight": 1.2, + "baseline": 131 + }, + { + "type": "rectangle", + "version": 239, + "versionNonce": 1266706690, + "isDeleted": false, + "id": "FMCX3AwK8Y4iNO4U9JEBf", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 20, + "angle": 0, + "x": 1280, + "y": 100, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 100, + "height": 100, + "seed": 1643242747, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "83kIM6Ct4mYOlUju-Bwit", + "type": "arrow" + }, + { + "type": "text", + "id": "ghbirsAF2Sn3FUzeij7cE" + }, + { + "id": "roqw8MYuXl8PRkF6FVHwc", + "type": "arrow" + } + ], + "updated": 1697787561951, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 136, + "versionNonce": 2044207134, + "isDeleted": false, + "id": "ghbirsAF2Sn3FUzeij7cE", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 20, + "angle": 0, + "x": 1285.0725506312913, + "y": 122.4, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 89.85489873741751, + "height": 55.199999999999996, + "seed": 1040289179, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1697787561951, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 2, + "text": "Read From \njson what to \ndownload", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "FMCX3AwK8Y4iNO4U9JEBf", + "originalText": "Read From json what to download", + "lineHeight": 1.15, + "baseline": 52 + }, + { + "type": "arrow", + "version": 1137, + "versionNonce": 1196423362, + "isDeleted": false, + "id": "83kIM6Ct4mYOlUju-Bwit", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 20, + "angle": 0, + "x": 1148.1306114929785, + "y": 299, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 118.47349659499923, + "height": 96.06202237304129, + "seed": 391324219, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1697787561951, + "link": null, + "locked": false, + "startBinding": { + "elementId": "Z5ZhiZ27UbEx92YbEJsoG", + "focus": -0.5801825286732619, + "gap": 1 + }, + "endBinding": { + "elementId": "FMCX3AwK8Y4iNO4U9JEBf", + "focus": -0.01694914910096106, + "gap": 13.714285714359676 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 118.47349659499923, + -96.06202237304129 + ] + ] + }, + { + "type": "ellipse", + "version": 53, + "versionNonce": 1354784309, + "isDeleted": false, + "id": "qSSKbiVA4FH6b4yDHvveq", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1020, + "y": -140, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 240, + "height": 192, + "seed": 1884498837, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "uKWUfmDQptwozO4_v2BfQ" + } + ], + "updated": 1697407200455, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 226, + "versionNonce": 367054741, + "isDeleted": false, + "id": "uKWUfmDQptwozO4_v2BfQ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1060, + "y": -80, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffec99", + "width": 159.5155197964245, + "height": 76.8, + "seed": 1402662677, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1697407200455, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 3, + "text": "make not just for\nme but if mass \nstorage to yt is \nwanted", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "qSSKbiVA4FH6b4yDHvveq", + "originalText": "make not just for me but if mass storage to yt is wanted", + "lineHeight": 1.2, + "baseline": 74 + }, + { + "type": "ellipse", + "version": 17, + "versionNonce": 360853250, + "isDeleted": false, + "id": "MLT0DcoUtZKHMoUF4m4ce", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 10, + "angle": 0, + "x": 1300, + "y": -120, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 280, + "height": 180, + "seed": 1403031989, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "Y4MeQphnRfz4uS_W3lO9c" + } + ], + "updated": 1697787612317, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 8, + "versionNonce": 507361822, + "isDeleted": false, + "id": "Y4MeQphnRfz4uS_W3lO9c", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 10, + "angle": 0, + "x": 1346.169576854397, + "y": -78.13961030678928, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 187.6709475589728, + "height": 96, + "seed": 1258221787, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1697787612317, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 3, + "text": "be able to run daily\n and get all new not\njust 1 last streams \ninplcae of needing \nwebsite", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "MLT0DcoUtZKHMoUF4m4ce", + "originalText": "be able to run daily and get all new not just 1 last streams inplcae of needing website", + "lineHeight": 1.2, + "baseline": 93 + }, + { + "type": "ellipse", + "version": 13, + "versionNonce": 1514573153, + "isDeleted": false, + "id": "-kwdiiP9V2H7h51kF8eyx", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1660, + "y": -120, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 240, + "height": 178, + "seed": 1482828367, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "jeAsfWzkX92wuL8oUzzZ4" + } + ], + "updated": 1697493741150, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 97, + "versionNonce": 466246753, + "isDeleted": false, + "id": "jeAsfWzkX92wuL8oUzzZ4", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1700.3879356022367, + "y": -88.53250352560272, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 159.51850131075523, + "height": 115.19999999999999, + "seed": 1233983919, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1697493793158, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 3, + "text": "integrate new \ndloader and \nstreamlink \ndloader\nwith the channel \njsons????", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "-kwdiiP9V2H7h51kF8eyx", + "originalText": "integrate new dloader and streamlink dloader\nwith the channel jsons????", + "lineHeight": 1.2, + "baseline": 112 + }, + { + "type": "ellipse", + "version": 36, + "versionNonce": 232115887, + "isDeleted": false, + "id": "FryUaz2llgUwNT9Z1yl1c", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1940, + "y": -120, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 200, + "height": 180, + "seed": 451164239, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "XNPdbxhQUZkMBYkmwOHwp" + } + ], + "updated": 1697494046956, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 69, + "versionNonce": 856389409, + "isDeleted": false, + "id": "XNPdbxhQUZkMBYkmwOHwp", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1978.798689599237, + "y": -87.73961030678927, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 121.98126456421636, + "height": 115.19999999999999, + "seed": 308485089, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1697494081292, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 3, + "text": "have ol₫ \ndloader have \ninq optionsto\npull frrom \njsons??\n", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "FryUaz2llgUwNT9Z1yl1c", + "originalText": "have ol₫ dloader have inq optionsto pull frrom jsons??\n", + "lineHeight": 1.2, + "baseline": 112 + }, + { + "type": "ellipse", + "version": 134, + "versionNonce": 1805980824, + "isDeleted": false, + "id": "s7llQesX7gY0muJK9XplX", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 300, + "y": -160, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 220, + "height": 205, + "seed": 659082728, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "Lu6Hyq9PR_lECeEj1-Cje" + } + ], + "updated": 1697810159285, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 236, + "versionNonce": 837446888, + "isDeleted": false, + "id": "Lu6Hyq9PR_lECeEj1-Cje", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 339.84325406947977, + "y": -124.67844507162113, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 140.75, + "height": 134.4, + "seed": 2016597992, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1697810161284, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 3, + "text": "get a way to \nfigure out if \nfull Vods been \ndownloaded and \nset downloaded \nto False in \njson", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "s7llQesX7gY0muJK9XplX", + "originalText": "get a way to figure out if full Vods been downloaded and set downloaded to False in json", + "lineHeight": 1.2, + "baseline": 131 + }, + { + "type": "ellipse", + "version": 20, + "versionNonce": 985367854, + "isDeleted": false, + "id": "5KvwcOTt4Utr7Hp3k_LsV", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 280, + "y": 80, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 160, + "height": 160, + "seed": 733677042, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "NDHYFtzWtYf1suyV2eUb9" + } + ], + "updated": 1698010752320, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 57, + "versionNonce": 446704622, + "isDeleted": false, + "id": "NDHYFtzWtYf1suyV2eUb9", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 320, + "y": 120, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 93.83724126593184, + "height": 76.8, + "seed": 419601390, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1698010752671, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 3, + "text": "be able to\njsut gest \nlast tream\nto DL??", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "5KvwcOTt4Utr7Hp3k_LsV", + "originalText": "be able to jsut gest last tream to DL??", + "lineHeight": 1.2, + "baseline": 74 + }, + { + "id": "JiQ1-7jJPXlacU1Vv9AiM", + "type": "ellipse", + "x": -60, + "y": -220, + "width": 340, + "height": 314, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1914136988, + "version": 83, + "versionNonce": 631975452, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "m7yt-1PXqffGhIHQwPCOX" + } + ], + "updated": 1699068480811, + "link": null, + "locked": false + }, + { + "id": "m7yt-1PXqffGhIHQwPCOX", + "type": "text", + "x": -2.8101427820367917, + "y": -111.01576464628798, + "width": 225.2039799606472, + "height": 96, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 370480284, + "version": 218, + "versionNonce": 349637276, + "isDeleted": false, + "boundElements": null, + "updated": 1699068480811, + "link": null, + "locked": false, + "text": "make a way to figure out\na way to see if download\nhas Completeed 100%.\nmaybe find orig size \nthen compare??", + "fontSize": 16, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 92, + "containerId": "JiQ1-7jJPXlacU1Vv9AiM", + "originalText": "make a way to figure out a way to see if download has Completeed 100%.\nmaybe find orig size then compare??", + "lineHeight": 1.2 + } + ], + "appState": { + "gridSize": 20, + "viewBackgroundColor": "#f5faff" + }, + "files": {} +} \ No newline at end of file diff --git a/new_mass_gql/Readme.md b/new_mass_gql/Readme.md new file mode 100644 index 0000000..f7f89b9 --- /dev/null +++ b/new_mass_gql/Readme.md @@ -0,0 +1,3 @@ +https://wundergraph.com/blog/graphql_in_production_analyzing_public_graphql_apis_1_twitch_tv + +https://github.com/mauricew/twitch-graphql-api \ No newline at end of file diff --git a/new_mass_gql/__init__.py b/new_mass_gql/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/new_mass_gql/check_new_streams.py b/new_mass_gql/check_new_streams.py new file mode 100644 index 0000000..f425f5c --- /dev/null +++ b/new_mass_gql/check_new_streams.py @@ -0,0 +1,181 @@ +# first logic for renew jsons. + +import json +import os +import threading + +import spinner as spn +from utility_dir import get_single_vod_ as gsv +from utility_dir import util_functions as util + +from . import gql_main_call +from . import swap_old_data as sod + +# import pretty_errors + + +# def test_data_for_checkStreams(json_file_path, streamer_user_name, vod_index=6): +# gql_fake_data = {'data': {'user': {'videos': {'totalCount': 334, 'edges': [{'cursor': '1959081227|40587|2023-10-24T12:02:47Z', 'node': {'id': '1973622401', 'title': 'Henry, Master Thief - KCD Hardcore Day 5 - Half Sword Later - !Glasses', 'publishedAt': '2023-11-10T14:44:52Z', 'broadcastType': 'ARCHIVE', 'status': 'RECORDED', 'lengthSeconds': 18123, 'viewCount': 15944, 'game': {'id': '458912', 'name': 'Kingdom Come: Deliverance'}, 'creator': {'id': '12731745', 'login': 'deadlyslob', 'displayName': 'Deadlyslob'}}}, {'cursor': '1959081227|40587|2023-10-24T12:02:47Z', 'node': {'id': '1973536243', 'title': 'Henry, Master Thief - KCD Hardcore Day 5 - Half Sword Later - !Glasses', 'publishedAt': '2023-11-10T12:02:03Z', 'broadcastType': 'ARCHIVE', 'status': 'RECORDED', 'lengthSeconds': 9589, 'viewCount': 8708, 'game': {'id': '458912', 'name': 'Kingdom Come: Deliverance'}, 'creator': {'id': '12731745', 'login': 'deadlyslob', 'displayName': 'Deadlyslob'}}}, {'cursor': '1959081227|40587|2023-10-24T12:02:47Z', 'node': {'id': '1972672377', 'title': 'Half Sword - Chasing that Highscore (4410) - !Glasses', 'publishedAt': '2023-11-09T12:09:24Z', 'broadcastType': 'ARCHIVE', 'status': 'RECORDED', 'lengthSeconds': 27786, 'viewCount': 24941, 'game': {'id': '1941249372', 'name': 'Half Sword'}, 'creator': {'id': '12731745', 'login': 'deadlyslob', 'displayName': 'Deadlyslob'}}}, {'cursor': '1959081227|40587|2023-10-24T12:02:47Z', 'node': {'id': '1972663957', 'title': 'Half Sword - Chasing that Highscore (4410) - !Glasses', 'publishedAt': '2023-11-09T11:52:13Z', 'broadcastType': 'ARCHIVE', 'status': 'RECORDED', 'lengthSeconds': 810, 'viewCount': 1057, 'game': {'id': '1941249372', 'name': 'Half Sword'}, 'creator': {'id': '12731745', 'login': 'deadlyslob', 'displayName': 'Deadlyslob'}}}, {'cursor': '1959081227|40587|2023-10-24T12:02:47Z', 'node': {'id': '1971836501', 'title': 'Morning Half Sword - 4410 High Score - KCD Later! - !Glasses', 'publishedAt': '2023-11-08T12:10:01Z', 'broadcastType': 'ARCHIVE', 'status': 'RECORDED', 'lengthSeconds': 28625, 'viewCount': 26015, 'game': {'id': '1941249372', 'name': 'Half Sword'}, 'creator': {'id': '12731745', 'login': 'deadlyslob', 'displayName': 'Deadlyslob'}}}, {'cursor': '1959081227|40587|2023-10-24T12:02:47Z', 'node': {'id': '1970976562', 'title': 'Half Sword - 4410 High Score - Kingdom Come: Deliverance Later - !Glasses', 'publishedAt': '2023-11-07T11:39:44Z', 'broadcastType': 'ARCHIVE', 'status': 'RECORDED', 'lengthSeconds': 30290, 'viewCount': 28046, 'game': {'id': '1941249372', 'name': 'Half Sword'}, 'creator': {'id': '12731745', 'login': 'deadlyslob', 'displayName': 'Deadlyslob'}}}, {'cursor': '1959081227|40587|2023-10-24T12:02:47Z', 'node': {'id': '1970170845', 'title': 'Early Morning Coffee & Half Sword - Kingdom Come Deliverance TODAY - !Glasses', 'publishedAt': '2023-11-06T11:48:10Z', 'broadcastType': 'ARCHIVE', 'status': 'RECORDED', 'lengthSeconds': 28424, 'viewCount': 30573, 'game': {'id': '1941249372', 'name': 'Half Sword'}, 'creator': {'id': '12731745', 'login': 'deadlyslob', 'displayName': 'Deadlyslob'}}}, {'cursor': '1959081227|40587|2023-10-24T12:02:47Z', 'node': {'id': '1967417346', 'title': "We're Beating Half Sword - !Glasses", 'publishedAt': '2023-11-03T12:07:53Z', 'broadcastType': 'ARCHIVE', 'status': 'RECORDED', 'lengthSeconds': 24358, 'viewCount': 24951, 'game': {'id': '1941249372', 'name': 'Half Sword'}, 'creator': {'id': '12731745', 'login': 'deadlyslob', 'displayName': 'Deadlyslob'}}}, {'cursor': '1959081227|40587|2023-10-24T12:02:47Z', 'node': {'id': '1967275983', 'title': 'New Tech Test Stream - !Glasses', 'publishedAt': '2023-11-03T05:08:48Z', 'broadcastType': 'ARCHIVE', 'status': 'RECORDED', 'lengthSeconds': 2840, 'viewCount': 1951, 'game': {'id': '509658', 'name': 'Just Chatting'}, 'creator': {'id': '12731745', 'login': 'deadlyslob', 'displayName': 'Deadlyslob'}}}, {'cursor': '1959081227|40587|2023-10-24T12:02:47Z', 'node': {'id': '1966532291', 'title': 'Half Sword - Becoming the Ultimate Gladiator - !Glasses', 'publishedAt': '2023-11-02T11:33:14Z', 'broadcastType': 'ARCHIVE', 'status': 'RECORDED', 'lengthSeconds': 27050, 'viewCount': 29925, 'game': {'id': '1941249372', 'name': 'Half Sword'}, 'creator': {'id': '12731745', 'login': 'deadlyslob', 'displayName': 'Deadlyslob'}}}, {'cursor': '1959081227|40587|2023-10-24T12:02:47Z', 'node': {'id': '1965704937', 'title': 'Road to 200,000 Citizens - Los Pepegos - Day 7 - !Glasses', 'publishedAt': '2023-11-01T11:28:09Z', 'broadcastType': 'ARCHIVE', 'status': 'RECORDED', 'lengthSeconds': 23748, 'viewCount': 25335, 'game': {'id': '556907291', 'name': 'Cities: Skylines II'}, 'creator': {'id': '12731745', 'login': 'deadlyslob', 'displayName': 'Deadlyslob'}}}, {'cursor': '1959081227|40587|2023-10-24T12:02:47Z', 'node': {'id': '1964873487', 'title': 'Road to 200,000 Citizens - Los Pepegos - Day 6 - !Glasses', 'publishedAt': '2023-10-31T11:38:16Z', 'broadcastType': 'ARCHIVE', 'status': 'RECORDED', 'lengthSeconds': 19898, 'viewCount': 20968, 'game': {'id': '556907291', 'name': 'Cities: Skylines II'}, 'creator': {'id': '12731745', 'login': 'deadlyslob', 'displayName': 'Deadlyslob'}}}, {'cursor': '1959081227|40587|2023-10-24T12:02:47Z', 'node': {'id': '1964080409', 'title': 'Road to 100,000 Citizens - Los Pepegos - Day 5 - !Glasses', 'publishedAt': '2023-10-30T12:28:33Z', 'broadcastType': 'ARCHIVE', 'status': 'RECORDED', 'lengthSeconds': 23733, 'viewCount': 28526, 'game': {'id': '556907291', 'name': 'Cities: Skylines II'}, 'creator': {'id': '12731745', 'login': 'deadlyslob', 'displayName': 'Deadlyslob'}}}, {'cursor': '1959081227|40587|2023-10-24T12:02:47Z', 'node': {'id': '1964070619', 'title': 'Road to 100,000 Citizens - Los Pepegos - Day 5 - !Glasses', 'publishedAt': '2023-10-30T12:05:08Z', 'broadcastType': 'ARCHIVE', 'status': 'RECORDED', 'lengthSeconds': 1327, 'viewCount': 2266, 'game': {'id': '556907291', 'name': 'Cities: Skylines II'}, 'creator': {'id': '12731745', 'login': 'deadlyslob', 'displayName': 'Deadlyslob'}}}, {'cursor': '1959081227|40587|2023-10-24T12:02:47Z', 'node': {'id': '1961505777', 'title': 'Road to 100,000 Citizens - Los Pepegos - Day 4 - !Glasses', 'publishedAt': '2023-10-27T11:11:50Z', 'broadcastType': 'ARCHIVE', 'status': 'RECORDED', 'lengthSeconds': 28993, 'viewCount': 30199, 'game': {'id': '556907291', 'name': 'Cities: Skylines II'}, 'creator': {'id': '12731745', 'login': 'deadlyslob', 'displayName': 'Deadlyslob'}}}, {'cursor': '1959081227|40587|2023-10-24T12:02:47Z', 'node': {'id': '1960693424', 'title': 'Cities Skylines "Master" Building Los Pepegos - Day 3 - !Glasses', 'publishedAt': '2023-10-26T11:23:40Z', 'broadcastType': 'ARCHIVE', 'status': 'RECORDED', 'lengthSeconds': 27455, 'viewCount': 26549, 'game': {'id': '556907291', 'name': 'Cities: Skylines II'}, 'creator': {'id': '12731745', 'login': 'deadlyslob', 'displayName': 'Deadlyslob'}}}, {'cursor': '1959081227|40587|2023-10-24T12:02:47Z', 'node': {'id': '1960188971', 'title': 'Cities Skylines "Master" Building Los Pepegos - !Glasses', 'publishedAt': '2023-10-25T19:36:27Z', 'broadcastType': 'ARCHIVE', 'status': 'RECORDED', 'lengthSeconds': 58, 'viewCount': 958, 'game': {'id': '556907291', 'name': 'Cities: Skylines II'}, 'creator': {'id': '12731745', 'login': 'deadlyslob', 'displayName': 'Deadlyslob'}}}, {'cursor': '1959081227|40587|2023-10-24T12:02:47Z', 'node': {'id': '1959862412', 'title': 'Cities Skylines "Master" Building Los Pepegos - !Glasses', 'publishedAt': '2023-10-25T10:34:10Z', 'broadcastType': 'ARCHIVE', 'status': 'RECORDED', 'lengthSeconds': 30236, 'viewCount': 30137, 'game': {'id': '556907291', 'name': 'Cities: Skylines II'}, 'creator': {'id': '12731745', 'login': 'deadlyslob', 'displayName': 'Deadlyslob'}}}, {'cursor': '1959081227|40587|2023-10-24T12:02:47Z', 'node': {'id': '1959081227', 'title': 'Tuesday Raids & Coffee - CITIES 2 TODAY - !Glasses', 'publishedAt': '2023-10-24T12:02:47Z', 'broadcastType': 'ARCHIVE', 'status': 'RECORDED', 'lengthSeconds': 33394, 'viewCount': 40587, 'game': {'id': '491931', 'name': 'Escape from Tarkov'}, 'creator': {'id': '12731745', 'login': 'deadlyslob', 'displayName': 'Deadlyslob'}}}]}}}, 'extensions': {'durationMilliseconds': 73, 'requestID': '01HEYEJXN3VC4QH7RRNZJ6V3WT'}} # fake test data to stop calls and fasten dev. +# with open(json_file_path, 'r+') as f: +# data = json.load(f) +# new_data = data[vod_index:] +# f.seek(0) +# json.dump(new_data, f, indent=4) +# f.truncate() +# return gql_fake_data + + +def check_for_new_vods( + json_file_path, + streamer_user_name, + amount_of_vods: int = 100, + sort_by: str = "TIME" +): + """_summary_ + + Args: + json_file_path (_type_): _description_ + streamer_user_name (_type_): _description_ + amount_of_vods (int, optional): _description_. Defaults to 100. + sort_by (str, optional): _description_. Defaults to "TIME". + + Returns: + tuple: [0]json_file_path [1]file_data [2]GQLresp [3]vod_index + """ + if not os.path.exists(json_file_path): + gql_main_call.First_making_cmds(streamer_user_name) + # [ ] call 1st set up of vods making.... + return None + + # Blocked OUT USING Fake DATA to stop calls and fasten dev + query = gql_main_call.query_channel_vods(streamer_user_name, amount_of_vods, sort_by) + spinner1 = spn.Spinner() + spinner1.start() + query_resp = gql_main_call.gql_query(query=query) + resp = query_resp.json() + spinner1.stop() + if query_resp.status_code != 200: + print("Error retrieving Data from GraphQL Twitch API") + import startup + startup.main_start() + + # resp = test_data_for_checkStreams(json_file_path, streamer_user_name, vod_index=6) # Testing Code Fake data. + + with open(json_file_path, "r") as f: + file_data = json.load(f) + + # one can be threaded. + vod_index = util.compare_latest_vod_index(file_data, resp) + + return json_file_path, file_data, resp, vod_index + + +def add_new_entries_json( + json_file_path: str, + file_data: list[dict], + GQLquery, vod_index: int +) -> list[dict]: + + vods_dict = gql_main_call.Vod.create_vods_from_edges( + GQLquery["data"]["user"]["videos"]["edges"] + ) + + print_new_vods_from_dictClass(vod_index, vods_dict) + + # Dynamic max length?????. + loaded_list_dicts_len: int = len(file_data) + # The new list of dictionaries can be concatenated with the old one: + loaded_list_dicts = vods_dict[:vod_index] + file_data + # If the length of loaded_list_dicts exceeds X (100), we trim it down to 100: + if len(loaded_list_dicts) > loaded_list_dicts_len: + loaded_list_dicts = loaded_list_dicts[:loaded_list_dicts_len] + + # Write the final list of dictionaries back to the file as a JSON string: + util.dump_json_ind4( + file_path=json_file_path, content_dump=loaded_list_dicts + ) + return loaded_list_dicts[:vod_index] + + +def print_new_vods_from_dictClass(vod_index, vods_dict): + if vod_index != 0: + # sends it to Tkinter instead of print outs. + from new_mass_gql import tk_get_file_list + tk_get_file_list.call_tk_data(vods_dict[:vod_index]) # WATCH Works But has the selection version of tk popup, class it or make new version??. + + # for index, vod in enumerate(vods_dict): + # print( + # f'{util.simple_convert_timestamp(vod['publishedAt'])}, ' + # f'{vod['gameName']}, ' + # f'{vod['title']}, ' + # f'{util.decode_seconds_to_hms(vod['lengthSeconds'])} ' + # f'\n{vod['url']}' + # ) + # if index == vod_index - 1: + # break + print(f'\n{(vod_index)}: New Vods\n') + + +# def start_new_vods(json_file_path, streamer_user_name): + + +def update_json_data(cnv_rtrn): + spinner1 = spn.Spinner() + spinner1.start() + start_point_index = int(util.get_index_last_vod(cnv_rtrn[1], cnv_rtrn[2])) + conflict_data = sod.get_conflicting_indexes(cnv_rtrn[1], cnv_rtrn[2], start_point_index, ['downloaded']) + newData = sod.new_data_to_json_exclude(cnv_rtrn[1], conflict_data[-1], conflict_data[0], 'downloaded') + with open(cnv_rtrn[0], 'w') as f: + json.dump(newData, f, indent=4) + + if cnv_rtrn[3] is not None: + newData = add_new_entries_json(cnv_rtrn[0], cnv_rtrn[1], cnv_rtrn[2], cnv_rtrn[3]) + spinner1.stop() + return newData + # print(gsv.Run_get_vod(streamer_name)) + + +def start_new_vods(): + # [] input the best way?? + # print(type(gsv.get_file_list_from_dir(rf"{util.get_appdata_dir()}\jsons"))) + # streamer_name = input('Streamer Name or "saved" to get a list of previous:').lower() + # if streamer_name == "saved": + streamer_name = util.multi_choice_dialog( + "Who?", + gsv.get_file_list_from_dir(rf"{util.get_appdata_dir()}\jsons") + + ['--New Streamer to Add--'] + + ['**CANCEL**'] + ) + print("🐍 File: new_mass_gql/check_new_streams.py | Line: 149 | start_new_vods ~ streamer_name",streamer_name) + + if streamer_name == '**CANCEL**': + os.system('cls') + import startup + startup.main_start() + elif not streamer_name == "--New Streamer to Add--": + cnv_rtrn = check_for_new_vods( + rf"{util.get_appdata_dir()}\jsons\{streamer_name}.json", + streamer_user_name=streamer_name + ) + if cnv_rtrn[-1] == 0: + update_info = threading.Thread(target=update_json_data, args=(cnv_rtrn, )) + update_info.start() + # print('in the if') + return + else: + # print("else\n\n") + return update_json_data(cnv_rtrn) + else: + gql_main_call.First_making_cmds(input('User Name:').lower()) + + +if __name__ == "__main__": + start_new_vods() + + +# streamer = 'lanaee_lux' +# amount = 100 +# # if os.path.exists(streamer +# check_for_new_vods(f"jsons\\{streamer}.json", f'{streamer}', amount) +# # 'https://www.twitch.tv/videos/1957663657', '22-10-2023 The Cumback Colony 500 BrutalCassandra mods RimWorld Kotton' +# # print(f"jsons\\{input('Streamer Name:').lower()}.json") diff --git a/new_mass_gql/get_vods_sizes_m3u8.py b/new_mass_gql/get_vods_sizes_m3u8.py new file mode 100644 index 0000000..42b581a --- /dev/null +++ b/new_mass_gql/get_vods_sizes_m3u8.py @@ -0,0 +1,123 @@ +# gets sizes of vods id's using m3u8 gql query calls. + +# from urllib.parse import urlparse +# from pyperclip import copy, paste + +import logging +import os +from urllib.error import HTTPError +from urllib.parse import urlencode + +# import gql_main_call as gql +import m3u8 +import requests + +from . import gql_main_call as gql + + +# get est file size. +def estimate_video_size(bandwidth_bps, total_secs): + # Calculate the total size in bits + total_bits = bandwidth_bps * total_secs + return total_bits / 8 / 1024 / 1024 / 1024 + + +def get_playlist_uris( + *, + video_id: str, + access_token: dict, + lengthSeconds=None, + minus_time=0, + attempt=0 +) -> dict: + + """ + Grabs the URI's for accessing each of the video chunks. + + Returns: Dict + key(resolution): dict{vod_GB, VariantURI} + """ + url = f"http://usher.ttvnw.net/vod/{video_id}" + + params = { + "nauth": access_token["value"], + "nauthsig": access_token["signature"], + "allow_source": "true", + "player": "twitchweb", + } + + data = f'{url}?{urlencode(params)}' + try: + playlist = m3u8.load(data) + except HTTPError: + return {'': 'Likely Sub Only Vod'} + + if not lengthSeconds: + get_variant_url = str(playlist.playlists[0]) + base_uri = get_variant_url.split("\n")[1] + variant_m3u8 = m3u8.load( + base_uri, custom_tags_parser=get_totalsecs_from_playlist + ) + string_seconds = variant_m3u8.data["#EXT-X-TWITCH-TOTAL-SECS"] + seconds_ = int(float(string_seconds)) + else: + seconds_ = lengthSeconds + + dictt = {} + for mea, pl in zip(playlist.media, playlist.playlists): + stream_info = pl.stream_info + bandwidth = stream_info.bandwidth + if attempt > 5: + print("\nMax attempts reached, request failed, Bandwidth == 0") + return {"Failed retrieving Bandwidth ": "N/A"} + elif bandwidth == 0: # Maybe a Temp Twitch Bug Maybe Outdated Streamlink(6.0.1), sometimes Bandwidth Fails to populate retrying fixes + logging.info(f'{os.path.basename(__file__)} data ' '%s', data) + logging.info(f'{os.path.basename(__file__)} get_variant_url ' '%s', stream_info) + logging.info(f'{os.path.basename(__file__)} bandwidth ' '%s', bandwidth) + print(f"Bandwidth == 0, Attempt {attempt} failed, retrying...") + attempt += 1 + return get_playlist_uris( + attempt=attempt, + video_id=video_id, + access_token=access_token, + lengthSeconds=lengthSeconds, + minus_time=minus_time + ) + name = mea.name.lower() + # size = "{:.2f}".format( + # estimate_video_size( + # bandwidth_bps=bandwidth, + # total_secs=seconds_ - minus_time + # ) + # ) + size = f"{estimate_video_size(bandwidth_bps=bandwidth, total_secs=seconds_ - minus_time):.2f}" + + dictt[name] = [size, pl.uri] + # print("{:<5} {:<10}".format(resolution, f'{size} GB')) + # print(dictt) + return dictt + + +def get_totalsecs_from_playlist(line, lineno, data, state): + if line.startswith("#EXT-X-TWITCH-TOTAL-SECS"): + custom_tag = line.split(":") + data["#EXT-X-TWITCH-TOTAL-SECS"] = custom_tag[1].strip() + + +def m3u8_call_init(video_id, tot_seconds=None, minus_time=0) -> dict: + """_summary_ + + Args: + video_id (Str): id path of twitch url + tot_seconds (int, optional): total_seconds of vod if less than maximum. Defaults to None and gets from m3u8 data. + + Returns: + dict: vod_sizes{[sizeGB, URI]} + """ + netlock = "https://usher.ttvnw.net" + url = f"{netlock}/vod/{video_id}.m3u8" + access_token = gql.get_access_token(video_id) + + return get_playlist_uris(video_id=video_id, access_token=access_token, lengthSeconds=tot_seconds, minus_time=minus_time) + + diff --git a/new_mass_gql/gql_main_call.py b/new_mass_gql/gql_main_call.py new file mode 100644 index 0000000..0a4397f --- /dev/null +++ b/new_mass_gql/gql_main_call.py @@ -0,0 +1,249 @@ +# import json +import os +import pprint +import timeit + +import httpx +from tqdm import tqdm + +import spinner as spn +from utility_dir import util_functions as util + +# import requests + + +start_time = timeit.default_timer() + + +gql_client: str = "kd1unb4b3q4t58fwlpcbzcbnm76a8fp" +GQL_URL = "https://gql.twitch.tv/gql" +GQL_HEADERS = {"Client-ID": ""} + + +class GQLException(Exception): + pass + + +class GQLItemError(Exception): + pass + + +# We use Twitch's private client ID for GQL calls +def set_client_id(client_id: str): + global GQL_HEADERS + GQL_HEADERS["Client-ID"] = client_id + + +def _process_query_errors(resp): + j = resp.json() + if 400 <= resp.status_code < 500 or "errors" in j: + raise GQLException(j) + + +def gql_post(json=None, data=None): + global GQL_URL, GQL_HEADERS + resp = httpx.post(GQL_URL, json=json, data=data, headers=GQL_HEADERS) + _process_query_errors(resp) + return resp + + +def gql_query(query=None, data=None): + return gql_post(json={"query": query}, data=data) + + +def get_access_token(video_id): + """ + Gets the VOD player access token, used to stream the VOD to the host. + """ + query = VIDEO_ACCESS_QUERY.format(video_id=video_id) + + resp = gql_query(query=query).json() + + return resp["data"]["videoPlaybackAccessToken"] + + +# GQL Query forms +# Channel VODs query +GET_CHANNEL_VIDEOS_QUERY = """ +{{ user(login: "{channel_id}") {{ + videos( first: {first}, sort: {sort}, after: {after} ) {{ + totalCount + edges {{ cursor + node {{ + id title publishedAt broadcastType status lengthSeconds viewCount + game {{ id name }} + creator {{ id login displayName }} +}} }} }} }} }} +""" + +VIDEO_ACCESS_QUERY = """ +{{ videoPlaybackAccessToken( + id: {video_id}, + params: {{ platform:"web", playerBackend:"mediaplayer", playerType:"site" }} + ) {{ signature value }} +}} +""" + +# Single Channel info query +GET_CHANNEL_QUERY = """ +{{ user(login: "{channel_id}") {{ + id login displayName + description createdAt + roles {{ isAffiliate isPartner }} + stream {{ + id title type viewersCount createdAt game {{ id name }} +}} }} }} +""" + +# VOD chapters query +GET_VIDEO_CHAPTERS = """{{ +video(id: {id}) {{ + moments(first:100, momentRequestType: VIDEO_CHAPTER_MARKERS, after: {after}) {{ + edges {{ cursor node {{ + description type positionMilliseconds durationMilliseconds +}} }} }} }} }} +""" + +set_client_id(gql_client) + + +# get videos of multiple types +# past streams = ARCHIVE, segment of stream = HIGHLIGHT, upload = UPLOAD, premiere = PAST_PREMIERE + + +# Sort by View Count +# query = GET_CHANNEL_VIDEOS_QUERY.format( +# channel_id=user_id, +# after=pagination, first=100, +# sort="VIEWS" +# ) + + +def query_channel_vods( + streamer_user_name: str, num_of_streams: int = 100, sort_by: str = "TIME" +): + """ + Args: + streamer_user_name (str): User Name of the streamer. + num_of_streams (int, optional): MAX No. of VODs returned + . Defaults to 100. + sort_by (CAPstr, optional): TIME/VIEWS/TRENDING. Defaults to "TIME". + + + Returns: + GQL Map: list[dict] of streams info + """ + pagination = "null" + + return GET_CHANNEL_VIDEOS_QUERY.format( + channel_id=streamer_user_name, + after=pagination, + first=num_of_streams, + sort=sort_by, + ) + + +class Vod: + """ + A class to represent a Video on Demand (Vod). + Methods + ------- + __repr__(): + Returns a string representation of the Vod instance. + + create_vods_from_edges(edges: list): + Class method that creates a list of Vod instances from a list of edges, each containing a 'node' dictionary. + It cleans up the title of each node and creates a new Vod instance from each cleaned node. + Returns a list of these Vod instances. + + How to call using a gqlquery map return: + vods = Vod.create_vods_from_edges(resp['data']['user']['videos']['edges']) + """ + + def __init__(self, node): + self.creatorId = node["creator"]["id"] + self.login = node["creator"]["login"] + self.displayName = node["creator"]["displayName"] + self.id = node["id"] + self.title = node["title"] + self.publishedAt = node["publishedAt"] + self.broadcastType = node["broadcastType"] + self.status = node["status"] + self.lengthSeconds = node["lengthSeconds"] + self.viewCount = node["viewCount"] + if node.get("game"): # Check if 'game' exists in the node and is not None + self.gameId = node["game"]["id"] + self.gameName = node["game"]["name"] + else: + self.gameId = "N/A" + self.gameName = "N/A" + self.url = f"https://www.twitch.tv/videos/{self.id}" + self.downloaded = False + + def __repr__(self): + # ID by STREAMER at DATETIME, LENGTH vodbot description + return f"Vod({self.id}, {self.login}, {self.broadcastType}, {self.status}, {self.publishedAt}, {self.lengthSeconds}s, {self.title}, {self.gameName})" + + @classmethod + def create_vods_from_edges(cls, edges): + vods = [] + for edge in edges: + edge["node"]["title"] = "".join(c for c in edge["node"]["title"] if c.isalnum() or c.isspace()) + if edge['node']['game'] is not None: + edge["node"]["game"]["name"] = "".join(g for g in edge["node"]["game"]["name"] if g.isalnum() or g.isspace()) + vods.append(cls(edge["node"])) + return [vars(vod) for vod in vods] + + +# [] Kwargs ??? **kwargs. +def First_making_cmds(streamer_user_name=None): + if not streamer_user_name: + streamer_user_name = input("Enter Streamer User Name: ").lower() + # if file exist ?? . + spinner1 = spn.Spinner() + spinner1.start() + query = query_channel_vods(streamer_user_name, 100, "TIME") + query_resp = gql_query(query=query) + resp = query_resp.json() + spinner1.stop() + + # [] still need to sort our the recording/archive/highlight/upload/premiere + if query_resp.status_code != 200: + print("Error retrieving Data from GraphQL Twitch API") + return + elif resp['data']['user'] is None: + print("Error No User Found") + First_making_cmds() + return + elif resp['data']['user']['videos']['totalCount'] == 0: + print("Error No Videos Found") + First_making_cmds() + return + + # file_path = f"jsons/{streamer_user_name}.json" + file_path = rf"{util.get_appdata_dir()}\jsons\{streamer_user_name}.json" + + vods_dict = Vod.create_vods_from_edges(resp["data"]["user"]["videos"]["edges"]) + + file_path_dir = os.path.dirname(file_path) + if not os.path.exists(file_path_dir): + os.mkdir(file_path_dir) + + from startup import main_start + if os.path.exists(file_path): + print( + f'File already Exists\n{file_path}\nContinue and overwrite File?:') + outcome = util.multi_choice_dialog('Continue and overwrite', ['Yes', 'No']) + if outcome == 'No': + os.system('cls') + return main_start() + util.dump_json_ind4(file_path=file_path, content_dump=vods_dict) + os.system('cls') + main_start() + # print('saving to Desktop fortesting') + # util.dump_json_ind4(file_path='C:/Users/970EVO-Gamer/Desktop/testt.json', content_dump=vods_dict) + + +# end_time = timeit.default_timer() +# execution_time = end_time - start_time +# print(f"The script took {execution_time} seconds to run.") diff --git a/new_mass_gql/swap_old_data.py b/new_mass_gql/swap_old_data.py new file mode 100644 index 0000000..f935402 --- /dev/null +++ b/new_mass_gql/swap_old_data.py @@ -0,0 +1,79 @@ +# Swaps new Data for the old data in the json file while keeping X key/s. + +import json + +from utility_dir.util_functions import get_index_last_vod + + +def compare_dicts_excluding(dict1, dict2, exclude_keys): + '''Compares 2 dicts keys, But Excludes Specific Key/s + in comparison. + + Args: + dict1 (dict): + dict2 (dict): + exclude_keys (str | lst[str]): Key Name/s + + Returns: + bool: T (same)/F (different) + ''' + dict1_copy = {k: v for k, v in dict1.items() if k not in exclude_keys} + dict2_copy = {k: v for k, v in dict2.items() if k not in exclude_keys} + + return dict1_copy == dict2_copy + + +def get_conflicting_indexes(file_list1_data: list, list2_data, start_point_index, exclude_Key_s): + """ + This function compares two lists of dictionaries and identifies the indexes + of conflicting elements, excluding the keys in 'exclude_Key_s'. + If 'list2_data' is a dictionary, it will be normalized using + 'main_call.Vod.create_vods_from_edges'. + + Parameters: + file_list1_data (list): The original list of dictionaries. + list2_data (list or dict): The data to be compared with 'file_list1_data'. If it's a dict, it will be normalized to a List[dict]. + start_point_index (int): The starting index from where 'list2_data' should be compared with 'file_list1_data'. + exclude_Key_s (str or list): The key(s) to be excluded from the comparison. + + Returns: + tuple: A tuple containing a list of tuples with the indexes of the + conflicting elements in 'file_list1_data' and 'list2_data', + and the (new Data) 'list2_data'. + """ + if isinstance(list2_data, dict): + # Normalize Data. + from new_mass_gql import gql_main_call as main_call + list2_data = main_call.Vod.create_vods_from_edges(list2_data["data"]["user"]["videos"]["edges"]) + strt = [] + for index, (list1, list2) in enumerate(zip(file_list1_data, list2_data[start_point_index:])): + check = (index, compare_dicts_excluding(list1, list2, exclude_Key_s)) + if check[-1] is False: + # file_list1_data[index] = list2_data[start_point_index + index] + strt.append((index, start_point_index + index)) + + return strt, list2_data + + +def new_data_to_json_exclude(file_data, new_data, indexes, exclude_key): + """ + This function updates the 'file_data' dictionary with 'new_data' excluding the 'exclude_key/s'. + If 'exclude_key' exists in 'file_data', it is preserved. + + Parameters: + file_data (dict): The original data to be updated. + new_data (dict): The new data to update 'file_data'. + indexes (list): A list of tuples. Each tuple contains two indexes. + The first index is for 'file_data' and the second index is for 'new_data'. + exclude_key (str): The key to be excluded from 'new_data' when updating 'file_data'. + + Returns: + list[dict]: The updated 'file_data' to update json. + """ + for File_index, new_data_index in indexes: + dict_copy = {k: v for k, v in new_data[new_data_index].items() if k != exclude_key} + + if exclude_key in file_data[File_index]: + dict_copy[exclude_key] = file_data[File_index][exclude_key] + file_data[File_index] = dict_copy + return file_data diff --git a/new_mass_gql/tk_get_file_list.py b/new_mass_gql/tk_get_file_list.py new file mode 100644 index 0000000..b1263ac --- /dev/null +++ b/new_mass_gql/tk_get_file_list.py @@ -0,0 +1,643 @@ +# File to visualize json data + +import json +import os +import threading +import tkinter as tk +import webbrowser +from datetime import datetime +from tkinter import IntVar, Radiobutton, messagebox, ttk + +import funcs +import spinner +from utility_dir import util_functions + +# # from ..utility_dir import util_functions + +# # to make the file work as a stand alone +# sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) +# import funcs +# import spinner +# from utility_dir import util_functions + +json_dir = f"{util_functions.get_appdata_dir()}/jsons" + +# FEATURE Make a Class ????. + + +style_theme_names = ( + "winnative", + "clam", + "alt", + "default", + "classic", + "vista", + "xpnative", +) + + +selected_items = [] + + +# [] Super Twitch ONLY data window +def create_popup1( + windowName, columns, processed_data, rawdata, file_path, **visual_only +): + global Main_bg + Main_bg = "#191825" + global selected_items + popup = tk.Tk() + popup.overrideredirect(False) + popup.title(windowName) + popup.minsize(1350, 500) + style = ttk.Style(popup) + style.theme_use("alt") + style.configure( + "Treeview", background="#191825", fieldbackground="#191825", foreground="white" + ) + + # style.configure("TButton", background=[("pressed", "red"), ("active", Main_bg)], foreground='white') + + # style.configure("Treeview", background="#0b0b13", foreground="white") + tree = ttk.Treeview(popup, style="Treeview") + popup.configure( + bg="#191825", + highlightbackground="#296D8F", + highlightcolor="#0b0b13", + highlightthickness=5, + height=min(len(processed_data), 17), + ) + frame1 = tk.Frame( + popup, + bg="#191825", + ) # borderwidth=3, highlightthickness=1, highlightbackground='yellow') + frame2 = tk.Frame( + popup, bg="#191825", borderwidth=3 + ) # , highlightthickness=1, highlightbackground='violet') + frame3 = tk.Frame( + popup, + bg=Main_bg, + ) # borderwidth=3, highlightthickness=1, highlightbackground='white') + frame4 = tk.Frame( + popup, + bg="#191825", + borderwidth=3, + highlightbackground="yellow", + relief="raised", + ) + frame2_subframe = tk.Frame(frame2, relief="sunken") + + style1 = ttk.Style() + style1.configure("new.TNotebook", background=Main_bg, foreground="#272525") + notebook = ttk.Notebook(frame4, style="new.TNotebook") # , width=400) + tab1 = tk.Frame(notebook, bg=Main_bg) + tab2 = tk.Frame(notebook, bg=Main_bg) + + notebook.add(tab1, text="General", compound="center") + notebook.add(tab2, text="Change Status", compound="center") + + explainer_lable = tk.Label( + frame2, + text=( + "Selection/s made by clicking on a Vod/s with Mouse (Multi Hold Shift)\n" + "Use 'Make Selection-Close' (Right) Button to make selection," + "\nSelection will be the first item in the list" + ), + bg="#191825", + fg="white", + font=("Calibri", 10, "bold"), + highlightcolor="white", + justify="left", + relief="sunken", + borderwidth=3, + padx=5, + pady=2, + state="active", + activebackground="silver", + ) + # ----------------------------------------------------------------------------------- + + tree = ttk.Treeview( + frame1, columns=columns, show="headings", height=min(len(processed_data), 17) + ) + # tree.grid(row=1, column=1, sticky='nsew') + + vsb = ttk.Scrollbar(frame3, orient="vertical", command=tree.yview, style="") + # vsb.grid(row=1, column=2, sticky='nsw') + tree.configure(yscrollcommand=vsb.set) + + columns_tree = list(columns.keys()) + tree["columns"] = columns_tree + for col in columns_tree: + tree.heading(col, text=col) + if col == "Index": + tree.column(col, width=20, stretch=tk.NO, anchor="w") + elif col == "Dld Status": + tree.column(col, width=75, stretch=tk.YES, anchor="center") + elif col == "Date": + tree.column(col, width=75, stretch=tk.YES, anchor="center") + elif col == "Vod Length": + tree.column(col, width=75, stretch=tk.YES, anchor="center") + elif col == "Current Status": + tree.column(col, width=80, stretch=tk.YES, anchor="center") + elif col == "Storage type": + tree.column(col, width=75, stretch=tk.NO, anchor="center") + elif col == "Vod Id": + tree.column(col, width=75, stretch=tk.YES, anchor="center") + elif col == "Stream Category": + tree.column(col, minwidth=90, stretch=tk.YES) + elif col == "Title": + tree.column(col, minwidth=200, width=500, stretch=tk.YES, anchor="w") + else: + tree.column(col, width=100, stretch=tk.YES) + + for item in processed_data: + tree.insert("", "end", values=item) + # ----------------------------------------------------------------------------------- + + title_lable = tk.Label( + frame4, + text=(f'Vods List for : {windowName.split('.')[0].title()}'), + bg="#191825", + # fg="#296d8f", + # highlightcolor="red", + justify="center", + font=("Arial", 14), + relief="raised", + highlightbackground="#096597", + # highlightthickness=16, + border=3, + state="disabled", + disabledforeground="#dedbd2", + activebackground="red", + pady=5, + padx=4, + ) + # label2.grid(row=1, rowspan=3, column=3, padx=5, pady=5) + + # def get_selection(event): + # global selected_items + # clicked_index = tree.focus() + # clicked_item = tree.item(clicked_index)['values'] + # if clicked_item in selected_items: + # selected_items.remove(clicked_item) + # else: + # selected_items.append(clicked_item) + + # tree.bind("<ButtonRelease-1>", get_selection) + + def quit_with_selection(): + if selected_items == []: + q = messagebox.askyesno( + title="QUITTING!!", + message="No Selection has Been Made,\nAre you Sure you want to proceed?", + ) + if q: + popup.destroy() + else: + popup.destroy() + + make_selec_btn = tk.Button( + frame4, + text="Make Selection/Close", + command=quit_with_selection, + height=2, + width=17, + font=("Calabri", 10, "bold", "italic"), + highlightcolor="yellow", + background="#4895ef", + foreground="white", + activebackground="#00ff00", + activeforeground="black", + underline=5, + relief="groove", + overrelief="ridge", + pady=7, + cursor="star", + # style="TButton" + ) + + def delete_item(): + global selected_items + for i in tree.selection(): + selected_item = tree.item(i)["values"] + if selected_item in selected_items: + selected_items.remove(selected_item) + count_var.set(f"Selection List: {len(selected_items)}") + + selections_listbox.delete(0, tk.END) + for items in selected_items: + selections_listbox.insert( + tk.END, + f"# {items[0]} {days_ago_simple(items[2])} :Days ago {items[-2]} {items[-1]}", + ) + + # print(selected_items) + + delete_btn = tk.Button( + frame4, + text="Delete selected Item from list", + command=delete_item, + height=1, + width=13, + font=("calabri", 9, "bold", "italic"), + highlightcolor="yellow", + background="#5e1d1d", + foreground="white", + activebackground="#df0000", + activeforeground="white", + underline=0, + relief="groove", + overrelief="ridge", + pady=2, + ) + + def clear_item(): + selected_items.clear() + count_var.set(f"Selection List: {len(selected_items)}") + selections_listbox.delete(0, tk.END) + + clear_btn = tk.Button( + frame4, + text="Clear Selected List", + command=clear_item, + height=1, + width=13, + font=("calabri", 8, "bold", "italic"), + highlightcolor="yellow", + background="#29292c", + foreground="#ff7272", + activebackground="#df0000", + activeforeground="white", + underline=0, + relief="groove", + overrelief="ridge", + pady=1, + cursor="cross", + ) + # new_win = Toplevel() + # new_win.title('Set Item Downloaded') + + def set_item_downloaded(rawdata, file_path, selected_resolution): + question = messagebox.askyesno( + "Change Item Downloaded Status", + f"Set Item/s to '{resolutions[selected_resolution.get()]}' Download status ?", + ) + if selected_items is []: + if question is False: + print("User Closed Window") + elif question is True: + items_selected = [] + for i in selected_items: + items_selected.append(i[0]) + for i in items_selected: + selected_value = resolutions[selected_resolution.get()] + rawdata[i]["downloaded"] = ( + False if selected_value == "False" else selected_value + ) + + # Update the data for the Treeview + data = [ + [index] + + [ + util_functions.simple_convert_timestamp(item[key]) + if key == "publishedAt" + else util_functions.decode_seconds_to_hms(item[key]) + if key == "lengthSeconds" + else item[key] + for key in list(value for value in columns.values())[1:] + ] + for index, item in enumerate(rawdata) + ] + + # Clear all existing items in the Treeview + for item in tree.get_children(): + tree.delete(item) + + # Insert updated data into the Treeview + for item in data: + tree.insert("", "end", values=item) + with open(file_path, "w") as f: + json.dump(rawdata, f, indent=4) + selected_items.clear() + + set_downloaded_btn = tk.Button( + tab2, + text='Set Item/s to "Downloaded"', + command=lambda: set_item_downloaded(rawdata, file_path, x), + height=1, + width=13, + font=("Arial", 9, "bold"), + highlightcolor="yellow", + background="#4895ef", + foreground="white", + activebackground="#FECD1A", + activeforeground="black", + underline=0, + relief="groove", + overrelief="ridge", + pady=2, + cursor="exchange", + ) + + selections_listbox = tk.Listbox( + frame2_subframe, + highlightbackground="#242c53", + selectbackground="#191825", + height=4, + width=120, + justify="left", + bg="#191825", + fg="white", + activestyle="underline", + ) + selections_listbox.pack(fill="both") + + # tree.bind('<ButtonRelease-1>', delete_item) + + def days_ago_simple(timestamp): + """ + Returns: + int of days ago + """ + dt = datetime.strptime(timestamp, "%Y-%m-%d") + now = datetime.now() + difference = now - dt + return difference.days + + def select_items(_): + global selected_items + + # print(selected_items) + for i in tree.selection(): + # print(i) + # print(tree.item(i)['values']) + selected_item = tree.item(i)["values"] + if selected_item in selected_items: + selected_items.remove(selected_item) + selected_items.append(selected_item) + else: + selected_items.append(selected_item) + # selected_items.append(tree.item(i)['values']) + # print(selected_items, "\n") + selections_listbox.delete(0, tk.END) + for items in selected_items: + selections_listbox.insert( + tk.END, + f"# {items[0]} {days_ago_simple(items[2])} :Days ago {items[-2]} {items[-1]}", + ) + count_var.set(f"Selection List: {len(selected_items)}") + + tree.bind("<<TreeviewSelect>>", select_items) + + open_appdata_btn = tk.Button( + tab1, + text="Open Folder", + underline=5, + justify="center", + font=("Calabri", 8), + relief="raised", + overrelief="groove", + command=lambda: os.startfile(json_dir), # NOTE gets link from File arg. + height=1, + width=9, + highlightcolor="red", + background="#4361ee", + foreground="white", + activebackground="#003554", + activeforeground="white", + pady=3, + ) + + # Create a StringVar() variable + count_var = tk.StringVar() + count_var.set(f"Selection List: {len(selected_items)}") + list_name_label = tk.Label( + frame2, + textvariable=count_var, + font=("Arial", 8, "bold"), + bg="#1B192B", + fg="White", + padx=2, + highlightbackground="#453303", + highlightthickness=2, + ) + explainer_lable.pack(side="right", anchor="e", fill="y") + list_name_label.pack( + anchor="nw", + pady=1, + fill="both", + ) + + def open_in_browser(): + for vods in selected_items: # selected_items: + webbrowser.open(f"www.twitch.tv/videos/{vods[6]}") + + open_twitch_btn = tk.Button( + tab1, + text="Open Vod's in Browser", + font=("Arial", 7, "bold"), + command=open_in_browser, + bg="#4361ee", + fg="#fdfdfd", + underline=14, + overrelief="ridge", + activebackground="#003554", + activeforeground="white", + pady=2, + padx=5, + ) + open_twitch_btn.pack(side="top", padx=5, pady=3) + + def on_close(): + close_conf = messagebox.askyesno(title="CLOSE?", message="Close Window?") + if close_conf: + selected_items.clear() + count_var.set(f"Selection List: {len(selected_items)}") + selections_listbox.delete(0, tk.END) + popup.destroy() + + # Change the behavior of the close button + popup.protocol("WM_DELETE_WINDOW", on_close) + # ----------------------------------------------------------------------------------- + + frame2_subframe.pack(fill="both") + # frame2_subframe.grid() + + frame1.grid(row=1, column=1, sticky="nsew") + tree.pack(side="left", fill="both", anchor="ne", expand=True) + vsb.pack(side="left", fill="y", anchor="nw", expand=True, padx=2) + + frame2.grid(row=2, column=1, sticky="nsew") + + frame3.grid(row=1, column=2, sticky="nsew") + + frame4.grid(row=1, column=3, sticky="nsew", rowspan=2) + + # ----------------------------------------------------------------------------------- + open_appdata_btn.pack(side="top", fill="both", padx=5, pady=2) + + title_lable.pack(side="top", fill="x", padx=5, pady=2) + # ----------------------------------------------------------------------------------- + + style = ttk.Style() + style.configure("Line.TSeparator", background="#44296e") + sep = ttk.Separator(frame4, orient="horizontal", style="Line.TSeparator") + sep.pack(side="top", fill="x", padx=10, pady=10, expand=False) + # ----------------------------------------------------------------------------------- + + notebook.pack(side="top", fill="both", expand=True, anchor="nw") + + # ----------------------------------------------------------------------------------- + style = ttk.Style() + style.configure("Line.TSeparator", background="#44296e") + sep = ttk.Separator(frame4, orient="horizontal", style="Line.TSeparator") + sep.pack(side="top", fill="x", padx=10, pady=10, expand=False) + # ----------------------------------------------------------------------------------- + + if not visual_only: + resolutions = ["1080p", "720p", "480p", "360p", "160p", "False"] + x = IntVar() + for index in range(len(resolutions)): + radiobutton = Radiobutton( + tab2, + bg="#191825", + fg="#0576A7", + activebackground="#191825", + activeforeground="#00ff95", + highlightbackground="yellow", + # selectcolor='aqua', + anchor="w", + text=resolutions[index], # adds text to radio buttons + variable=x, # groups radiobuttons together if they share the same variable + value=index, # assigns each radiobutton a different value + padx=1, # adds padding on x-axis + font=("Impact", 12), + compound="left", # adds image & text (left-side) + # style="switch", + ) + radiobutton.pack(fill="both", anchor="w") + + set_downloaded_btn.pack(side="top", fill="x", padx=1, pady=5) + # ----------------------------------------------------------------------------------- + + make_selec_btn.pack(side="bottom", fill="x", padx=1, pady=2) + + delete_btn.pack(fill="x", side="bottom", padx=1, pady=2) + + clear_btn.pack(side="bottom", fill="x", padx=1, pady=2) + + popup.grid_columnconfigure(1, weight=1) + popup.grid_rowconfigure(1, weight=1) + + popup.update_idletasks() + + width = popup.winfo_width() + height = popup.winfo_height() + + if visual_only: + make_selec_btn.config(text="Exit", command=popup.destroy, cursor="") + set_downloaded_btn.pack_forget() + explainer_lable.pack_forget() + title_lable.config(text=f'New Vods for : {windowName.split('.')[0].title()}') + # tree.config(selectmode="none") + # clear_btn.pack_forget() + # clear_btn.pack_forget() + # delete_btn.pack_forget() + # selections_listbox.pack_forget() + # frame2_subframe.pack_forget() + # list_name_label.pack_forget() + # frame4.pack_forget() + + popup.geometry(f"{width}x{height}") + popup.mainloop() + + +def process_data(input_data, windName, file_path, **kwargs) -> tuple: + selected_items.clear() + spinner1 = spinner.Spinner() + spinner1.start() + columns = { + "Index": "index", + "Dld Status": "downloaded", + "Date": "publishedAt", + "Vod Length": "lengthSeconds", + "Current Status": "status", + "Storage type": "broadcastType", + "Vod Id": "id", + "Stream Category": "gameName", + "Title": "title", + } + data = [ + [index] + + [ + util_functions.simple_convert_timestamp(item[key]) + if key == "publishedAt" + else util_functions.decode_seconds_to_hms(item[key]) + if key == "lengthSeconds" + else item[key] + for key in list(value for value in columns.values())[1:] + ] + for index, item in enumerate(input_data) + ] + + if kwargs: + spinner1.stop() + create_popup1( + windName, columns, data, input_data, file_path, visual_only=kwargs["arg1"] + ) + else: + create_popup1(windName, columns, data, input_data, file_path) + + try: + listIndexs = [(index[0], input_data[index[0]]) for index in selected_items] + print("🐍 File: new_mass_gql/tk_get_file_list.py | Line: 593 | process_data ~ listIndexs",listIndexs) + print("🐍 File: new_mass_gql/tk_get_file_list.py | Line: 593 | process_data ~ listIndexs",listIndexs[0]) + spinner1.stop() + # return listIndexs[0] if listIndexs else None + return listIndexs[0] + except IndexError: + spinner1.stop() + os.system('cls') + import startup + startup.main_start() + + + # FIX if empty close will be an empty [] and errors as it has no indexes[0]| error handling on the call but still not ideally what i want. + # WATCH set this to 0 index as haven't implemented multi downloading + + +def call_tk_file(file_path) -> tuple | None: + windName = os.path.basename(file_path) + with open(file_path, "r") as f: + jsond = json.load(f) + return process_data(jsond, windName, file_path) + + +def call_tk_data(data): + windName = data[0].get("displayName") + kwargs = {"arg1": True} + t1 = threading.Thread(target=process_data, args=(data, windName, ""), kwargs=kwargs) + t1.start() + return + + +def call_as_solo(): + appdata_dir = rf"{util_functions.get_appdata_dir()}\jsons" + list_files = [] + for files in os.listdir(appdata_dir): + list_files.append(files) + chosen_dir = rf'{appdata_dir}\{funcs.multi_choice_dialog('Open:', list_files)}' + return call_tk_file(chosen_dir) + + +# file = "C:\\Users\\970EVO-Gamer\\AppData\\Local\\Stream-Downloader-Util\\jsons\\algobro.json" +# with open(file, 'r') as f: +# data = json.load(f) + +# call_tk_data(data) +# call_tk_file(file) +# if __name__ == '__main__': +# call_tk_file(file_path) + +# input('exit ................') diff --git a/requirements.txt b/requirements.txt index 301c55e..0fad14b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,12 @@ -inquirer==3.1.3 -psutil==5.9.5 +beautifulsoup4==4.12.2 +httpx==0.25.2 +inquirer==3.1.4 +m3u8==3.6.0 +numpy==1.26.2 +pretty_errors==1.2.25 +psutil==5.9.6 pyperclip==1.8.2 Requests==2.31.0 Send2Trash==1.8.2 -tqdm==4.65.0 -numpy==1.26.0 -python==3.11 +tqdm==4.66.1 +pipreqs==0.4.13 diff --git a/spinner.py b/spinner.py new file mode 100644 index 0000000..4ce8abd --- /dev/null +++ b/spinner.py @@ -0,0 +1,66 @@ +import sys +import threading +import time + +# class Spinner: +# def __init__(self, delay=0.1): +# self.spinner = self.spinning_cursor() +# self.delay = delay +# self.stop_running = threading.Event() +# self.spin_thread = threading.Thread(target=self.init_spin) + +# def spinning_cursor(self): +# while not self.stop_running.is_set(): +# yield from '|/-\\' + +# def init_spin(self): +# while not self.stop_running.is_set(): +# sys.stdout.write(next(self.spinner)) +# sys.stdout.flush() +# time.sleep(self.delay) +# sys.stdout.write('\b') +# sys.stdout.flush() + +# def start(self): +# self.spin_thread.start() + +# def stop(self): +# self.stop_running.set() +# self.spin_thread.join() + + + +class Spinner: + def __init__(self, delay=0.2, message="Processing..."): + self.spinner = self.spinning_cursor() + self.delay = delay + self.message = message + self.stop_running = threading.Event() + self.spin_thread = threading.Thread(target=self.init_spin) + + def spinning_cursor(self): + while not self.stop_running.is_set(): + yield from '|/-\\' + + def init_spin(self): + while not self.stop_running.is_set(): + sys.stdout.write(next(self.spinner) + " " + self.message) + sys.stdout.flush() + time.sleep(self.delay) + sys.stdout.write('\b' * (len(self.message) + 2)) + sys.stdout.flush() + + def start(self): + self.spin_thread.start() + + def stop(self): + self.stop_running.set() + self.spin_thread.join() + + + +# # # Usage: +# spinner = Spinner() +# spinner.start() +# time.sleep(10) +# spinner.stop() diff --git a/startup.py b/startup.py new file mode 100644 index 0000000..3b2eaff --- /dev/null +++ b/startup.py @@ -0,0 +1,119 @@ + +import os +import threading + +import auth_skip_ads_ +import funcs +import init_files +from ffmpegExtract import ffmpegextract +from new_mass_gql import check_new_streams, gql_main_call, tk_get_file_list +from utility_dir import get_single_vod_ +from utils import video_data_cross_checker + + +def main_start(impt_data=None): + + def download(): + from Main import main_script + main_script() + + def remux(): + from mux_vid import mux + mux(ran_as_main=True) + + def extract(): + ffmpegextract() + + def download_shutdown(): + from Main import main_script + main_script(True) + + def exit_program(): + exit() + + def making_vods_list(): + gql_main_call.First_making_cmds() + + def check_streams(): + mn_rtrn = check_new_streams.start_new_vods() + main_start() + + def retrieve_saved_vod(): + if impt_data: + aad = get_single_vod_.Run_get_vod('') + aad = get_single_vod_.Run_get_vod('') + # print(aad) + from Main import main_script + + # from new_mass_gql import tk_get_file_list + # print(aad[0]) + # tk_get_file_list.call_tk_vod_view(f'c:/Users/970EVO-Gamer/AppData/Local/Stream-Downloader-Util/jsons/{aad[0]}.json') # FIX sloppy af. + if (shutdown := funcs.multi_choice_dialog('Download Type', ['Normal', 'Auto Shutdown', '**Cancel**']) == "Normal"): + main_script(fromfile=aad) + elif shutdown == '**Cancel**': + os.system('cls') + main_start() + else: + main_script(download_with_Shutdown=True, fromfile=aad) + + def list_view(): + tk_get_file_list.call_as_solo() + main_start() + + def crosscheck_vod_details(): + video_data_cross_checker.main() + os.system('cls') + main_start() + + # Define your dictionary + switch = { + 'Download': download, + 'Remux': remux, + 'Extract': extract, + 'Download-Shutdown': download_shutdown, + 'Get Vod from File': retrieve_saved_vod, + 'Create Streamer Vods File': making_vods_list, + 'Check for New Vods': check_streams, + 'List View': list_view, + 'Cross-check Vods to Json Data': crosscheck_vod_details, + 'Exit': exit_program, + } + + os.system("title Stream Downloader Util") + t1 = threading.Thread(target=auth_skip_ads_.auth_file_check) + t1.start() + t2 = threading.Thread(target=init_files.init_links_file) + t2.start() + + init_files.version_check() + init_files.logger_setup() + + question = ('Start Commands') + responses = [ + 'Download', + 'Remux', + 'Extract', + 'Download-Shutdown', + 'Get Vod from File', + 'Check for New Vods', + 'Create Streamer Vods File', + 'List View', + 'Cross-check Vods to Json Data', + 'Exit' + ] + rprog = funcs.multi_choice_dialog(question, responses) + + # Get the function from the dictionary + func = switch.get(rprog) #ignore: E262 + # when_= 4-8 + # Call the function if it's not None + if func: + func() + else: + print("Invalid option") + + + + +if __name__ == '__main__': + main_start() diff --git a/utility_dir/__init__.py b/utility_dir/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/utility_dir/get_single_vod_.py b/utility_dir/get_single_vod_.py new file mode 100644 index 0000000..a709da9 --- /dev/null +++ b/utility_dir/get_single_vod_.py @@ -0,0 +1,91 @@ +# Gets specific index data from saved Json dict[list]. + +import json +import os +import pprint + +# import util_functions as util # Only to test code inside this module +from new_mass_gql.tk_get_file_list import call_tk_file + +from . import util_functions as util + + +def get_file_list_from_dir(vods_dir) -> list: + '''Returns a list of file names in the given directory & strips .json Suffix''' + return [files.removesuffix('.json') for files in os.listdir(vods_dir)] + + +def select_json(list_of_streamer_jsons): + string_list_of_streamer_jsons = ', '.join(list_of_streamer_jsons) + 'Cancel' + list_of_streamer_jsons.append('Cancel') + choice = util.multi_choice_dialog( + 'List of saved Jsons', + choice_s=list_of_streamer_jsons, + return_options="dict", + keys_name='streamer' + ) + if choice.get("streamer") == 'Cancel': # WATCH Implemented only for multichoise, if tkinter maybe take OUT. + import startup + os.system("cls") + startup.main_start() + return choice + + +def creator_load_json_data(selected_json): + # with open(f'jsons\\{selected_json['streamer']}.json', 'r') as f: + with open(rf'{util.get_appdata_dir()}\jsons\{selected_json['streamer']}.json', 'r') as f: + return json.load(f) + + +def select_video(data, selected_json): + # quick_desc_ = [(i, util.simple_convert_timestamp(d['publishedAt']), util.decode_seconds_to_hms(d['lengthSeconds']), d['gameName'], d['title'], d['downloaded']) for i, d in enumerate(data)] + # quick_desc_.append("Cancel") + # stream = util.multi_choice_dialog(f'What Vod do you want form {selected_json['streamer']}----------', choice_s=quick_desc_) + # if stream == "Cancel": + # get_desired_vod_from_lst() # WATCH Implemented only for multichoise, if tkinter maybe take OUT. + + stream = call_tk_file(rf'{util.get_appdata_dir()}\jsons\{selected_json['streamer']}.json') + # print("🐍 File: utility_dir/get_single_vod_.py | Line: 49 | select_video ~ stream",stream) + + if stream == []: + get_desired_vod_from_lst() # WATCH Implemented only for multichoise, if tkinter maybe take OUT. + else: + return stream # type: ignore will not be None + # else: + # index = int(stream.strip('(').split(',')[0]) # type: ignore will not be None + # return (index, data[index]) + # return (index, data[index]) + + +def get_desired_vod_from_lst(**kwargs) -> dict: + vods_file_dir = rf'{util.get_appdata_dir()}\jsons' + if 'selected_json' not in kwargs: + list_of_streamers_jsons = get_file_list_from_dir(vods_file_dir) + selected_json = select_json(list_of_streamers_jsons) + data = creator_load_json_data(selected_json) + video = select_video(data, selected_json) + if video: + return selected_json, { + 'file': f"{selected_json['streamer']}.json", # type: ignore will not be None + 'index': video[0], + 'vod_info': video[1] + } + else: + os.system('cls') + print('No Selection Made!\n') + import startup + startup.main_start() + # return selected_json, { + # 'file': f"{selected_json['streamer']}.json", # type: ignore will not be None + # 'index': video[0], + # 'vod_info': video[1] + # } + # webbrowser.open(video[1]['url']) + + +def Run_get_vod(streamer_name): + return get_desired_vod_from_lst(streamer=streamer_name) + + +if __name__ == '__main__': + Run_get_vod('') diff --git a/utility_dir/util_functions.py b/utility_dir/util_functions.py new file mode 100644 index 0000000..4cd5405 --- /dev/null +++ b/utility_dir/util_functions.py @@ -0,0 +1,245 @@ +import json +import os +import pprint +import webbrowser +from datetime import datetime, timezone + +import inquirer + + +def update_downloaded_to_resolution(target_id, new_value): + jsonss_dir = f'{get_appdata_dir()}/jsons/' + + for filename in os.listdir(jsonss_dir): + if filename.endswith('.json'): # Assuming the dicts are stored in .json files + file = os.path.join(jsonss_dir, filename) + with open(file, 'r') as f: + data = json.load(f) + for i, d in enumerate(data): + if d.get('id') == target_id: + # target_file_obj = {filename: i} + data[i]['downloaded'] = new_value + break # If you want to stop searching after finding the first match + with open(file, 'w') as f: + json.dump(data, f, indent=4) + + +def get_appdata_dir(): + appdata_path = os.getenv("LOCALAPPDATA") + return os.path.join(str(appdata_path), "Stream-Downloader-Util") + + +def decode_seconds_to_hms(total_seconds): + hours = total_seconds // 3600 + minutes = (total_seconds % 3600) // 60 + seconds = total_seconds % 60 + return f"{hours}:{minutes}:{seconds}" + +def encode_hms_to_seconds(time_str, split_on=':'): + """input must be hh:mm:ss format separated by :""" + hours, minutes, seconds = map(int, time_str.split(split_on)) + return hours * 3600 + minutes * 60 + seconds + + +def dump_json_ind4(*, file_path, content_dump) -> None: + """Dumps Content to FilePath as Json with indent=4""" + with open(file_path, "w") as json_file: + json.dump(content_dump, json_file, indent=4) + + +def convert_timestamp(timestamp): + """ + Returns: + Readable Time from twitch gql query. + """ + dt = datetime.strptime(timestamp, "%Y-%m-%dT%H:%M:%SZ") + return dt.strftime("%A, %d %B %Y %I-%M-%S") + + +def simple_convert_timestamp(timestamp): + """ + Returns: + Readable Time from twitch gql query. + """ + dt = datetime.strptime(timestamp, "%Y-%m-%dT%H:%M:%SZ") + return dt.strftime("%Y-%m-%d") + + +def days_ago(timestamp): + """ + Returns: + int of days ago + """ + dt = datetime.strptime(timestamp, "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=timezone.utc) + now = datetime.now(timezone.utc) + difference = now - dt + return difference.days + + +def compare_latest_vod_index(content: list[dict], gql_resp): + """ + Compares the latest video id from GraphQL response with + the first id in a .JSON data. + + Args: + content (str): Data from a JSON file list[dict]. + gql_resp (dict): GraphQL.json() response. + + Returns: + None if ids match, else calls get_index_last_vod function returns + with matching index:int. + """ + # [] need to error handle incase response is empty/ not the same structure. + latest = gql_resp["data"]["user"]["videos"]["edges"][0]["node"].get("id") + if latest == content[0]["id"]: + return 0 + else: + return get_index_last_vod(content, gql_resp) + + +def get_index_last_vod(content, gql_resp): + """ + Creates a list[dict] of video ids from gql map, gets the [0]['id'] from + the content and passes to get_index_of_target_id to find in gql. + + Args: + content (key=id{value=stream-id-number}): Content loaded from a JSON file. + gql_resp (dict): GraphQL response. + + Returns: + + """ + id_list = [] + if isinstance(gql_resp, list): + for i in gql_resp: + id_value = i.get("id") + id_dict = {"id": id_value} + id_list.append(id_dict) + else: + for edge in gql_resp["data"]["user"]["videos"]["edges"]: + id_value = edge["node"].get("id") + id_dict = {"id": id_value} + id_list.append(id_dict) + targid = content[0]["id"] + # [] add return to after the base call not here makes this dependant on Get_index + # make return just be the raw data return id_list, targid. + return get_index_of_target_id(input_content=id_list, target_id=targid) + + +def get_index_of_target_id(*, input_content, target_id: str): + """ + Finds the list index of a target ID in a JSON [lst{dict}] object. + + Parameters: + input_content (str or list): The content to be searched. + It could be a filename (str) or a list of dictionaries. + target_id (str): The ID to be searched for. + + Returns: + int or bool: The index of the target ID in the content. + If the target ID is not found, it returns False. + """ + if isinstance(input_content, list): + first_id = input_content[0].get("id") + if first_id == target_id: + # print("🐍 File: utility_dir/util_functions.py | Line: 105 | get_index_of_target_id ~ first_id",first_id) + return 0 + else: + content = input_content + else: + with open(input_content, "r") as f: + content = json.load(f) + return next( + ( + objects + for objects, dictkey in enumerate(content) + if dictkey.get("id") == target_id + ), + False, + ) + + +def multi_choice_dialog(mssg: str, choice_s: list, + return_options="str", keys_name="Key" + ): + """ + Args: + mssg (str): questions mssg + choice_s (list): choices + return_options (str, optional): if u want a string returned or dict. + keys_name (str, optional): name of "Key" in dict. + + Returns: + Str or Dict + """ + questions = [ + inquirer.List( + keys_name, + message=mssg, + choices=choice_s, + ), + ] + answer = inquirer.prompt(questions) + if answer is not None: + if return_options == "str": + return "".join([str(value) for value in answer.values()]) + return answer + +# vods_dir = r'jsons\\' +# vods_list = [] +# for files in os.listdir(vods_dir): +# vods_list.append(files.removesuffix('.json')) +# import pretty_errors + +# def retreve_video_desired(): +# vods_dir = r'jsons\\' +# list_of_streamer_jsons = [files.removesuffix('.json')for files in os.listdir(vods_dir)] +# string_list_of_streamer_jsons = ', '.join(list_of_streamer_jsons) + +# selected_json = multi_choice_dialog( +# string_list_of_streamer_jsons, +# choice_s=list_of_streamer_jsons, +# return_options="dict", keys_name='streamer' ) + +# with open(f'jsons\\{selected_json['streamer']}.json', 'r') as f: # type: ignore will not be None +# data = json.load(f) + +# quick_desc_ = [(i, d['publishedAt'], d['title']) for i, d in enumerate(data)] + +# stream = multi_choice_dialog( +# f'What Vod do you want form {selected_json['streamer']}----------',# type: ignore will not be None +# choice_s=quick_desc_ +# ) + +# index = int(stream.strip('(').split(',')[0])# type: ignore will not be None +# print({f"{selected_json}.json":data[index]}) + +# # webbrowser.open(data[index]['url']) + + + + + + +# import pretty_errors + +# print("hello") +# # testing errors. +# with open("jsons/kotton.json") as f: +# data = json.load(f) +# latest = data[100].get("id") +# print(latest) +# # Your list +# data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,] + +# # Pop the item at index 14 +# popped_item = data.pop(8) +# print(f"Popped item: {popped_item}") +# print(f"List after popping: {data}") + +# # The new item you want to insert +# new_item = 'new_item' + +# # Insert the new item at index 14 +# data.insert(8, 255) +# print(f"List after inserting: {data}") diff --git a/utils/__init__.py b/utils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/utils/video_data_cross_checker.py b/utils/video_data_cross_checker.py new file mode 100644 index 0000000..91763cc --- /dev/null +++ b/utils/video_data_cross_checker.py @@ -0,0 +1,247 @@ +# ########################## Mass File Checking to compare if has been downloaded with Jsons data ######################### +import json +import os +import re +import subprocess +import threading +from queue import Queue +from tkinter import filedialog + +# import funcs +import funcs +import spinner +from utility_dir.util_functions import get_appdata_dir + +# to make the file work as a stand alone +# sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) + + +def find_files(directory): + ok_extentions = ["mp4", "mvk", "mov", "flv"] + files = [] + for dirpath, dirnames, filenames in os.walk(directory, followlinks=True): + for filename in filenames: + full_path = os.path.join(dirpath, filename) + if filename.rsplit('.')[-1] in ok_extentions: + files.append(full_path) + return files + + +def get_video_data(vid_list: list): + """Returns a list(tuple) (video_path, vid_length, vid_fps, vid_height, vid_size)""" + ''' + import subprocess + import concurrent.futures + + # List of commands to run + commands = ['ls', 'pwd', 'date'] + + def run_command(command): + process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) + stdout, stderr = process.communicate() + + if process.returncode != 0: + return f'Error executing command: {command}\nError message: {stderr.decode()}' + else: + return stdout.decode() + + # Use a ThreadPoolExecutor to run the commands in parallel + with concurrent.futures.ThreadPoolExecutor() as executor: + outputs = list(executor.map(run_command, commands)) + + # Now outputs contains the output of each command + for i, output in enumerate(outputs): + print(f'Output of command {commands[i]}: {output}') + ''' + + video_info = [] + for video in vid_list: + q1 = Queue() + q2 = Queue() + q3 = Queue() + vid_size = os.path.getsize(video) + vid_length = threading.Thread(target=get_video_file_length, args=(video, q1)) + vid_fps = threading.Thread(target=get_video_framerate, args=(video, q2)) + vid_height = threading.Thread(target=get_video_height, args=(video, q3)) + vid_height.start() + vid_length.start() + vid_fps.start() + vid_height.join() + vid_length.join() + vid_fps.join() + vid_height = q3.get() + vid_length = q1.get() + vid_fps = q2.get() + + video_info.append((video, vid_length, vid_fps, vid_height, vid_size)) + return video_info + + +def get_video_file_length(file_path, queue): + get_len_of_vod_file = subprocess.Popen( + rf'ffprobe -i "{file_path}" -v quiet -show_entries format=duration -of default=noprint_wrappers=1:nokey=1', + shell=False, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + universal_newlines=True, + cwd='c:/ffmpeg/' # FIX replace me. + ) + stdout, stderr = get_len_of_vod_file.communicate() + get_len_of_vod_file.wait() + queue.put(int(stdout.split('.')[0])) + + +def get_video_framerate(filepath, queue): + stdout = '' + try: + process = subprocess.Popen( + f'ffprobe -v error -select_streams v:0 -show_entries stream=avg_frame_rate -of default=noprint_wrappers=1:nokey=1 "{filepath}"', + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + universal_newlines=True, + cwd='c:/ffmpeg/' # FIX replace me. + ) + stdout, stderr = process.communicate() + process.wait() + numerator, denominator = map(int, stdout.split('/')) + result = numerator / denominator + queue.put(str(round(result))) + except ValueError as e: + print( + f"\n{e}: {os.path.basename(filepath)}" + "\nLikely an Non Mux'ed video Included or Sys is accessing the File\n" + ) + queue.put(stdout.split('/')[0]) + + +def get_video_height(filepath, queue): + process = subprocess.Popen( + f'ffprobe -v error -select_streams v:0 -show_entries stream=height -of csv=s=x:p=0 "{filepath}"', + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + universal_newlines=True, + cwd='c:/ffmpeg/' # FIX replace me. + ) + stdout, stderr = process.communicate() + process.wait() + queue.put(stdout.split('\n')[0]) + # return str(stdout) + + +def vod_titles_parse(vods_info): + """returns a dicts{dicts} of vods. Key(filepath): keys{ + length, + size, + username, + date, + game, + title, + gamename, + filetype + } +""" + vods_details = {} + for info in vods_info: + path = os.path.basename(info[0]) + if match := re.match( + r'(?P<username>.*?) - (?P<date>\d{4}-\d{2}-\d{2}) (?P<title>.*?)_(?P<gamename>.*?)\.(?P<filetype>\w+)$', + path, + ): + vods_details[f'{info[0]}'] = { + "length": info[1], + "size": info[-1], + "height_fps": f'{info[3].strip()}p{info[2]}', + "username": match.group('username'), + "date": match.group('date'), + "title": match.group('title'), + "gamename": match.group('gamename'), + "filetype": match.group('filetype') + } + else: + filetype = path.rsplit('.', 1)[-1] + basename = path.rsplit('.', 1) + username = basename[0].split('-', 1)[0].strip().lower() + date = basename[0].split(' ', 3)[-2] + title0 = basename[0].rsplit('_', 1)[0] + titlename = title0.split(' ', 3)[-1].strip() + gamename = basename[0].rsplit('_', 1)[-1].strip() + vods_details[f'{info[0]}'] = { + "length": info[1], + "size": info[-1], + "height_fps": f'{info[3].strip()}p{info[2].strip()}', + "username": username, + "date": date, + "titlename": titlename, + "gamename": gamename, + "filetype": filetype + } + return vods_details + + +def compare_sizes(size1, size2, tolerance): + """ + This function compares two file sizes with a certain tolerance. + """ + return abs(size1 - size2) <= tolerance + + +def compare_with_tolerance(a, b, tolerance=10): + return abs(a - b) <= tolerance + + +appdir = f'{get_appdata_dir()}/jsons' + + +def list_files_in_directory(appdir): + appdir_files = [] + for fjsons in os.listdir(appdir): + appdir_files.append(fjsons) + return appdir_files + + +def vod_user_names(appdir_files, compare_data): + total_names_from_dld_dir = [] + for key in compare_data: + if (f'{compare_data[key]['username'].lower()}.json') in appdir_files and compare_data[key]['username'].lower() not in total_names_from_dld_dir: + total_names_from_dld_dir.append(compare_data[key]['username']) + return total_names_from_dld_dir + + +def change_download_status(total_names_from_dld_dir, appdir, compare_data): + for i in total_names_from_dld_dir: + with open(f'{appdir}/{i}.json', 'r') as jf: + innerdata = json.load(jf) + for index, jdata in enumerate(innerdata): + for vodfile in compare_data: + if compare_data[vodfile]['username'].lower() == i: + # Compare 'username' with 'id' + if ( + compare_data[vodfile]['username'] == jdata['displayName'] + and compare_sizes(compare_data[vodfile]['length'], jdata['lengthSeconds'], 20) + and compare_data[vodfile].get('title') == jdata['title'] + and jdata['downloaded'] is False + ): + innerdata[index]['downloaded'] = compare_data[vodfile]['height_fps'] + with open(f'{appdir}/{i}.json', 'w') as wf: + json.dump(innerdata, wf, indent=4) + + +def main(): + spinner1 = spinner.Spinner(message='Processing Video Information...') + lfid = list_files_in_directory(appdir) + + spinner1.start() + + walk_tree = filedialog.askdirectory() + vods_info = get_video_data((find_files(walk_tree))) + compare_data = (vod_titles_parse(vods_info)) + + vun = vod_user_names(lfid, compare_data) + + change_download_status(vun, appdir, compare_data) + + spinner1.stop() + + +if __name__ == '__main__': + main() diff --git a/zextra_Funcs_/Chapters Aysinc working.py b/zextra_Funcs_/Chapters Aysinc working.py new file mode 100644 index 0000000..9458789 --- /dev/null +++ b/zextra_Funcs_/Chapters Aysinc working.py @@ -0,0 +1,99 @@ +# async with GQL things is working for chapters. needs gql main call vars to work properly + +import json + +import httpx + +gql_client: str = "kd1unb4b3q4t58fwlpcbzcbnm76a8fp" +GQL_URL = "https://gql.twitch.tv/gql" +GQL_HEADERS = {"Client-ID": ""} + + +class GQLException(Exception): + pass + + +class GQLItemError(Exception): + pass + + +# We use Twitch's private client ID for GQL calls +def set_client_id(client_id: str): + global GQL_HEADERS + GQL_HEADERS["Client-ID"] = client_id + + +def _process_query_errors(resp): + j = resp.json() + if 400 <= resp.status_code < 500 or "errors" in j: + raise GQLException(j) + + +def gql_post(json=None, data=None): + global GQL_URL, GQL_HEADERS + resp = httpx.post(GQL_URL, json=json, data=data, headers=GQL_HEADERS) + _process_query_errors(resp) + return resp + + +def gql_query(query=None, data=None): + return gql_post(json={"query": query}, data=data) + + +# VOD chapters query +GET_VIDEO_CHAPTERS = """{{ +video(id: {id}) {{ + moments(first:100, momentRequestType: VIDEO_CHAPTER_MARKERS, after: {after}) {{ + edges {{ cursor node {{ + description type positionMilliseconds durationMilliseconds +}} }} }} }} }} +""" + +chapter_page = 'null' +with open('C:/Users/970EVO-Gamer/AppData/Local/Stream-Downloader-Util/jsons/deadlyslob.json', 'r') as f: + data = json.load(f) + +chapters = [] +gql_queries = [] +for index, items in enumerate(data): + + query = GET_VIDEO_CHAPTERS.format( + id=items.get('id'), after=chapter_page + ) + # print("🐍 File: Stream-Downloader-Util/Testcode.py | Line: 705 | undefined ~ query",query) + gql_queries.append((index, query)) + + +import asyncio + +import httpx + +semaphore = asyncio.Semaphore(10) # Funky outcomes sometimes 10,50,100 all error. + +async def fetch(GQL_URL, gql_query, GQL_HEADERS): + async with semaphore: + async with httpx.AsyncClient() as client: + response = await client.post(GQL_URL, json={"query": gql_query[1]}, headers=GQL_HEADERS) + _process_query_errors(response) + return gql_query[0], response.json() # Return the pairing object with the response + +async def fetch_all(GQL_URL, queries, GQL_HEADERS): + tasks = [fetch(GQL_URL, gql_query, GQL_HEADERS) for gql_query in queries] + results = await asyncio.gather(*tasks) + return dict(results) + + + +# Fetch all responses +responses = asyncio.run(fetch_all(GQL_URL, gql_queries, GQL_HEADERS)) + +chapter_list = [] +# Print the responses +for index, response in responses.items(): + video = response.get('data', {}).get('video') + if video is not None: + edges = video.get('moments', {}).get('edges') + if edges is not None and len(edges) > 0: # Check if edges is not an empty list + chapter_list.append((index, response)) + +print(chapter_list) \ No newline at end of file diff --git a/zextra_Funcs_/Original_gql_file.py b/zextra_Funcs_/Original_gql_file.py new file mode 100644 index 0000000..f8b56d5 --- /dev/null +++ b/zextra_Funcs_/Original_gql_file.py @@ -0,0 +1,278 @@ + + +import json +import os +import pprint + +import requests + +gql_client: str = "kd1unb4b3q4t58fwlpcbzcbnm76a8fp" +GQL_URL = "https://gql.twitch.tv/gql" +GQL_HEADERS = {"Client-ID": ""} + +class GQLException(Exception): + pass + + +class GQLItemError(Exception): + pass + +# We use Twitch's private client ID for GQL calls +def set_client_id(client_id: str): + global GQL_HEADERS + GQL_HEADERS["Client-ID"] = client_id + + +def _process_query_errors(resp): + j = resp.json() + if 400 <= resp.status_code < 500 or "errors" in j: + raise GQLException(j) + + +def gql_post(json=None, data=None): + global GQL_URL, GQL_HEADERS + resp = requests.post(GQL_URL, json=json, data=data, headers=GQL_HEADERS) + _process_query_errors(resp) + return resp + + +def gql_query(query=None, data=None): + return gql_post(json={"query":query}, data=data) + +# GQL Query forms +# Channel VODs query +GET_CHANNEL_VIDEOS_QUERY = """ +{{ user(login: "{channel_id}") {{ + videos( first: {first}, sort: {sort}, after: {after} ) {{ + totalCount + edges {{ cursor + node {{ + id title publishedAt broadcastType status lengthSeconds viewCount + game {{ id name }} + creator {{ id login displayName }} +}} }} }} }} }} +""" + +VIDEO_ACCESS_QUERY = """ +{{ videoPlaybackAccessToken( + id: {video_id}, + params: {{ platform:"web", playerBackend:"mediaplayer", playerType:"site" }} + ) {{ signature value }} +}} +""" + +# Single Channel info query +GET_CHANNEL_QUERY = """ +{{ user(login: "{channel_id}") {{ + id login displayName + description createdAt + roles {{ isAffiliate isPartner }} + stream {{ + id title type viewersCount createdAt game {{ id name }} +}} }} }} +""" + +# VOD chapters query +GET_VIDEO_CHAPTERS = """{{ +video(id: {id}) {{ + moments(first:100, momentRequestType: VIDEO_CHAPTER_MARKERS, after: {after}) {{ + edges {{ cursor node {{ + description type positionMilliseconds durationMilliseconds +}} }} }} }} }} +""" + +set_client_id(gql_client) + +streamer_user_name = 'workthespace' + + +# get videos of multiple types +# past streams = ARCHIVE, segment of stream = HIGHLIGHT, upload = UPLOAD, premiere = PAST_PREMIERE + + +# Sort by View Count +# query = GET_CHANNEL_VIDEOS_QUERY.format( +# channel_id=user_id, +# after=pagination, first=100, +# sort="VIEWS" +# ) + +def query_channel_vods( + streamer_user_name: str, + num_of_streams: int=100, + sort_by: str="TIME" + ): + """ + Args: + streamer_user_name (str): User Name of the streamer. + num_of_streams (int, optional): MAX No. of VODs returned + . Defaults to 100. + sort_by (CAPstr, optional): TIME/VIEWS/TRENDING. Defaults to "TIME". + + + Returns: + GQL Map: dict of streams info + """ + pagination = "null" + + query = GET_CHANNEL_VIDEOS_QUERY.format( + channel_id=streamer_user_name, + after=pagination, first=num_of_streams, + sort=sort_by + ) + return query + +# gets last Vod. +# query = GET_CHANNEL_VIDEOS_QUERY.format( +# channel_id=user_id, +# after=pagination, first=1, +# sort="TIME" +# ) + + +query = query_channel_vods(streamer_user_name, 100, "TIME") +resp = gql_query(query=query).json() + +print("🐍 File: Desktop/gql.py | Line: 72 | undefined ~ resp",resp) +# for item in resp: +# print(item['1']) + + +# pprint.pprint(resp) + +# # Loop over the dictionaries in the list +# for item in resp: +# # Get the 'title' field +# title = item['title'] + +# # Filter out non-alphabet characters from the title +# filtered_title = ''.join(c for c in title if c.isalpha() or c.isspace()) + +# # Replace the 'title' field with the filtered title +# item['title'] = filtered_title + + +# print("🐍 File: New-twitch-mass-downloader/gql.py | Line: 124 | undefined ~ resp",resp) + + + +class Vod: + """Creates a Vod Class instance + """ + def __init__(self, node): + self.creatorId = node['creator']['id'] + self.login = node['creator']['login'] + self.displayName = node['creator']['displayName'] + self.id = node['id'] + self.title = node['title'] + self.publishedAt = node['publishedAt'] + self.broadcastType = node['broadcastType'] + self.status = node['status'] + self.lengthSeconds = node['lengthSeconds'] + self.viewCount = node['viewCount'] + if node.get('game'): # Check if 'game' exists in the node and is not None + self.gameId = node['game']['id'] + self.gameName = node['game']['name'] + else: + self.gameId = "N/A" + self.gameName = "N/A" + self.url = f"https://www.twitch.tv/videos/{self.id}" + self.not_downloaded = True + + def __repr__(self): + # ID by STREAMER at DATETIME, LENGTH vodbot description + return f"Vod({self.id}, {self.login}, {self.broadcastType}, {self.status}, {self.publishedAt}, {self.lengthSeconds}s, {self.title})" + + +# for loops that 1 filter out ineligible characters in 'title' then creates vod instance/s. +vods = [Vod({**edge['node'], 'title': ''.join(c for c in edge['node']['title'] if c.isalnum() or c.isspace())}) for edge in resp['data']['user']['videos']['edges']] + + +file_path = fr'jsons/{streamer_user_name}.json' + +# Convert Vod instances to dictionaries +vods_dict = [vars(vod) for vod in vods] + +file_check_path = os.path.exists(file_path) + + + + +first_dict_check = vods_dict[0] +first_gql_index_id = first_dict_check['id'] +gql_status_check = first_dict_check['status'] +print("🐍 File: New-twitch-mass-downloader/gql.py | Line: 161 | undefined ~ gql_status_check",gql_status_check) +print(first_gql_index_id) + + +# Writing to json. +if file_check_path: + with open(file_path, 'r') as f: + json_dicts = json.load(f) + + # vars for the if checks. + first_json_dict = json_dicts[0] + first_json_index_id = first_json_dict['id'] + + if first_gql_index_id != first_json_index_id: + new_dict = first_dict_check + json_dicts.insert(0, new_dict) + json_dicts.pop(-1) # Deletes Last entry. + with open(file_path, 'w') as f: + json.dump(json_dicts, f, indent=4) + + +if not file_check_path: + with open(file_path, 'w') as json_file: + json.dump(vods_dict, json_file, indent=4) + +# Now you can print each Vod instance +for vod in vods: + print(vod) + +# # And you can find out how many there are +# # print(len(vods)) + + + + + + + +# # # d = str(resp) +# # # dd = d.split("{\'cursor\'") +# # # print("🐍 File: Desktop/gql.py | Line: 97 | undefined ~ d",dd) +# # with open(file_path, 'w') as json_file: +# # json.dump(vods, json_file, indent=4) + + +class Vod: + """Creates a Vod Class instance + """ + def __init__(self, node): + self.creatorId = node['creator']['id'] + self.login = node['creator']['login'] + self.displayName = node['creator']['displayName'] + self.id = node['id'] + self.title = node['title'] + self.publishedAt = node['publishedAt'] + self.broadcastType = node['broadcastType'] + self.status = node['status'] + self.lengthSeconds = node['lengthSeconds'] + self.viewCount = node['viewCount'] + if node.get('game'): # Check if 'game' exists in the node and is not None + self.gameId = node['game']['id'] + self.gameName = node['game']['name'] + else: + self.gameId = "N/A" + self.gameName = "N/A" + self.url = f"https://www.twitch.tv/videos/{self.id}" + self.not_downloaded = True + + def __repr__(self): + # ID by STREAMER at DATETIME, LENGTH vodbot description + return f"Vod({self.id}, {self.login}, {self.broadcastType}, {self.status}, {self.publishedAt}, {self.lengthSeconds}s, {self.title})" + + +# # INIT- for loops that 1 filter out ineligible characters in 'title' then creates vod instance/s. +# vods = [Vod({**edge['node'], 'title': ''.join(c for c in edge['node']['title'] if c.isalnum() or c.isspace())}) for edge in resp['data']['user']['videos']['edges']] diff --git a/zextra_Funcs_/Testcode.py b/zextra_Funcs_/Testcode.py new file mode 100644 index 0000000..592112b --- /dev/null +++ b/zextra_Funcs_/Testcode.py @@ -0,0 +1,184 @@ + +# import json +import json +import os +# # dload_predicted_size = '' +# # dld_filepath = r'E:\DeleteStreams\FFMPEG__re-Muxed\Kotton - 18-11-2023 Selling Base Today Archonexus pt 2 500 BrutalCassandra mods RimWorld.mp4' +# # slinkDir = 'C:/ffmpeg/' +# # string = f'ffprobe -i "{dld_filepath}" -v quiet -show_entries format=duration -of default=noprint_wrappers=1:nokey=1' +# # dld_vid_size = subprocess.Popen(string, stdout=subprocess.PIPE, text=True, cwd=slinkDir) +# # out_pt = dld_vid_size.stdout.read() +# # # print(str(out_pt.strip()).split("'")[1]) +# # print(int(float(out_pt))) +# # print(utill.decode_seconds_to_hms(int(float(out_pt)))) +import re +import sys +from pathlib import Path +from re import L +from urllib.parse import urlparse, urlsplit, urlunparse + +import m3u8 + +sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) + + +# # [] also might need to do the pipout stdOut and look for stream ended / error etc +# # however it may block streamlink y/n questions??. +import subprocess + +from new_mass_gql.get_vods_sizes_m3u8 import m3u8_call_init +from utility_dir import util_functions as utill + +# from new_mass_gql.utility_dir import util_functions as utill + +# url = 'https://www.twitch.tv/videos/1972875530' +url = 'https://www.twitch.tv/videos/1982124389?t=01h14m26s' +# url = 'https://www.twitch.tv/videos/1981192341?filter=archives&sort=time' +# # url = 'https://www.twitch.tv/etalyx' +# # url = 'https://usher.ttvnw.net/vod/1982669879.m3u8?acmb=e30%3D&allow_source=true&browser_family=firefox&browser_version=119.0&cdm=wv&os_name=Windows&os_version=NT%2010.0&p=602199&platform=web&play_session_id=4829124e3474f79b5cb7c29f5c7e7e65&player_backend=mediaplayer&player_version=1.23.0&playlist_include_framerate=true&reassignments_supported=true&sig=3432efaaeef66d80b6920db6f0718e9ab21fd391&supported_codecs=h264&token=%7B%22authorization%22%3A%7B%22forbidden%22%3Afalse%2C%22reason%22%3A%22%22%7D%2C%22chansub%22%3A%7B%22restricted_bitrates%22%3A%5B%5D%7D%2C%22device_id%22%3A%22L8lFfAYG1PKKuwUFH5gJJhtC4mSOAefS%22%2C%22expires%22%3A1700633570%2C%22https_required%22%3Atrue%2C%22privileged%22%3Afalse%2C%22user_id%22%3A194301647%2C%22version%22%3A2%2C%22vod_id%22%3A1982669879%7D&transcode_mode=cbr_v1' +# url = 'https://www.youtube.com/watch?v=NE4Exqt_0z8' +# # url = 'https://d2nvs31859zcd8.cloudfront.net/0a8060ce24c8559879af_trash_dev_43092903451_1700500921/chunked/index-dvr.m3u8' + +# print(urlparsed) +print(urlsplit(url).path.rsplit('/', 1)[1]) +uris = m3u8_call_init(urlsplit(url).path.rsplit('/', 1)[1], 41478) +print(uris) + +# print(urlparse(url)) +# print(urlsplit(url).path.rsplit("/", 1)[1]) +# url_ = parse_url_twitch(url) +# playlist = m3u8.load(url) +# get_variant_url = str(playlist.playlists[0]) +# print("🐍 File: zextra_Funcs_/Testcode.py | Line: 26 | undefined ~ get_variant_url",get_variant_url) +# print("🐍 File: Stream-Downloader-Util/Testcode.py | Line: 23 | undefined ~ url_",url_) + +# print(urlparsed.path.split('/')) +# recombined = urlunparse(urlparsed) +# print(recombined) + +# print(playlist) +# for i in playlist: + +# print(i) +# print(urlsplit(url).query) +# list(m3u8_data.values())[0][0] + + + +# import subprocess + +# # # [] pass the index form vod find?? how to find if only passed vod id -not from file? +# # # pass the file res dld'd to the 'download' key, and compare retrieve chosen size +# # # with actual file size after dld with ffprobe +# # jjk +# # print("🐍 File: Stream-Downloader-Util/Testcode.py | Line: 37 | undefined ~ jjk",jjk) +# # from new_mass_gql.utility_dir import util_functions +# # from new_mass_gql.utility_dir import util_functions as utill + +# # matchid = '1929999644' +# # target_id = '1874626710' + +# # with open('C:/Users/970EVO-Gamer/AppData/Local/Stream-Downloader-Util/jsons/etalyx.json', 'r') as f: +# # lkl = json.load(f) +# # jjk = [(indx, items.get('id')) for indx, items in enumerate(lkl)] + + + +# # dirr = r'C:/Users/970EVO-Gamer/AppData/Local/Stream-Downloader-Util/jsons/' + +# dld_filepath = r'C:\Users\970EVO-Gamer\Desktop\Deadlyslob - 20-11-2023 Richard Heads Sturgian Conquest Day 4 Join just once Glasses Mount Blade II Bannerlord.mp4' +# size = os.path.getsize(dld_filepath) +# def convert_bytes(num): +# """ +# this function will convert bytes to MB.... GB... etc +# """ +# for unit in ['bytes', 'KB', 'MB', 'GB', 'TB']: +# if num < 1024.0: +# return num +# num /= 1024.0 +# return num + + + +# def compare_sizes(size1, size2, tolerance): +# """ +# This function compares two file sizes with a certain tolerance. +# """ +# return abs(size1 - size2) <= tolerance + +# # xfile = 34.6 # size of the first file in GB +# xfile = int(convert_bytes(size)) +# zfile = 11.03 # size of the second file in GB + +# print(xfile /20) +# print(compare_sizes(xfile, zfile, xfile/20 )) + + +# # file = r'E:\DeleteStreams\Kotton - 12-11-2023.mp4' +# file = r'E:\DeleteStreams\Kotton - 12-11-2023 Big Rim Plays Archonexus pt 2 500 BrutalCassandra mods_RimWorld.mp4' +# # file = r'E:\DeleteStreams\FFMPEG__re-Muxed\!Stream Mass storgae\Kotton - 2023-11-04 Nexus Pt2 New Base 500 BrutalCassandra mods_RimWorld.mp4' +# url = 'https://www.twitch.tv/videos/1982124389?t=03h42m00s' +# with open('c:/Users/970EVO-Gamer/AppData/Local/Stream-Downloader-Util/jsons/deadlyslob.json', 'r') as f: +# data = json.load(f)[0] +# # print(data) + +# # gets true Length if downloaded with a time offset +# # and cross checks if the vod and file(length) == the same with offest. +# stdout = None +# try: +# # FIX will need to include ffprobe in main settings checks to use this. +# get_len_of_vod_file = subprocess.Popen( +# f'ffprobe -v error -select_streams v:0 -show_entries stream=avg_frame_rate -of default=noprint_wrappers=1:nokey=1 "{file}"', +# shell=False, +# stdout=subprocess.PIPE, +# stderr=subprocess.PIPE, +# universal_newlines=True, +# text=True, +# cwd='c:/ffmpeg/' # FIX replace me. +# ) +# stdout, stderr = get_len_of_vod_file.communicate() +# # get_len_of_vod_file.wait() +# # len_of_vod = int(stdout.split('.')[0]) +# # stdout = stdout.split('\n')[0] +# if isinstance(stdout, str): +# numerator, denominator = map(int, stdout.split('/')) +# result = numerator / denominator +# print(str(round(result))) +# # print(stdout.split('\n')[0]) +# # print(type(stdout)) +# # print(stdout) +# except ValueError as e : +# stdout = stdout.split('/')[0] +# print(stdout) +# print(e) +# pass +# # print(f'{stdout.split('/')[0]}') + + + +# if (ulr_query := urlparse(url).query).startswith('t='): +# url_split = re.split('[=hms]', ulr_query) +# secs_to_subt_from_file = utill.encode_hms_to_seconds(':'.join(url_split[1:-1])) +# # if len_of_vod - secs_to_subt_from_file == 0: +# if len_of_vod - data.get('lengthSeconds') == 0: +# print('wePassed') +# # Code Here. +# # set downloaded status. +# # pass +# elif len_of_vod - data.get('lengthSeconds') == 0: +# print('wePassed') + # Code Here. + # set downloaded status. + + +# print(utill.decode_seconds_to_hms(4466)) + +# # finds string in Dir. +# targ_str = 'thePrimeagen $60 Million Loss From ONE Line Of Code' +# targdir = r'E:\DeleteStreams\FFMPEG__re-Muxed' + +# for f in os.listdir(targdir): +# if targ_str in f: + +# print(f) + diff --git a/zextra_Funcs_/getChaptersCall.py b/zextra_Funcs_/getChaptersCall.py new file mode 100644 index 0000000..0388745 --- /dev/null +++ b/zextra_Funcs_/getChaptersCall.py @@ -0,0 +1,16 @@ +'''chapters = [] +for index, items in enumerate(data): + + query = GET_VIDEO_CHAPTERS.format( + id=items.get('id'), after=chapter_page + ) + resp = gql_query(query=query).json() + print("🐍 File: Stream-Downloader-Util/Testcode.py | Line: 701 | undefined ~ resp",resp) + + # if not resp["data"]["video"]: + # raise GQLItemError(f"Failed to find moments for video `{v['id']}`.") + + resp = resp["data"]["video"]["moments"] + chapters.append((index, resp)) +print("🐍 File: Stream-Downloader-Util/Testcode.py | Line: 699 | undefined ~ resp",resp) +''' \ No newline at end of file diff --git a/zextra_Funcs_/just a test.py b/zextra_Funcs_/just a test.py new file mode 100644 index 0000000..b752cd0 --- /dev/null +++ b/zextra_Funcs_/just a test.py @@ -0,0 +1,24 @@ +# import os + +# dir = r'F:/Music/Musizz/My Shared Folder/' + + +# for files in os.listdir(dir): +# print(files) + +import subprocess + +rw_stream = subprocess.Popen( + rf'streamlink "https://youtu.be/cvq7Jy-TFAU?list=PLbAqlIAMdRgtQkPnpqCoqZv1hi9xWnsgZ" ', + shell=False, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + universal_newlines=True, + cwd='c:/Program Files/Streamlink/ffmpeg/', +) +stdout, stderr = rw_stream.communicate() +print("rw_stream", rw_stream) +print("stderr: ", stderr) +print("stdout: ", stdout) +print(f"The command failed with return code {rw_stream.returncode}") +print(f"stderr: {stderr.strip()}") \ No newline at end of file diff --git a/zextra_Funcs_/pops_index_of_spesified.py b/zextra_Funcs_/pops_index_of_spesified.py new file mode 100644 index 0000000..22ba17c --- /dev/null +++ b/zextra_Funcs_/pops_index_of_spesified.py @@ -0,0 +1,39 @@ +import json + +import pretty_errors + +id = "jsons/deadlyslob" + +file_path = rf"{id}.json" + +with open(file_path, "r") as f: + data = json.load(f) + +ids = [(vod["url"], vod["publishedAt"], vod["gameName"], vod["title"]) for vod in data] + +for id in ids: + print(id) + + +target_id = "RECORDING" + +# Loop over the dictionaries in the list +for i, d in enumerate(data): + # If the 'id' field of the dictionary is the target ID, print the index and break the loop + if d["id"] == target_id: + print(f"The target ID is at index {i} in the list.") + # data.pop(i) + # data.insert(i, {"hello world!": "world"}) + # with open(file_path, 'w') as f: + # json.dump(data, f, indent=4) + break + + +# Idents index of list via the 'status' within dicts. +# Loop over the dictionaries in the list +for i, d in enumerate(data): + # If the 'id' field of the dictionary is the target ID, print the index and break the loop + if d["status"] == target_id: + print(f"The target ID is at index {i} in the list.") + print(data[i]) + break diff --git a/zextra_Funcs_/read_dld_file_length.py b/zextra_Funcs_/read_dld_file_length.py new file mode 100644 index 0000000..2feb129 --- /dev/null +++ b/zextra_Funcs_/read_dld_file_length.py @@ -0,0 +1,10 @@ +def read_dld_vod_filelength(): + dload_predicted_size = '' + dld_filepath = r'E:\DeleteStreams\FFMPEG__re-Muxed\Kotton - 18-11-2023 Selling Base Today Archonexus pt 2 500 BrutalCassandra mods RimWorld.mp4' + slinkDir = 'C:/ffmpeg/' + string = f'ffprobe -i "{dld_filepath}" -v quiet -show_entries format=duration -of default=noprint_wrappers=1:nokey=1' + dld_vid_size = subprocess.Popen(string, stdout=subprocess.PIPE, text=True, cwd=slinkDir) + out_pt = dld_vid_size.stdout.read() + # print(str(out_pt.strip()).split("'")[1]) + print(int(float(out_pt))) + print(utill.decode_seconds_to_hms(int(float(out_pt)))) \ No newline at end of file diff --git a/zextra_Funcs_/replace_0index_in_json.py b/zextra_Funcs_/replace_0index_in_json.py new file mode 100644 index 0000000..e2ce581 --- /dev/null +++ b/zextra_Funcs_/replace_0index_in_json.py @@ -0,0 +1,52 @@ +import json + +import pretty_errors + +id = "deadlyslob" + +file_path = rf"{id}.json" + +# with open(file_path, 'r') as f: +# data = json.load(f) + +# ids = [(vod['url'], vod['publishedAt'], vod['gameName'], vod['title']) for vod in data] + +# for id in ids: +# print(id) + + +# def convert_seconds(total_seconds): +# hours = total_seconds // 3600 +# minutes = (total_seconds % 3600) // 60 +# seconds = total_seconds % 60 +# return f"{hours}:{minutes}:{seconds}" + +# print(convert_seconds(29553)) + + +# Load the JSON file into a Python list of dictionaries +# with open(file_path, 'r') as f: +# list_of_dicts = json.load(f) + +# The new dictionary you want to insert +new_dict = { + "creatorId": "12225555", + "login": "hasan", + "displayName": "hasan", + "id": "2555555", + "title": "Just Live", + "publishedAt": "2023-10-13T11:03:44Z", + "broadcastType": "ARCHIVE", + "status": "RECORDING", + "lengthSeconds": 35222, + "gameId": "22222", + "gameName": "Just Chatting", + "url": "https://www.twitch.tv/videos/2555555", +} + +# Insert the new dictionary at the beginning of the list +list_of_dicts.insert(0, new_dict) + +# Write the updated list back to the JSON file +with open(file_path, "w") as f: + json.dump(list_of_dicts, f, indent=4) diff --git a/zextra_Funcs_/requests tests.py b/zextra_Funcs_/requests tests.py new file mode 100644 index 0000000..3136f89 --- /dev/null +++ b/zextra_Funcs_/requests tests.py @@ -0,0 +1,113 @@ +import json +from pydoc import html + +import requests +from bs4 import BeautifulSoup, SoupStrainer + +# from requests_html import HTMLSession + +url = 'https://www.twitch.tv/hasanabi/videos?filter=archives' +# url = 'https://httpbin.org/headers' + +headers = { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/118.0", + 'Accept-Language': 'en-GB,en;q=0.5', + 'Referer': 'https://www.google.com', + 'DNT': '1' +} + +r = requests.get(url, headers=headers) + +# Parse the HTML response +soup = BeautifulSoup(r.text, 'html.parser',parse_only=SoupStrainer('head')) +print("🐍 File: Desktop/requests tests.py | Line: 22 | undefined ~ soup",soup) + +s = soup.prettify(formatter='html') +print("🐍 File: Desktop/requests tests.py | Line: 22 | undefined ~ s",s) + +# Find the video object by its tag name and get its 'name' attribute +script_tag = soup.head.find("script", {"type": "application/ld+json"}) +kii = str(script_tag) +lol = kii.split('{"@type"') + +for item in lol: + print('\n', item) +# print("🐍 File: Desktop/requests tests.py | Line: 32 | undefined ~ lol",lol) + + +# t= soup. +# print("🐍 File: Desktop/requests tests.py | Line: 31 | undefined ~ t",t) + +# print(r.text) + + + + +# import json +# from pydoc import html + +# import requests +# from bs4 import BeautifulSoup, SoupStrainer + +# # from requests_html import HTMLSession + +# # url = 'https://www.twitch.tv/hasanabi/videos?filter=archives' +# # # url = 'https://httpbin.org/headers' + + + +# GET_CHANNEL_VIDEOS_QUERY = """ +# {{ user(login: "{channel_id}") {{ +# videos( first: {first}, sort: {sort}, after: {after} ) {{ +# totalCount +# edges {{ cursor +# node {{ +# id title publishedAt broadcastType status lengthSeconds +# game {{ id name }} +# creator {{ id login displayName }} +# }} }} }} }} }} +# """ + + +# query = GET_CHANNEL_VIDEOS_QUERY.format( +# channel_id='deadlyslob', +# sort="TIME" +# ) + + + +# # headers = { +# # "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/118.0", +# # 'Accept-Language': 'en-GB,en;q=0.5', +# # 'Referer': 'https://www.google.com', +# # 'DNT': '1' +# # } + +# # r = requests.get(url, headers=headers) + +# url = "https://gql.twitch.tv/gql" +# headers = { +# 'Client-ID': 'kd1unb4b3q4t58fwlpcbzcbnm76a8fp', +# "Authorization": "Bearer " + 'kd1unb4b3q4t58fwlpcbzcbnm76a8fp' +# } +# params = {'user_id': '123456'} + + +# url = f"http://usher.ttvnw.net/vod/deadlyslob" + +# resp = requests.get(url, timeout=5, params={ +# "nauth": access_token['value'], +# "nauthsig": access_token['signature'], +# "allow_source": "true", +# "player": "twitchweb", +# }) + + +# response = requests.get(url, headers=headers) + +# print(response) + +# # GQL Query forms +# # Channel VODs query + + diff --git a/zextra_Funcs_/tessettt.py b/zextra_Funcs_/tessettt.py new file mode 100644 index 0000000..f01fb5e --- /dev/null +++ b/zextra_Funcs_/tessettt.py @@ -0,0 +1,150 @@ +import ctypes +import json +import os +import pprint +import re +import subprocess +import sys +import timeit +import tkinter as tk +from pathlib import Path +from re import L, split +from subprocess import PIPE, Popen +from turtle import title +from urllib.parse import urlparse + +from numpy import append, size + +# def create_popup(content): +# popup = tk.Tk() +# popup.title("Popup Window") +# listbox = tk.Listbox(popup) +# for key, value in content.items(): +# listbox.insert(tk.END, f"{key}: {value}") +# listbox.pack() +# button = tk.Button(popup, text="Close", command=popup.destroy) +# button.pack() +# # Update the window to calculate the size of the content +# popup.update_idletasks() +# # Get the width and height of the content +# width = popup.winfo_width() +# height = popup.winfo_height() +# # Add some padding +# width += 80 +# height += 80 +# # Set the window size +# popup.geometry(f"{width}x{height}") +# popup.mainloop() + +# ffmpeg -i "C:\Users\970EVO-Gamer\Desktop\Jason Parris X My Buddy Mike ft. Neon Hitch - No Warning.mp3" -c copy "C:\Users\970EVO-Gamer\Desktop\Jason Parris X My Buddy Mike ft. Neon Hitch - No Warning.wav" + +# # for loop to get all sizes of vids in dir. +# choseendir = 'E:/DeleteStreams/FFMPEG__re-Muxed/' +# for files in os.listdir(choseendir): +# # print(files) +# fp = os.path.join(choseendir, files) +# # print("🐍 File: new_mass_gql/tessettt.py | Line: 368 | undefined ~ fp",fp) + +# dldVid_sizs = subprocess.Popen( +# rf'ffprobe -i "{fp}" -v quiet -show_entries format=duration -of default=noprint_wrappers=1:nokey=1', +# shell=False, +# stdout=subprocess.PIPE, +# stderr=subprocess.PIPE, +# universal_newlines=True, +# cwd='c:/ffmpeg/' +# ) +# stdout, stderr = dldVid_sizs.communicate() +# out_pt, _ = dldVid_sizs.communicate() +# dldVid_sizs.wait() +# files = files.split('-') +# print(f'{out_pt.split('.')[0]} {files}') + +# result = re.sub(r"[^\w\s]", "", out_pt).split()[10:] +def get_reso_(): + loops = 0 + while loops < 5: + loops += 1 + try: + cmdd = r"C:/Program Files/Streamlink/ffmpeg/" + process = subprocess.Popen(r'streamlink "https://www.twitch.tv/videos/2002087915"', stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, cwd=cmdd) + # process = subprocess.Popen(r'streamlink "https://www.twitch.tv/videos/1957556164"', stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, cwd=cmdd) + # process = subprocess.Popen(r'streamlink "https://www.youtube.com/watch?v=6PuXPxhf-Js"', stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, cwd=cmdd) + # process = subprocess.Popen(r'streamlink "https://youtu.be/cvq7Jy-TFAU?list=PLbAqlIAMdRgtQkPnpqCoqZv1hi9xWnsgZ"', stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, cwd=cmdd) + # stdout, stderr = process.communicate() + + + + + + # try: + # line = '' + # while True: + # char = process.stdout.read(1) + # if char in ['\n', '\r']: + # print(line) + # if 'error' in line: + # print('Mine', line) + # line = '' + # else: + # line += char + # if '[cli][info] Stream ended' in line: + # print("Stream has Ended") + # if process.poll() is not None: + # break + # gg,gf = process.communicate() + # print(process,gg,gf) + # process.wait() + # except Exception as e: + # err = str(e) + # raise PluginError(err) from None + # stderr = '' + # try: + process.wait() + for line in iter(process.stdout.readline, ''): + print(line.rstrip()) + if 'error: No play' in line.rstrip(): + print('Error downloading file', line) + raise ValueError + elif 'error: This plugin' in line.rstrip(): + print('DMCA', line) + raise SyntaxError + # main_script() + elif "Available streams:" in line: + result = re.sub(r"[^\w\s]", "", line).split()[2:] + print("🐍 File: zextra_Funcs_/tessettt.py | Line: 90 | undefined ~ result",result) + return result + # return queue.put(results) + # elif '[download]' in line.rstrip(): + # print('Downloading file') + process.communicate() + print("\nLikely Sub Only Vods Enabled") + # print(process.stderr.read()) + raise OSError + except SyntaxError: + # print('OSError') + return + except OSError: + print("put sub only code rhere") + except ValueError: + pass + # print("ValueError") + # except TypeError: + # print('Error downloading') +get_reso_() + +''' +# dd ='[cli][info] Closing currently open stream...' +# if "Closing " in dd: +# print('True') +# if "Closing " not in dd: +# print('False') +# url = 'https://www.twitch.tv/videos/1981192341?filter=archives&sort=time' + +# if (url := urlparse(url).path.rsplit('/')[-1]).isnumeric(): +# # (url := url.split('/', -1)) +# print(url) + +''' + + + From 8268f8a409ed39828c3427015bb6a698a8cd34a3 Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Sat, 16 Dec 2023 18:14:11 +1000 Subject: [PATCH 03/77] Clean start --- .gitignore | 2 +- Main.py | 448 ++++++++++++++++++++++++++++++++++ ffmpegExtract.py | 111 +++++++++ funcs.py | 611 +++++++++++++++++++++++++++++++++++++++++++++++ init_files.py | 96 ++++++++ mux_vid.py | 96 ++++++++ requirements.txt | 2 +- 7 files changed, 1364 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 6eb5617..d545731 100644 --- a/.gitignore +++ b/.gitignore @@ -10,4 +10,4 @@ utility_dir\__pycache__ \jsons new_mass_gql/jsons - Shortcut.lnk new_mass_gql/jsons_symlink -debugging +debugging \ No newline at end of file diff --git a/Main.py b/Main.py index e69de29..bdf2b92 100644 --- a/Main.py +++ b/Main.py @@ -0,0 +1,448 @@ +import logging +import os +import re +import signal +import subprocess +import sys +import threading +import winsound +from datetime import datetime +from queue import Queue +from tracemalloc import stop +from urllib.parse import urlparse, urlsplit + +from pyperclip import copy, paste + +import auth_skip_ads_ +import funcs +import init_files +import mux_vid as cpvs +import spinner as spn +from new_mass_gql import get_vods_sizes_m3u8 as m3 +from utility_dir import util_functions + + +def main_script(download_with_Shutdown=None, fromfile=None): + ''' download_with_shutdown enables == Pc shutdown after completion + fromfile == Json data dict. + ''' + # BUG some bug that either returns url with no separators in the resolution check + # or the size of vod check returns 0.00gb, Not consistent. seem to be able to get it with deadlys dayz vods. + + # Checking Settings.json is available and recently checked. + try: + check_settings = funcs.loadSettings( + keys=["LastSave", "streamlinkPath", "ffprobepath"] + ) + except FileNotFoundError as e: + print(e) + init_files.initSettings() + os.system("cls") + main_script() + + is_a_fresh_save = [funcs.is_less_than_30days(check_settings[0])] # type: ignore possible unbound + + is_a_fresh_save.extend(check_settings[1:2]) # type: ignore possible unbound + + if not all(is_a_fresh_save): + funcs.streamlink_factory_init(["Main", "main_script"]) + os.system("cls") + main_script() + + slinkDir = os.path.dirname(check_settings[1]) # type: ignore possible unbound + + ffprobe_dir = os.path.dirname(check_settings[2]) # type: ignore possible unbound + + + if fromfile: + if ( + fromfile[1]["vod_info"].get("status") == "RECORDING" + and funcs.multi_choice_dialog( + "VOD is still recording, Continue to download", ["No", "Yes"] + ) + == "No" + ): + from startup import main_start + + main_start() + + fromfile = ( + fromfile[1]["vod_info"]["url"], + fromfile[1]["index"], + fromfile[1]["vod_info"], + # File Naming Convention formed here + f"{fromfile[1]['vod_info']['displayName']} - " + f"{util_functions.simple_convert_timestamp(fromfile[1]['vod_info']['publishedAt'])} " + f"{fromfile[1]['vod_info']['title']}_" + f"{fromfile[1]['vod_info']['gameName']}", + ) + + sd_type = None + + if download_with_Shutdown: + sd_type = funcs.multi_choice_dialog( + "Manual shutdown Time or Shutdown after Completion", ["Auto", "Manual", "**Cancel**"] + ) + if sd_type == "**Cancel**": + os.system('cls') + from startup import main_start + main_start() + elif sd_type == "Manual": + funcs.manual_shutdown_timer() + + # Retrieves Last item in Clipboard(ctrl v). + url = paste() if fromfile is None else fromfile[0] + + url_bits = funcs.parse_url_twitch(url) + + url_ = url_bits[0] + + def start_at_specified_time(url) -> tuple: + """-> Returns tup(url, timecode)""" + timecode = input( + "Start Download at Spesific Time ? 00h00m00s. " + "enter 6 numbers separated by Space. EG 01-25-35 :" + ).split("-") + url = rf"{url}?t={timecode[0]}h{timecode[1]}m{timecode[2]}s" + return url, timecode + + def calc_remanig_time(timecode: int, from_file_seconds_data: int) -> int: + full_seconds = from_file_seconds_data + return full_seconds - timecode + + def convert_url_query_timecode(url_timecode_query): + """input must be hh:mm:ss format separated by :""" + hrs, min, sec = ( + url_timecode_query.replace("t=", "") + .replace("h", "-") + .replace("m", "-") + .replace("s", "") + .split("-", maxsplit=3) + ) + return int(hrs) * 3600 + int(min) * 60 + int(sec) + + def get_urlm3u8_filesize(url_, queue, minus_time): + url_path = urlsplit(url_).path.rsplit("/", 1)[1] + if not minus_time: + size_of_vod = m3.m3u8_call_init( + video_id=url_path, tot_seconds=remaining_time + ) + return queue.put(size_of_vod) + size_of_vod = m3.m3u8_call_init( + video_id=url_path, tot_seconds=remaining_time, minus_time=minus_time + ) + return queue.put(size_of_vod) + + remaining_time = None + + minus_time = 0 + + if ( + fromfile + and funcs.multi_choice_dialog("Start at Specified time?", ["No", "Yes"]) + == "Yes" + ): + print(f'Vod length: {util_functions.decode_seconds_to_hms(fromfile[2]["lengthSeconds"])}') + url_, timecode = start_at_specified_time(url_) + timecodej = "-".join(timecode) + timecodei = util_functions.encode_hms_to_seconds(timecodej, split_on="-") + remaining_time = calc_remanig_time(timecodei, fromfile[2]["lengthSeconds"]) + else: + if url_bits[1].query.startswith("t="): + minus_time = convert_url_query_timecode(urlsplit(url_).query) + + # IsVod check for m3u8 Call. + is_url_path_twitch_vod = url_bits[1].path.split("/", -1)[-1].isnumeric() + + urlchk = funcs.is_url(url_) + # Threading start for url check. + t1 = threading.Thread(target=funcs.is_url, args=(url_,)) + t1.start() + + message = "Clipboard is NOT a URL, Copy URL Again......" + while not urlchk: + print(f"ERROR: ( {url_}) Is NOT a Url.\n") + choices = ["Done", "Exit", "Manual Input URL"] + rs2 = funcs.multi_choice_dialog(message, choices) + if rs2 == "Done": + os.system("cls" if os.name == "nt" else "clear") + main_script() + elif rs2 == "Manual Input URL": + url_ = input( + "Type or paste (Must Include http://www.) " "URL HERE: " + ).replace("?filter=archives&sort=time", "") + urlchk = funcs.is_url(url_) + if urlchk == True: # FIX == True or Is True?. + print(url_) + break + main_script() + elif rs2 == "Exit": + sys.exit() + + # [] Untested fix to sub only Vods Res Check. + # As not subbed to any sub only vod streamers. + def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): + # This Ugly POS is because theres a current twitch bandwidth get Bug & + # in the Streamlink Code it double errors with Sub Only/w no access. + loops = 0 + while loops < 5: + loops += 1 + try: + # cmdd = r"C:/Program Files/Streamlink/ffmpeg/" + # process = subprocess.Popen(r'streamlink "https://www.twitch.tv/videos/2002087915"', stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, cwd=cmdd) + # process = subprocess.Popen(r'streamlink "https://www.twitch.tv/videos/1957556164"', stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, cwd=cmdd) + # process = subprocess.Popen(r'streamlink "https://www.youtube.com/watch?v=6PuXPxhf-Js"', stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, cwd=cmdd) + # process = subprocess.Popen(r'streamlink "https://youtu.be/cvq7Jy-TFAU?list=PLbAqlIAMdRgtQkPnpqCoqZv1hi9xWnsgZ"', stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, cwd=cmdd) + rw_stream = subprocess.Popen( + rf'streamlink "{url_}" {auth_String}', + shell=False, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + universal_newlines=True, + cwd=slinkDir, + ) + # # stdout, stderr = rw_stream.communicate() + + rw_stream.wait() + for line in iter(rw_stream.stdout.readline, ''): + # print(line.rstrip()) + if 'error: No play' in line.rstrip(): + logging.info("File: Stream-Downloader-Util/Main.py | Line: 208 | get_vid_resolutions ~ line rw_stream %s", line.rstrip()) + raise ValueError + elif 'error: This plugin' in line.rstrip(): + os.system('cls') + print('DMCA', line) # FEATURE Maybe Implement YTDL later + raise SyntaxError + elif "Available streams:" in line: + result = re.sub(r"[^\w\s]", "", line).split()[2:] + return queue.put(result) + rw_stream.communicate() + raise OSError + except SyntaxError: + return queue.put('Error') + except OSError: + print( + "\nError: Likely a Sub Only Vod\n\n", + ) + auth = auth_skip_ads_.auth_twitch_string() + auth_String = auth + except ValueError: + pass + return queue.put('Error') + # result1.join() + + # Checks if a Twitch URL. + twitch_netloc = ["www.twitch.tv", "usher.ttvnw.net"] + + result = urlparse(url_)[1] + + is_it_a_twitch_url = False + + if result in twitch_netloc: + is_it_a_twitch_url = True + + # Start of Getting get_vid_resolutions threading. + q = Queue() + result1 = threading.Thread(target=get_vid_resolutions, args=(slinkDir, url_, q)) + result1.start() + + if is_url_path_twitch_vod: + q2 = Queue() + m3u8 = threading.Thread( + target=get_urlm3u8_filesize, args=(url_, q2, minus_time) + ) + m3u8.start() + + # end m3u8 check. + + if fromfile: + print(fromfile[-1]) + + # saving file path. + download_file_path = funcs.saveFile(fromfile[-1]) if fromfile else funcs.saveFile() + + # Naming the Terminal. + terminal_Naming = os.path.basename(download_file_path) + + os.system(f"title {terminal_Naming}") + + spinner2 = spn.Spinner() + spinner2.start() + + # Return of get_vid_resolutions threading. + result1.join() + spinner2.stop() + result1 = q.get() + + if result1 == 'Error': + print('Errored Too many attempts') + from startup import main_start + main_start() + + my_choices = list(reversed(result1)) + + chosen_resolution = funcs.multi_choice_dialog("What Size to Download?", my_choices) + + # if not twitch netloc uses default, if twitch asks advanced Options. + default_download_string = ( + rf'streamlink "{url_}" {chosen_resolution} ' + f'--stream-segment-threads 5 -o "{download_file_path}"' + ) + if not is_it_a_twitch_url: + download_string = default_download_string + else: + twitch_options_choice = funcs.multi_choice_dialog( + "Streamlink Twitch Flags Download:" + "Standard, Advanced(No Ads, Auth Token)" + "", + ["Standard", "Advanced"], + ) + if twitch_options_choice == "Advanced": + skip_ads_rtrn = auth_skip_ads_.skip_ads() + download_string = ( + rf'streamlink {skip_ads_rtrn} "{url_}" {chosen_resolution}' + f' --stream-segment-threads 5 -o "{download_file_path}"' + ) + elif twitch_options_choice == "Standard": + download_string = default_download_string + + print("\nCTRL + C to CANCEL Download early if necessary") + + if is_url_path_twitch_vod: + spinner1 = spn.Spinner() + spinner1.start() + m3u8.join() + m3u8_data = q2.get() + spinner1.stop() + + try: + if chosen_resolution == "best" or "source": + gb_of_vod = list(m3u8_data.values())[0][0] + elif chosen_resolution == "worst": + gb_of_vod = list(m3u8_data.values())[-1][0] + else: + gb_of_vod = m3u8_data[chosen_resolution][0] + print(f"\nQuality Chosen: {chosen_resolution},\t({gb_of_vod} GB)\n") + except (UnboundLocalError, KeyError) as e: + print(e, "\nQuality Chosen: ", chosen_resolution, "\n") + else: + print("\nQuality Chosen: ", chosen_resolution, "\n") + + # Main Download Process + process = subprocess.Popen( + download_string, shell=True, universal_newlines=True, cwd=slinkDir + ) + + # Define a signal handler for SIGINT using a lambda function + # changing ctrl+c to kill the subprocess instead of the terminal. + handle_sigint = lambda signal, frame: funcs.kill_process(process) + + # Register the signal handler for SIGINT + signal.signal(signal.SIGINT, handle_sigint) + + # Start a thread to wait for the subprocess to complete + thread_popen = threading.Thread(target=funcs.wait_for_subprocess, args=(process,)) + + thread_popen.start() + # Wait for the thread to finish + thread_popen.join() + # BUG if i cancel i got a synatx error ?? + # Reset the signal handler for SIGINT to its default behavior (kill terminal) + signal.signal(signal.SIGINT, signal.SIG_DFL) + + # if is_url_path_vod: + + # # FIX will need to include ffprobe in main settings checks to use this. + # get_len_of_vod_file = subprocess.Popen( + # rf'ffprobe -i "{download_file_path}" -v quiet -show_entries format=duration -of default=noprint_wrappers=1:nokey=1', + # shell=False, + # stdout=subprocess.PIPE, + # stderr=subprocess.PIPE, + # universal_newlines=True, + # cwd='c:/ffmpeg/' # FIX replace me. + # ) + # stdout, stderr = get_len_of_vod_file.communicate() + # get_len_of_vod_file.wait() + # len_of_vod = int(stdout.split('.')[0]) # len_of_vod = int(stdout.split('.')[0]) ValueError: invalid literal for int() with base 10: '' ## cant get len_of_vod bcoz not muxed + # # print("🐍 File: zextra_Funcs_/Testcode.py | Line: 126 | undefined ~ len_of_vod",len_of_vod) + + # if (ulr_query := urlparse(url).query).startswith('t='): + # url_split = re.split('[=hms]', ulr_query) + # secs_to_subt_from_file = util_functions.encode_hms_to_seconds(':'.join(url_split[1:-1])) + # # if len_of_vod - secs_to_subt_from_file == 0: + # if len_of_vod - secs_to_subt_from_file == 0: + # # LOOK Temp code to make feat work as proof more complex here than necessary + # # needs more comparing, this changes every time not if complete and or further comparisons + # # working Great, need a Pointer to file/or date dld in file??. + # util_functions.update_downloaded_to_resolution( + # urlparse(url_).path.split("/")[-1], chosen_resolution + # ) + # elif len_of_vod - fromfile[2].get('lengthSeconds') == 0: + + # # LOOK Temp code to make feat work as proof more complex here than necessary + # # needs more comparing, this changes every time not if complete and or further comparisons + # # working Great, need a Pointer to file/or date dld in file??. + # util_functions.update_downloaded_to_resolution( + # urlparse(url_).path.split("/")[-1], chosen_resolution + # )# BUG seemed not to trigger on 14-10 vod of kotton maybe dl size dont match close enough?. + + # HERE have the dld conformation be size GB and/or seconds(len) of vid and be like 5 seconds adjustable + + if download_with_Shutdown: + if sd_type == "Auto": + save_path = os.path.dirname(download_file_path) + with open(f"{save_path}/downloadCompleteTime.txt", "a") as f: + f.write(datetime.now().strftime( + f"\nCompleted: {terminal_Naming}\nCompleted at: -- %H:%M:%S --\n" + )) + + cpvs.mux(download_file_path) + os.system("shutdown -s -t 200") + os.system("cls") + print( + "If you want to Cancel the Shutdown CMD, " + "Open the Terminal and type: shutdown -a\nExecute" + ) + else: + print( + datetime.now().strftime( + f"\nCompleted: {terminal_Naming}\nCompleted at: -- %H:%M:%S --\n" + )) + # Plays Sound at this point. + winsound.PlaySound( + sound="C:\\Windows\\Media\\Windows Proximity Notification.wav", + flags=winsound.SND_FILENAME, + ) + + print( + "\nBecause of how Video is downloaded (Chunks) sometimes" + " Re-Muxing is needed for smooth playback." + " \n(Re-Mux)Make a Copy of this file?:\n " + ) + + # sends the file(name) to be mux'd via mux_vid.py + convert = funcs.multi_choice_dialog("Convert?", ["yes", "no"]) + print(download_file_path) + if convert == "yes": + cpvs.mux(download_file_path) + os.system('cls') + print("\nDone!!") + # else: + # funcs.open_directory_Force_front(download_file_path) + + # print( + # "\nRe Run Program? if Yes you need to copy the next URL" + # " in the clipboard before answering this." + # ) + # exit = funcs.multi_choice_dialog("Run Again or Exit?", ["Run Again", "EXIT"]) + # if exit == "Run Again": + from startup import main_start + main_start() + # else: + # sys.exit() + + +if __name__ == "__main__": + from startup import main_start + + main_start() diff --git a/ffmpegExtract.py b/ffmpegExtract.py index e69de29..7c9c5da 100644 --- a/ffmpegExtract.py +++ b/ffmpegExtract.py @@ -0,0 +1,111 @@ +import os +import subprocess + +from numpy import append + +import funcs +import init_files +from extraction_factory import VideoBlueprint + + +def ffmpegextract(): + #FIXIT if file is NOT originally (straight from streamlink) muxed it returns [ALL 0 0 Exit] channels + try: + check_settings = funcs.loadSettings(['LastSave', 'ffprobepath', 'ffmpegpath']) + except FileNotFoundError as e: + init_files.initSettings() + ffmpegextract() + fresh_save = [funcs.is_less_than_30days(check_settings[0])] + fresh_save.extend(check_settings[1:3]) + + if not all(fresh_save): + funcs.ffprobe_factory_init(["ffmpegExtract", "ffmpegextract"]) + funcs.ffmpeg_factory_init(["ffmpegExtract", "ffmpegextract"]) + os.system('cls') + ffmpegextract() + ffmpeg_dir = os.path.dirname(check_settings[2]) + probe_dir = os.path.dirname(check_settings[1]) + + filename = funcs.file_path_get() + if not (any(filename.endswith(media_type) + for media_type in funcs.video_file_types)): + print("\nNot a Valid File type to Extract Streams From Try again.") + ffmpegextract() + + file_type = funcs.video_file_exetension_return(filename) + + mxChann = [] + opus = "" + try: + chanReturn = funcs.audio_channel_get_info(probe_dir, filename) + result = chanReturn[1:] + mxChann = [x for t in result for x in t] + opus = chanReturn[0] + except subprocess.CalledProcessError as ce: + os.system('cls') + ffmpegextract() + channels_list = ["All"] + mxChann + ["Exit"] + + # Inputs questions + message = "Which audio channels would you like to extract?" + Channel_answers = funcs.multi_choice_dialog(message, channels_list, "int", "channels") + selected_channels = Channel_answers["channels"] + + if selected_channels == "Exit": + os.system("cls") + from startup import main_start + main_start() + + message = "Do you want to extract the video stream?" + video_answers = funcs.multi_choice_dialog(message, ["Yes", "No"], "int") + copy_video = video_answers["Key"] + + # creates adjacent Dir + name = os.path.splitext(os.path.basename(filename))[0] + outname = os.path.join( + os.path.dirname(filename), + f"{name} audio streams", name + ) + os.makedirs(os.path.dirname(outname), exist_ok=True) + + num_channels = int(mxChann[-1]) + + ###########factory Here<<<<<<<<< + vid_initializer = VideoBlueprint( + filename=filename, + output_name=outname, + copy_video_answer=copy_video, + selected_channel=selected_channels, + total_num_channels=num_channels, + input_audio_codec_type=opus, + video_file_type=file_type, + export_codec=".aac", # non implemented choice export codec + ) + + if opus == "opus": + command = vid_initializer.opus_factory() + elif copy_video == "Yes": + command = vid_initializer.video_extraction() + else: + command = vid_initializer.non_video_extraction() + + try: + extct = subprocess.Popen( + command, + shell=True, + universal_newlines=True, + cwd=ffmpeg_dir + ) + extct.wait() + os.startfile(os.path.dirname(fr'{outname}')) + except subprocess.CalledProcessError as ce: + ffmpegextract() + except Exception: + print("Extracting Failed") + + from startup import main_start + main_start() + + +if __name__ == "__main__": + ffmpegextract() diff --git a/funcs.py b/funcs.py index e69de29..044517d 100644 --- a/funcs.py +++ b/funcs.py @@ -0,0 +1,611 @@ + +import json +import os +import subprocess +import sys +import tkinter as tk +import winsound +import zipfile +from datetime import datetime, timedelta +from tkinter import filedialog +from urllib.parse import urlparse, urlunparse + +import inquirer +import psutil +import requests +from pyperclip import copy, paste +from send2trash import send2trash +from tqdm import tqdm + +from default_path_factory import DefaultPathFactory +from Main import main_script +from startup import main_start + +video_file_types = [".mp4", ".mov", ".mkv", ".ts"] + + +def make_new_dir_from_input(input_file_path: str, new_dir_name_arg: str) -> str: + '''Makes a directory from the input file path + inline with input_file_path''' + file_path_2 = os.path.dirname(input_file_path) + new_folder_combine_path = os.path.join(file_path_2, new_dir_name_arg) + + if not os.path.exists(new_folder_combine_path): + os.makedirs(new_folder_combine_path) + return os.path.join(new_folder_combine_path) + + +def video_file_exetension_return(filename: str) -> str: + '''Returns the .extension if in video_file_types + otherwise returns empty string''' + for file_type in video_file_types: + if filename.endswith(file_type): + print(file_type) + return file_type + return "" + + +def shorten_path_name(file_path: str): + """shortens Filepaths for viewing/printing + + Args: + file_path (str): + Returns: + + str: _shorter_filepath_ + """ + dir_name = os.path.dirname(file_path) + base_name = os.path.basename(file_path) + dir_parts = dir_name.split(os.sep) + if len(dir_parts) > 2: + short_dir = f"{dir_parts[0]}{os.sep}...{os.sep}{dir_parts[-1]}" + else: + short_dir = dir_name + return os.path.join(short_dir, base_name) + + +def is_url(variable): + """Checks if str is URL""" + try: + result = urlparse(variable) + return all([result.scheme, result.netloc]) + except ValueError: + return False + + +def has_ffmpeg_dir(stream_lnk_Path): + store_path = os.path.join(os.path.dirname(stream_lnk_Path), "ffmpeg") + return os.path.isdir(store_path) + + +def multi_choice_dialog(mssg: str, choice_s: list, + return_options="str", keys_name="Key" + ): + """ + Args: + mssg (str): questions mssg + choice_s (list): choices + return_options (str, optional): if u want a string returned or dict. + keys_name (str, optional): name of "Key" in dict. + + Returns: + Str or Dict + """ + questions = [ + inquirer.List( + keys_name, + message=mssg, + choices=choice_s, + ), + ] + answer = inquirer.prompt(questions) + if answer is not None: + if return_options == "str": + return "".join([str(value) for value in answer.values()]) + return answer + + +def open_directory_Force_front(full_dir_path: str): + root = tk.Tk() + root.withdraw() + path = os.path.dirname(full_dir_path) + os.startfile(os.path.realpath(path)) + root.destroy() + + +def openFile(): + """Opens File dialog box + Returns: + str: + + loops if canceled + """ + # print("Open File From:... \n") + root = tk.Tk() + root.wm_attributes('-topmost', 1) + root.withdraw() + filep = filedialog.askopenfilename( + parent=root, + defaultextension=".*", + filetypes=[ + ("MP4 files", ".mp4"), + ("MOV files", ".mov"), + ("MKV files", ".mkv"), + ("MP3 files", ".mp3"), + ("All files", ".*"), + ]) + root.destroy() + file = os.path.normpath(filep) + if not filep: # closes Program if No Save path is Entered + check = multi_choice_dialog("Canceled Open File: Try again?", + ["yes", "no", "exit"]) + if check == "yes": + os.system("cls" if os.name == "nt" else "clear") + openFile() + elif check == "no": + os.system("cls" if os.name == "nt" else "clear") + main_start() + sys.exit() + return file + + +def saveFile(kwargs=''): + """Opens: Save File Explorer + Returns: + Save Path + """ + print("Save File To:... \n") + root = tk.Tk() + root.wm_attributes('-topmost', 1) + root.withdraw() + filep = filedialog.asksaveasfilename( + parent=root, + initialfile=kwargs, + defaultextension=".mp4", + filetypes=[ + ("MP4 files", ".mp4"), + ("MOV files", ".mov"), + ("MKV files", ".mkv"), + ("MP3 files", ".mp3"), + ("All files", ".*"), + ], + title='kwargs') + root.destroy() + file = os.path.normpath(filep) + if not filep: # Closes Program if No Save path is Entered + check = multi_choice_dialog("Canceled Save Path: Try again?", + ["yes", "no", "exit"]) + if check == "yes": + os.system("cls" if os.name == "nt" else "clear") + saveFile() + elif check == "no": + os.system("cls" if os.name == "nt" else "clear") + main_start() + sys.exit() + return (file) + + +def program_Path_Details(program_name): + """Gets Program file path, but only if its in "the Path". + """ + try: + where = subprocess.check_output(["where", program_name]) + version = subprocess.check_output([program_name, "--version"]) + return where.decode("utf-8").split(), version.decode("utf-8").strip() + except FileNotFoundError: + return None + + +def download_url(url: str, dloadFilePath: str, dlmssg: str = ""): + # sourcery skip: extract-method + """Downloads the url to dloadFilepath using Requests + + Args: + url (str): URLdownload link + dloadFilePath (str): Download Path + + dlmssg (str, optional): Transparency mssg whats + happening. Defaults to "". + """ + if os.path.exists(dloadFilePath): + return dloadFilePath + try: + response = requests.get(url, stream=True) + total_size = int(response.headers.get("content-length", 0)) + block_size = 1024 + + print(dlmssg) + with open(file=dloadFilePath, mode="wb") as f: + for data in tqdm( + response.iter_content(chunk_size=block_size), + total=total_size//block_size, unit="KB" + ): + + f.write(data) + return True + except requests.exceptions.HTTPError as errh: + print(f"HTTP Error: {errh}") + return False + except requests.exceptions.ConnectionError as errc: + print(f"Error Connecting: {errc}") + return False + except requests.exceptions.Timeout as errt: + print(f"Timeout Error: {errt}") + return False + except requests.exceptions.RequestException as err: + print(f"Something went wrong. Error: {err}") + return False + + +def unzip_file_from_path( + zip_file_path, + outputDir, + specific_filename_to_extract: str = "", + mssg="" +): + """Unzips files or specific File into outputDir, + + moves Old .zip to Bin if both exist. + + Args: + dloadFilePath (str): C:\\example\\file.type + + outputDir (str): C:\\OutPutFolder\\ + + specificFile (str, optional): fileType.exe Defaults to " ". + + mssg (str, optional): Trash mssg Defaults to "". + """ + if not os.path.isfile(f"{outputDir}\\{specific_filename_to_extract}"): + try: + zip_file = zip_file_path + print(zip_file) + output_dir = outputDir + with zipfile.ZipFile(file=zip_file, mode="r") as zf: + if specific_filename_to_extract: + zf.extract(specific_filename_to_extract, output_dir) + zf.extractall(output_dir) + print(f"\nSuccessful Extraction To {output_dir}") + except Exception: + print(f"\n\nERROR: Could not extract {zip_file_path} \n") + fldr = zip_file_path.replace(specific_filename_to_extract, "") + return os.startfile(fldr) + if os.path.isfile(zip_file_path) and os.path.isfile( + f"{outputDir}\\{specific_filename_to_extract}" + ): + send_to_trash(zip_file_path) + return True + return True + + +def send_to_trash(filename): + send2trash(filename) + if not os.path.isfile(filename): + print(f"sent {filename} to recycler") + winsound.PlaySound( + sound="C:\\Windows\\Media\\Recycle.wav", + flags=winsound.SND_FILENAME + ) + return True + return False + + +def file_search(extensionNam: str): + """ + + Args: + exeName ('Example.exe'): + + Returns: + _type_: str + """ + appDataSubDirs = ["Local", "LocalLow", "Roaming"] + directories = ["C:\\ffmpeg\\", "C:\\Program Files", "C:\\Program Files (x86)"] + [ + os.path.expanduser(f"~\\AppData\\{subDir}") for subDir in appDataSubDirs + ] + found = False + exePth = "" + for directory in directories: + if found: + return str(exePth) + + for root, dirs, files in os.walk(directory): + if extensionNam in files: + exePth = (os.path.join(root, extensionNam)) + found = True + break + return None + + +def audio_channel_get_info(fprobeDir, filename): + '''-> Codec type at pos[0], channels at pos[1]''' + if not fprobeDir: + print(f'\nCould Not Find "{fprobeDir}" on your Computer\n') + while True: + try: + audChannels = int(input('Couldn"t Auto retrieve Maximum' + 'number of Audio Channels, How Many ' + f'Channels does {filename} have?:')) + channels_list = [] + for i in range(1, audChannels + 1): + channels_list.append(i) + return channels_list + except ValueError: + print("Please enter a numerical value(int) EG: 3.") + else: + command = ( + f"ffprobe -v error -show_entries stream=index" + rf' -select_streams a -of csv=p=0 "{filename}"' + ) + opusCmd = ( + f"ffprobe -v error -select_streams a:0 -show_entries " + "stream=codec_name -of " + rf'default=noprint_wrappers=1:nokey=1 "{filename}"' + ) + output = ( + subprocess.check_output(f"{opusCmd} && {command}", shell=True, cwd=fprobeDir) + .decode("utf-8") + .strip() + ) + codec_type = output.split() + codec = (codec_type[0]) + channels = (codec_type[1:]) + return codec, channels + + +def file_path_get(passed_input_path: str = paste()): + """Defaults to paste() if no Args specified, + if input is not a file opens finder window and + converts to norm path + + returns normal path. + """ + norm_file_path = os.path.normpath(passed_input_path) + if not os.path.isfile(norm_file_path): + return os.path.normpath(openFile()) + return norm_file_path + + +def saveSettings(key=None, value=None): + """To save new Settings Must Pass via Args + Args: + key (str, optional=No Change): + + value (all, optional=No Change): + """ + appdata_path = os.getenv("LOCALAPPDATA") + + settings_file = os.path.join(str(appdata_path), + "Stream-Downloader-Util", "SDUsettings.json") + + with open(file=settings_file, mode="r") as f: + settings = json.load(f) + if key is not None and value is not None: + settings[key] = value + LastSave = datetime.now().strftime("%d/%m/%Y %H:%M:%S") + settings["LastSave"] = LastSave + with open(file=settings_file, mode="w") as f: + json.dump(settings, f, indent=4) + + +def loadSettings(keys: list[str]) -> list[str]: + """iF Known pass in via Args the Key + you want to know the Value of to call + Keys must be in a "string" + + '[LastSave]' = last save date + """ + if keys is None: + keys = [] + + # Get the path to the local AppData folder. + appdata_path = os.getenv("LOCALAPPDATA") + + # Define the path to the settings file + settings_file = os.path.join(str(appdata_path), + "Stream-Downloader-Util", "SDUsettings.json") + answers = [] + for key in keys: + # Load settings from the file + with open(settings_file, "r") as f: + settings = json.load(f) + # Return the value associated with the key if a key is provided + answer = settings.get(key, None) if key is not None else settings + answers.append(answer) + + return answers + + +def is_less_than_30days(datetime1st): + """Must pass 1 (Past) Date Time in as STR + %d/%m/%Y %H:%M:%S + + True=<30d + False=>30d""" + datetimeNow = datetime.now().strftime("%d/%m/%Y %H:%M:%S") + datetime1 = datetime.strptime(datetimeNow, "%d/%m/%Y %H:%M:%S") + datetime2 = datetime.strptime(datetime1st, "%d/%m/%Y %H:%M:%S") + + # Calculate the difference between the two dates + difference = abs(datetime2 - datetime1) + + # Check if the difference is greater than 30 days + return difference < timedelta(days=30) + + +def kill_process(process): + try: + parent = psutil.Process(process.pid) + for child in parent.children(recursive=True): + child.kill() + parent.kill() + print("Subprocess killed") + except psutil.NoSuchProcess as e: + print("Subprocess already closed") + + +def wait_for_subprocess(process): + process.wait() + # Run some code after the subprocess has completed + + +def get_download_links(keys: list[str]): + appdata_path = os.getenv("LOCALAPPDATA") + links_file = os.path.join(str(appdata_path), + "Stream-Downloader-Util", "download_links.txt") + answers = [] + for key in keys: + with open(links_file, "r") as f: + settings = json.load(f) + answer = settings.get(key, None) if key is not None else settings + # answers.append(answer) + return answer + + +def ffprobepath_download_an_unzip(): + """calls dldURL() and Unzip() with all info inside""" + + url = get_download_links(["FFPROBE_Link"]) + last_segment = url.split('/')[-1] + + dloadFilePath = os.path.join(os.path.expanduser("~\\Desktop"), + f"{last_segment}") + + dlmssg = ( + "\n---------------Downloading ffprobe from OFFICIAL FFMPEG " + "link (45mb - 110mb Extracted) " + " LINK >>> https://ffbinaries.com/downloads <<<" + f"---------------\n ----------------to {dloadFilePath} " + "and will auto extract to C:\\ffmpeg\\ ------------------\n" + ) + save_Dir = "C:\\ffmpeg\\" + spefFile = "ffprobe.exe" + zipmssg = "\nSent .zip to Recycle Bin (no longer required)\n" + + dld = download_url(url, dloadFilePath, dlmssg) + zp = unzip_file_from_path(dloadFilePath, "C:\\ffmpeg\\", spefFile, mssg=zipmssg) + if dld and zp == True: + Fprobe_Path = ("C:\\ffmpeg\\ffprobe.exe") + saveSettings("ffprobepath", Fprobe_Path) + return Fprobe_Path + + return f"{save_Dir}ffmpeg.exe" + + +def ffmpegpath_download_an_unzip(): + """calls dldURL() and Unzip() with all info inside""" + + urlmpg = get_download_links(["FFMPEG_Link"]) + last_segment = urlmpg.split('/')[-1] + + dloadFilePath = os.path.join(os.path.expanduser("~\\Desktop"), + f"{last_segment}") + + dlmssg = ( + "\n---------------Downloading ffmpeg from OFFICIAL FFMPEG " + "link (45mb - 110mb Extracted) LINK >>> " + "https://ffbinaries.com/downloads <<<---------------\n " + f"----------------to {dloadFilePath} " + "and will auto extract to C:\\ffmpeg\\ ------------------\n" + ) + save_Dir = "C:\\ffmpeg\\" + spefFile = "ffmpeg.exe" + zipmssg = "\nSent .zip to Recycle Bin (no longer required)\n" + + dld = download_url(urlmpg, dloadFilePath, dlmssg) + zp = unzip_file_from_path(dloadFilePath, save_Dir, spefFile, zipmssg) + if dld and zp == True: + ffm_Path = ("C:\\ffmpeg\\ffmpeg.exe") # only needs the dir to cmd into + saveSettings("ffmpegpath", ffm_Path) + return ffm_Path + + return f"{save_Dir}ffmpeg.exe" + + +def ffmpeg_factory_init(callback_info: list[str]): + '''callback_info is module then the parent function from calling + ["Main", "main_script"]''' + + default_ffPath = ("C:\\Program Files\\Streamlink\\ffmpeg\\ffmpeg.exe") + saveTo1 = "ffmpegpath" + exename = "ffmpeg.exe" + + init_factory = DefaultPathFactory( + default_Path=default_ffPath, + settings_save_Key=saveTo1, + extension_name_Lookup=exename, + parent_func_Callback=callback_info + ) + return init_factory.set_default_path() + + +def ffprobe_factory_init(callback_info: list[str]): + '''callback_info is module then the parent function from calling + ["Main", "main_script"]''' + + default_ffprobePath = ("C:\\ffmpeg\\ffprbe.exe") + saveTo = "ffprobepath" + exename = "ffprobe.exe" + + init_factory = DefaultPathFactory( + default_Path=default_ffprobePath, + settings_save_Key=saveTo, + extension_name_Lookup=exename, + parent_func_Callback=callback_info + ) + return init_factory.set_default_path() + + +def streamlink_factory_init(callback_info: list[str]): + '''callback_info is module then the parent function from calling + ["Main", "main_script"]''' + + default_slinkPath = ("C:\\Program Files\\Streamlink\\bin\\streamlink.exe") + saveTo = "streamlinkPath" + exename = "streamlink.exe" + + init_factory = DefaultPathFactory( + default_Path=default_slinkPath, + settings_save_Key=saveTo, + extension_name_Lookup=exename, + parent_func_Callback=callback_info + ) + return init_factory.set_default_path() + + +def manual_shutdown_timer(): + time = input( + "\nEnter the time until shutdown in the format '1h &/or 45m'" + " (EG: 1h, 1h 45m or 45m)\nTo cancel " + "the shutdown command if necessary\nOpen a " + "Windows Command Prompt Or Shell\nand type " + "[shutdown -a] without Brackets [] then enter to Cancel: " + ) + + time = time.split() + + hours = 0 + minutes = 0 + + for t in time: + if 'h' in t: + hours = int(t.replace('h', '')) + elif 'm' in t: + minutes = int(t.replace('m', '')) + + seconds = (hours * 3600) + (minutes * 60) + os.system(f"shutdown -s -t {seconds}") + print(f"Shutdown in {seconds} seconds") + + +def parse_url_twitch(url): + urlparsed = urlparse(url) + if not urlparsed.path.split('/')[-1].isnumeric(): + return urlunparse(urlparsed), urlparsed + if urlparsed.query.startswith(('t=', 'acmb=')): + return url, urlparsed + elif urlparsed.query.startswith('filter='): + new_url_parts = (urlparsed.scheme, urlparsed.netloc, urlparsed.path, '', '', '') + return urlunparse(new_url_parts), urlparsed + else: + return url, urlparsed diff --git a/init_files.py b/init_files.py index e69de29..3103add 100644 --- a/init_files.py +++ b/init_files.py @@ -0,0 +1,96 @@ +import json +import logging +import os +import shutil +from datetime import datetime, timedelta + +import funcs + +version_number = 3.2 + + +def logger_setup(): + appdata_path = os.getenv("LOCALAPPDATA") + + settings_file = os.path.join(str( + appdata_path), + "Stream-Downloader-Util" + ) + if not os.path.exists('debugging'): #FIXME Set to save in Appdata + os.mkdir('debugging') + root_logger = logging.getLogger() + root_logger.setLevel(logging.DEBUG) + root_file_handler = logging.FileHandler(f'debugging/{datetime.now().strftime('%Y-%m-%d')}.log', delay=True) + root_file_handler.setLevel(logging.DEBUG) + formatter = logging.Formatter('%(levelname)s:%(asctime)s %(name)s %(message)s') + root_file_handler.setFormatter(formatter) + root_logger.addHandler(root_file_handler) + root_logger.propagate = False + + +def initSettings(): + appdata_path = os.getenv("LOCALAPPDATA") + + settings_file = os.path.join(str(appdata_path), + "Stream-Downloader-Util", "SDUsettings.json") + + # Check if the settings file already exists + if not os.path.exists(settings_file): + os.makedirs(os.path.dirname(settings_file), exist_ok=True) + + LastSave = datetime.now().strftime("%d/%m/%Y %H:%M:%S") + + settings = { + "Twitch_snippet_for_auth": 'document.cookie.split("; ").find(item=>item.startsWith("auth-token="))?.split("=")[1]', + "SDLI_Version": version_number, + "Initialize": True, + "LastSave": LastSave, + } + with open(settings_file, "w") as f: + json.dump(settings, f, indent=4) + + +def init_links_file(): + appdata_path = os.getenv("LOCALAPPDATA") + links_file = os.path.join(str(appdata_path), + "Stream-Downloader-Util", "download_links.txt") + + # Check if the settings file already exists + if not os.path.exists(links_file): + os.makedirs(os.path.dirname(links_file), exist_ok=True) + + Links = { + "_comment": "If this File is Updated in Github you can update it without needing to download a new version of the App.", + "_comment2": "Just replace this file with the updated one in Github. File Location C_Users_USERNAME_AppData_Local_Stream_Downloader-Util_download_Links.txt", + "_comment3": "https://github.com/NSMY/Stream-Downloader-Util", + "_Version": "1.0", + "FFMPEG_Link": "https://github.com/ffbinaries/ffbinaries-prebuilt/releases/download/v4.4.1/ffmpeg-4.4.1-win-64.zip", + "FFPROBE_Link": "https://github.com/ffbinaries/ffbinaries-prebuilt/releases/download/v4.4.1/ffprobe-4.4.1-win-64.zip", + "STREAMLINK_Link": "https://github.com/streamlink/windows-builds/releases/latest" + } + with open(links_file, "w") as f: + json.dump(Links, f, indent=4) + + +def version_check(): + appdata_path = os.getenv("LOCALAPPDATA") + settings_dir = os.path.join(str(appdata_path), + "Stream-Downloader-Util") + + try: + funcs.loadSettings(["SDLI_Version"]) + except FileNotFoundError as e: + initSettings() + init_links_file() + + try: + if funcs.loadSettings(["SDLI_Version"]) != [version_number]: + print('Settings Files Deleted, Outdated Version') + shutil.rmtree(settings_dir) + # funcs.send_to_trash(settings_dir) + from startup import main_start + main_start() + except PermissionError as f: + # print("Permission error") + from startup import main_start + main_start() diff --git a/mux_vid.py b/mux_vid.py index e69de29..f61a9de 100644 --- a/mux_vid.py +++ b/mux_vid.py @@ -0,0 +1,96 @@ +import os +import subprocess +import winsound + +from pyperclip import copy, paste +from send2trash import send2trash + +import funcs +import init_files + +# TODO webm? + + +def mux(file_path_inpt=paste(), ran_as_main: bool = False): + try: + check_settings = funcs.loadSettings(['LastSave', 'ffmpegpath']) + except FileNotFoundError as e: + init_files.initSettings() + mux() + + fresh_save = [funcs.is_less_than_30days(check_settings[0])] + fresh_save.extend(check_settings[1:2]) + if not all(fresh_save): + funcs.ffmpeg_factory_init(["mux_vid", "mux"]) + os.system("cls") + mux() + ffpg = os.path.dirname(check_settings[1]) + + file_path = funcs.file_path_get(file_path_inpt) + if not (any(file_path.endswith(media_type) + for media_type in funcs.video_file_types) or file_path == '.'): + os.system("cls") + print('\nNot a Valid File type to Remux, Try again.') + mux() + if file_path == '.': + os.system("cls") + + new_file_path = funcs.make_new_dir_from_input(file_path, 'FFMPEG__re-Muxed') + old_file_name = os.path.basename(file_path) + new_file_path = os.path.join(new_file_path, old_file_name) + print(old_file_name) + + # checks if file exists if so. + # send file to trash if Overwritten is chosen. + if os.path.isfile(new_file_path): + exists = funcs.multi_choice_dialog( + 'File already Exists, Overwrite or ' + 'Rename', ['Overwrite', 'Rename'] + ) + if exists == 'Overwrite': + send2trash(rf'{new_file_path}') + elif exists == 'Rename': + new_file_path = funcs.saveFile() + + # opens cmd and uses ffmpeg to re-Mux + process2 = subprocess.Popen( + f'ffmpeg -i "{file_path}" -c copy ' f'"{new_file_path}"', + shell=True, + universal_newlines=True, + cwd=ffpg, + ) + process2.wait() + + winsound.PlaySound('C:\\Windows\\Media\\Chimes.wav', winsound.SND_FILENAME) + + # sends Un-Muxed File to trash ONLY if both old/new exist. + view_fp = funcs.shorten_path_name(file_path) + view_nfp = funcs.shorten_path_name(new_file_path) + + if os.path.isfile(new_file_path) and os.path.isfile(file_path): + try: + send2trash(rf'{file_path}') + except Exception: + print( + f'Error... with {view_fp} \n or {view_nfp}' + '\nTried to move {view_fp} \nto trash\n' + ) + else: + if not os.path.isfile(f'{file_path}'): + winsound.PlaySound( + 'C:\\Windows\\Media\\Recycle.wav', + winsound.SND_FILENAME) + print( + f'\nMoved: {view_fp} \nto Trash...' + f'\nSaved in to: {view_nfp}\nRe-Muxed..\n' + ) + + funcs.open_directory_Force_front(new_file_path) + + if ran_as_main: + from startup import main_start + main_start() + + +if __name__ == '__main__': + mux() diff --git a/requirements.txt b/requirements.txt index 0fad14b..f52f8a1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,4 +9,4 @@ pyperclip==1.8.2 Requests==2.31.0 Send2Trash==1.8.2 tqdm==4.66.1 -pipreqs==0.4.13 +pipreqs==0.4.13 \ No newline at end of file From 44351bfc80d986692829c897ef81bdf094321019 Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Sat, 16 Dec 2023 19:32:55 +1000 Subject: [PATCH 04/77] del --- Todo_list.txt | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 Todo_list.txt diff --git a/Todo_list.txt b/Todo_list.txt deleted file mode 100644 index 19df4fd..0000000 --- a/Todo_list.txt +++ /dev/null @@ -1,10 +0,0 @@ -# TODO -# TODO more robust dependency searching and downloading (if deleted between settinggs Checks) -# FEATURE customTKinter GUI?? -# TODO do i ad multi File processing? mp4 wav etc -# TODO do i make Combine streams Aud/Vid -# TODO make WEBP converter? New File? -# TODO make separate download/main thats can get lives and restart if dropouts maybe scheduled maybe seek notos? -# [] Somehow incorporate auto download from noto? -# [] Win Alert notos? -# []Keep both Copies Main and With Shutdown?????. \ No newline at end of file From d79fad8c0f3d21eb564284f200c99720438ea4aa Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Sun, 17 Dec 2023 03:32:35 +1000 Subject: [PATCH 05/77] fixed compare name N both .lower, more description + ffprobepath, --- utils/video_data_cross_checker.py | 73 ++++++++++++++++++++++++------- 1 file changed, 57 insertions(+), 16 deletions(-) diff --git a/utils/video_data_cross_checker.py b/utils/video_data_cross_checker.py index 91763cc..13397fb 100644 --- a/utils/video_data_cross_checker.py +++ b/utils/video_data_cross_checker.py @@ -7,14 +7,15 @@ from queue import Queue from tkinter import filedialog -# import funcs import funcs +import init_files import spinner from utility_dir.util_functions import get_appdata_dir # to make the file work as a stand alone # sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) +# import funcs def find_files(directory): ok_extentions = ["mp4", "mvk", "mov", "flv"] @@ -27,7 +28,7 @@ def find_files(directory): return files -def get_video_data(vid_list: list): +def get_video_data(vid_list: list, ffprobe_path): """Returns a list(tuple) (video_path, vid_length, vid_fps, vid_height, vid_size)""" ''' import subprocess @@ -60,9 +61,9 @@ def run_command(command): q2 = Queue() q3 = Queue() vid_size = os.path.getsize(video) - vid_length = threading.Thread(target=get_video_file_length, args=(video, q1)) - vid_fps = threading.Thread(target=get_video_framerate, args=(video, q2)) - vid_height = threading.Thread(target=get_video_height, args=(video, q3)) + vid_length = threading.Thread(target=get_video_file_length, args=(video, q1, ffprobe_path)) + vid_fps = threading.Thread(target=get_video_framerate, args=(video, q2, ffprobe_path)) + vid_height = threading.Thread(target=get_video_height, args=(video, q3, ffprobe_path)) vid_height.start() vid_length.start() vid_fps.start() @@ -77,21 +78,21 @@ def run_command(command): return video_info -def get_video_file_length(file_path, queue): +def get_video_file_length(file_path, queue, ffprobe_path): get_len_of_vod_file = subprocess.Popen( rf'ffprobe -i "{file_path}" -v quiet -show_entries format=duration -of default=noprint_wrappers=1:nokey=1', shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, - cwd='c:/ffmpeg/' # FIX replace me. + cwd=ffprobe_path ) stdout, stderr = get_len_of_vod_file.communicate() get_len_of_vod_file.wait() queue.put(int(stdout.split('.')[0])) -def get_video_framerate(filepath, queue): +def get_video_framerate(filepath, queue, ffprobe_path): stdout = '' try: process = subprocess.Popen( @@ -99,7 +100,7 @@ def get_video_framerate(filepath, queue): stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, - cwd='c:/ffmpeg/' # FIX replace me. + cwd=ffprobe_path ) stdout, stderr = process.communicate() process.wait() @@ -114,13 +115,13 @@ def get_video_framerate(filepath, queue): queue.put(stdout.split('/')[0]) -def get_video_height(filepath, queue): +def get_video_height(filepath, queue, ffprobe_path): process = subprocess.Popen( f'ffprobe -v error -select_streams v:0 -show_entries stream=height -of csv=s=x:p=0 "{filepath}"', stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, - cwd='c:/ffmpeg/' # FIX replace me. + cwd=ffprobe_path ) stdout, stderr = process.communicate() process.wait() @@ -208,12 +209,13 @@ def vod_user_names(appdir_files, compare_data): def change_download_status(total_names_from_dld_dir, appdir, compare_data): + edited = [] for i in total_names_from_dld_dir: with open(f'{appdir}/{i}.json', 'r') as jf: innerdata = json.load(jf) for index, jdata in enumerate(innerdata): for vodfile in compare_data: - if compare_data[vodfile]['username'].lower() == i: + if compare_data[vodfile]['username'].lower() == i.lower(): # Compare 'username' with 'id' if ( compare_data[vodfile]['username'] == jdata['displayName'] @@ -221,26 +223,65 @@ def change_download_status(total_names_from_dld_dir, appdir, compare_data): and compare_data[vodfile].get('title') == jdata['title'] and jdata['downloaded'] is False ): + edited.append(( + innerdata[index]['displayName'], + innerdata[index]['url'], + compare_data[vodfile]['height_fps']) + ) innerdata[index]['downloaded'] = compare_data[vodfile]['height_fps'] with open(f'{appdir}/{i}.json', 'w') as wf: json.dump(innerdata, wf, indent=4) + return edited def main(): - spinner1 = spinner.Spinner(message='Processing Video Information...') + from startup import main_start + try: + check_settings = funcs.loadSettings( + keys=["LastSave", "ffprobepath"] + ) + except FileNotFoundError as e: + init_files.initSettings() + os.system("cls") + print(e) + main_start() + + is_a_fresh_save = [funcs.is_less_than_30days(check_settings[0])] # type: ignore possible unbound + + is_a_fresh_save.extend(check_settings[1:2]) # type: ignore possible unbound + + if not all(is_a_fresh_save): + funcs.ffprobe_factory_init(["main", "video_data_cross_checker"]) + os.system("cls") + main() + + ffprobe_dir = os.path.dirname(check_settings[1]) + + os.system('cls') + lfid = list_files_in_directory(appdir) + spinner1 = spinner.Spinner(message='Choose Parent directory to search through..') spinner1.start() walk_tree = filedialog.askdirectory() - vods_info = get_video_data((find_files(walk_tree))) + spinner1.stop() + os.system("cls") + + spinner2 = spinner.Spinner(message='Processing Video Information...') + spinner2.start() + vods_info = get_video_data((find_files(walk_tree)), ffprobe_dir) compare_data = (vod_titles_parse(vods_info)) vun = vod_user_names(lfid, compare_data) - change_download_status(vun, appdir, compare_data) + if edited_list := change_download_status(vun, appdir, compare_data): + os.system('cls') + for i in edited_list: + print(i) + print('\nItems Changed.\n') - spinner1.stop() + spinner2.stop() if __name__ == '__main__': From 6a9a84986434e76dd8e3fad4dbd304a323d5ade6 Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Sun, 17 Dec 2023 03:34:25 +1000 Subject: [PATCH 06/77] updated DEPENDENCIES, better why, format changes --- README.md | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index cf8e2b2..605f2e4 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ README.md -# Stream Downloader Util is a CLI that provides easier Streamlink-Twitch usage. +# **Stream Downloader Util is a CLI that provides easier Streamlink-Twitch usage.** ## [Streamlink][streamlink-website] [FFMPEG][ffmpeg] & [FFPROBE][ffmpeg] Dependent** Automated Downloader @@ -9,7 +9,8 @@ README.md * Muxing of video files with ffmpeg * Extraction of Audio & Video Channel/s from File to separate files, if 1 Multi channels or 2 Desire Audio-Video Separated (useful for OBS Multi-Channel Captures) -## DOWNLOAD +--- +## $$ DOWNLOAD $$ **STREAMLINK Dependent** @@ -27,8 +28,8 @@ Optional [terminate] Download early without Crashing the CLI Downloads File Via [Streamlink][streamlink-website] Asks if [Mux-ing] is Desired (Combines Chunks files for smooth playback with FFMPEG). - -## MUX-ING +-- +## $$ MUX-ING $$ **FFMPEG Dependent** @@ -37,8 +38,8 @@ This is available after Download And Separate From the main downloading option, Re Mux's (Copies) the File specified in the Clipboard (File path) or [fileddialog][fileddialog2] (Browser popup Finder) Sends the old file to the Recycle bin and saves a new file into a separate new Folder inside the CWD, then opens the folder. - -## EXTRACTION +-- +## $$ EXTRACTION $$ **FFPROBE Dependent** @@ -51,14 +52,19 @@ A specific Channel or all channels can be selected. Again will create a Folder w Video can be selected to also Separated form Audio -> VP9/Opus (YouTube Video) is available but will stay in VP9/Opus Codec when extracted, otherwise Reencoding would be required. +> VP9/Opus (YouTube Video) is available but will stay in VP9/Opus Codec when extracted, otherwise Re-encoding would be required. > ***if the file has not been muxed (or standard file) may result in misread of Audio channels*** +--- +## $$ DEPENDENCIES $$ +- [Streamlink][streamlink-website] + - [FFmpeg][ffmpeg] A Version comes with Streamlink +- [FFprobe][ffmpeg] -### WHY +### **WHY?** -Made this because i was sick of manually entering a string i had saved into Cmd, So i made this CLI to combine personal frequently used features. +Made this because i was sick of manually entering a string i had saved into Cmd, Then change for every occasion. All other variations are Pure **CLI** automatable, So i made this CLI lite to combine personal frequently used features. > ***All streamlink limitations are still enabled*** From 217f2804955c4b95464ed50e094ccc64d068ee52 Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Sun, 17 Dec 2023 03:35:37 +1000 Subject: [PATCH 07/77] made a flush input for cmd queued commands --- funcs.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/funcs.py b/funcs.py index 044517d..9bd2eb7 100644 --- a/funcs.py +++ b/funcs.py @@ -609,3 +609,15 @@ def parse_url_twitch(url): return urlunparse(new_url_parts), urlparsed else: return url, urlparsed + + +def flush_cmd_input(): + """Clears the input buffer.""" + if os.name == 'nt': # For Windows + import msvcrt + while msvcrt.kbhit(): + msvcrt.getch() + # else: # For Unix/Linux/MacOS + # import fcntl + # import termios + # termios.tcflush(sys.stdin, termios.TCIOFLUSH) \ No newline at end of file From 43704f9414680bb187a5563515d5ab398ad6a568 Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Sun, 17 Dec 2023 03:37:30 +1000 Subject: [PATCH 08/77] updated some var names, ad'd flush inpt --- Main.py | 67 +++++++++++++++++++++++++++++---------------------------- 1 file changed, 34 insertions(+), 33 deletions(-) diff --git a/Main.py b/Main.py index bdf2b92..c425825 100644 --- a/Main.py +++ b/Main.py @@ -8,7 +8,6 @@ import winsound from datetime import datetime from queue import Queue -from tracemalloc import stop from urllib.parse import urlparse, urlsplit from pyperclip import copy, paste @@ -27,7 +26,7 @@ def main_script(download_with_Shutdown=None, fromfile=None): fromfile == Json data dict. ''' # BUG some bug that either returns url with no separators in the resolution check - # or the size of vod check returns 0.00gb, Not consistent. seem to be able to get it with deadlys dayz vods. + # or the size of vod check returns 0.00gb, Not consistent. seem to be able to get it with Deadlys Dayz vods. # Checking Settings.json is available and recently checked. try: @@ -53,7 +52,6 @@ def main_script(download_with_Shutdown=None, fromfile=None): ffprobe_dir = os.path.dirname(check_settings[2]) # type: ignore possible unbound - if fromfile: if ( fromfile[1]["vod_info"].get("status") == "RECORDING" @@ -79,6 +77,7 @@ def main_script(download_with_Shutdown=None, fromfile=None): sd_type = None + funcs.flush_cmd_input() if download_with_Shutdown: sd_type = funcs.multi_choice_dialog( "Manual shutdown Time or Shutdown after Completion", ["Auto", "Manual", "**Cancel**"] @@ -100,18 +99,17 @@ def main_script(download_with_Shutdown=None, fromfile=None): def start_at_specified_time(url) -> tuple: """-> Returns tup(url, timecode)""" timecode = input( - "Start Download at Spesific Time ? 00h00m00s. " + "Start Download at Specific Time ? 00h00m00s. " "enter 6 numbers separated by Space. EG 01-25-35 :" ).split("-") url = rf"{url}?t={timecode[0]}h{timecode[1]}m{timecode[2]}s" return url, timecode - def calc_remanig_time(timecode: int, from_file_seconds_data: int) -> int: + def calc_remaining_time(timecode: int, from_file_seconds_data: int) -> int: full_seconds = from_file_seconds_data return full_seconds - timecode def convert_url_query_timecode(url_timecode_query): - """input must be hh:mm:ss format separated by :""" hrs, min, sec = ( url_timecode_query.replace("t=", "") .replace("h", "-") @@ -125,11 +123,14 @@ def get_urlm3u8_filesize(url_, queue, minus_time): url_path = urlsplit(url_).path.rsplit("/", 1)[1] if not minus_time: size_of_vod = m3.m3u8_call_init( - video_id=url_path, tot_seconds=remaining_time + video_id=url_path, + tot_seconds=remaining_time ) return queue.put(size_of_vod) size_of_vod = m3.m3u8_call_init( - video_id=url_path, tot_seconds=remaining_time, minus_time=minus_time + video_id=url_path, + tot_seconds=remaining_time, + minus_time=minus_time ) return queue.put(size_of_vod) @@ -137,6 +138,7 @@ def get_urlm3u8_filesize(url_, queue, minus_time): minus_time = 0 + funcs.flush_cmd_input() if ( fromfile and funcs.multi_choice_dialog("Start at Specified time?", ["No", "Yes"]) @@ -146,19 +148,19 @@ def get_urlm3u8_filesize(url_, queue, minus_time): url_, timecode = start_at_specified_time(url_) timecodej = "-".join(timecode) timecodei = util_functions.encode_hms_to_seconds(timecodej, split_on="-") - remaining_time = calc_remanig_time(timecodei, fromfile[2]["lengthSeconds"]) + remaining_time = calc_remaining_time(timecodei, fromfile[2]["lengthSeconds"]) else: if url_bits[1].query.startswith("t="): minus_time = convert_url_query_timecode(urlsplit(url_).query) - # IsVod check for m3u8 Call. is_url_path_twitch_vod = url_bits[1].path.split("/", -1)[-1].isnumeric() - urlchk = funcs.is_url(url_) - # Threading start for url check. - t1 = threading.Thread(target=funcs.is_url, args=(url_,)) - t1.start() + # TRACK why and i threading this? + is_url_thread = threading.Thread(target=funcs.is_url, args=(url_,)) + is_url_thread.start() + # FIX want this to be better upto date with my curr knowledge + urlchk = False message = "Clipboard is NOT a URL, Copy URL Again......" while not urlchk: print(f"ERROR: ( {url_}) Is NOT a Url.\n") @@ -179,7 +181,7 @@ def get_urlm3u8_filesize(url_, queue, minus_time): elif rs2 == "Exit": sys.exit() - # [] Untested fix to sub only Vods Res Check. + # TRACK Untested fix to sub only Vods Res Check. # As not subbed to any sub only vod streamers. def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): # This Ugly POS is because theres a current twitch bandwidth get Bug & @@ -188,12 +190,7 @@ def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): while loops < 5: loops += 1 try: - # cmdd = r"C:/Program Files/Streamlink/ffmpeg/" - # process = subprocess.Popen(r'streamlink "https://www.twitch.tv/videos/2002087915"', stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, cwd=cmdd) - # process = subprocess.Popen(r'streamlink "https://www.twitch.tv/videos/1957556164"', stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, cwd=cmdd) - # process = subprocess.Popen(r'streamlink "https://www.youtube.com/watch?v=6PuXPxhf-Js"', stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, cwd=cmdd) - # process = subprocess.Popen(r'streamlink "https://youtu.be/cvq7Jy-TFAU?list=PLbAqlIAMdRgtQkPnpqCoqZv1hi9xWnsgZ"', stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, cwd=cmdd) - rw_stream = subprocess.Popen( + stream_reso = subprocess.Popen( rf'streamlink "{url_}" {auth_String}', shell=False, stdout=subprocess.PIPE, @@ -203,8 +200,8 @@ def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): ) # # stdout, stderr = rw_stream.communicate() - rw_stream.wait() - for line in iter(rw_stream.stdout.readline, ''): + stream_reso.wait() + for line in iter(stream_reso.stdout.readline, ''): # print(line.rstrip()) if 'error: No play' in line.rstrip(): logging.info("File: Stream-Downloader-Util/Main.py | Line: 208 | get_vid_resolutions ~ line rw_stream %s", line.rstrip()) @@ -216,7 +213,7 @@ def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): elif "Available streams:" in line: result = re.sub(r"[^\w\s]", "", line).split()[2:] return queue.put(result) - rw_stream.communicate() + stream_reso.communicate() raise OSError except SyntaxError: return queue.put('Error') @@ -234,17 +231,17 @@ def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): # Checks if a Twitch URL. twitch_netloc = ["www.twitch.tv", "usher.ttvnw.net"] - result = urlparse(url_)[1] + url_netlock = urlparse(url_)[1] is_it_a_twitch_url = False - if result in twitch_netloc: + if url_netlock in twitch_netloc: is_it_a_twitch_url = True # Start of Getting get_vid_resolutions threading. q = Queue() - result1 = threading.Thread(target=get_vid_resolutions, args=(slinkDir, url_, q)) - result1.start() + get_res_opts = threading.Thread(target=get_vid_resolutions, args=(slinkDir, url_, q)) + get_res_opts.start() if is_url_path_twitch_vod: q2 = Queue() @@ -270,17 +267,20 @@ def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): spinner2.start() # Return of get_vid_resolutions threading. - result1.join() + get_res_opts.join() spinner2.stop() - result1 = q.get() + get_res_opts = q.get() - if result1 == 'Error': + # TRACK Shouldn't be needed, as should be handled in + # the get_vid_resolutions Func + if get_res_opts == 'Error': print('Errored Too many attempts') from startup import main_start main_start() - my_choices = list(reversed(result1)) + my_choices = list(reversed(get_res_opts)) + funcs.flush_cmd_input() chosen_resolution = funcs.multi_choice_dialog("What Size to Download?", my_choices) # if not twitch netloc uses default, if twitch asks advanced Options. @@ -297,7 +297,7 @@ def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): "", ["Standard", "Advanced"], ) - if twitch_options_choice == "Advanced": + if twitch_options_choice == "Advanced": # [] Add a input in the .skipads to be able to input any sLink Opts?? skip_ads_rtrn = auth_skip_ads_.skip_ads() download_string = ( rf'streamlink {skip_ads_rtrn} "{url_}" {chosen_resolution}' @@ -421,6 +421,7 @@ def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): ) # sends the file(name) to be mux'd via mux_vid.py + funcs.flush_cmd_input() convert = funcs.multi_choice_dialog("Convert?", ["yes", "no"]) print(download_file_path) if convert == "yes": From aba7aceff28e92cd928e182c95914ad1c15589a5 Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Sun, 17 Dec 2023 03:38:00 +1000 Subject: [PATCH 09/77] made spinner daemon --- spinner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spinner.py b/spinner.py index 4ce8abd..f2977b5 100644 --- a/spinner.py +++ b/spinner.py @@ -36,7 +36,7 @@ def __init__(self, delay=0.2, message="Processing..."): self.delay = delay self.message = message self.stop_running = threading.Event() - self.spin_thread = threading.Thread(target=self.init_spin) + self.spin_thread = threading.Thread(target=self.init_spin, daemon=True) def spinning_cursor(self): while not self.stop_running.is_set(): From a934828938c9a1e9aaece91f7dafc8d27621928f Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Sun, 17 Dec 2023 03:38:21 +1000 Subject: [PATCH 10/77] removed a cls --- startup.py | 1 - 1 file changed, 1 deletion(-) diff --git a/startup.py b/startup.py index 3b2eaff..cfe4834 100644 --- a/startup.py +++ b/startup.py @@ -62,7 +62,6 @@ def list_view(): def crosscheck_vod_details(): video_data_cross_checker.main() - os.system('cls') main_start() # Define your dictionary From 3cfd279d733f00e72de55e8f2477fc30fcc25056 Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Sun, 17 Dec 2023 03:38:37 +1000 Subject: [PATCH 11/77] testing --- zextra_Funcs_/just a test.py | 39 +++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/zextra_Funcs_/just a test.py b/zextra_Funcs_/just a test.py index b752cd0..d340784 100644 --- a/zextra_Funcs_/just a test.py +++ b/zextra_Funcs_/just a test.py @@ -5,20 +5,27 @@ # for files in os.listdir(dir): # print(files) +import os +import sys +import time -import subprocess - -rw_stream = subprocess.Popen( - rf'streamlink "https://youtu.be/cvq7Jy-TFAU?list=PLbAqlIAMdRgtQkPnpqCoqZv1hi9xWnsgZ" ', - shell=False, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - universal_newlines=True, - cwd='c:/Program Files/Streamlink/ffmpeg/', -) -stdout, stderr = rw_stream.communicate() -print("rw_stream", rw_stream) -print("stderr: ", stderr) -print("stdout: ", stdout) -print(f"The command failed with return code {rw_stream.returncode}") -print(f"stderr: {stderr.strip()}") \ No newline at end of file + +def flush_input(): + """Clears the input buffer.""" + if os.name == 'nt': # For Windows + import msvcrt + while msvcrt.kbhit(): + msvcrt.getch() + # else: # For Unix/Linux/MacOS + # import fcntl + # import termios + # termios.tcflush(sys.stdin, termios.TCIOFLUSH) + + +input("what u want") +time.sleep(4) + +flush_input() + + +input("last input") \ No newline at end of file From 6a1d9f3823c750372412507db565029911a2ecc5 Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Sun, 17 Dec 2023 03:47:28 +1000 Subject: [PATCH 12/77] START AT :L37 --- # TODO.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/# TODO.md b/# TODO.md index d00fc14..cb1dcc4 100644 --- a/# TODO.md +++ b/# TODO.md @@ -32,13 +32,14 @@ prints 0 new vods anyway?. [x] [done](zextra_Funcs_\check_old_files_downloaded.py) -[TODO] make chapters in vods? using code > [Code](zextra_Funcs_/getChaptersCall.py) < will require a large rewrite, games will be -in a list object and everywhere called will have to unpack, then also do u give option to set where to DL from?? +[x] set ffprobe paths to be from paths file +[TODO] Readme not redering prop in ghub, Do Main 👇👇, and re Cat all files to utils for onefile scrips and helpers for funcs etc [TODO] set main download completions crosscheck +[TODO] make chapters in vods? using code > [Code](zextra_Funcs_/getChaptersCall.py) < will require a large rewrite, games will be +in a list object and everywhere called will have to unpack, then also do u give option to set where to DL from?? -[] set ffprobe paths to be from paths file [] maybe rework tkinter to be packs instead of grids somehow as is laggy From ee8c6bf5bae83c03f1b9ddbda7b36cf72e2f242d Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Sun, 17 Dec 2023 03:53:52 +1000 Subject: [PATCH 13/77] up2date --- requirements.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index f52f8a1..e183f6f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,4 +9,3 @@ pyperclip==1.8.2 Requests==2.31.0 Send2Trash==1.8.2 tqdm==4.66.1 -pipreqs==0.4.13 \ No newline at end of file From 24346d822cb08fccb1190b97820033d0ace3dfdb Mon Sep 17 00:00:00 2001 From: Nick <oralsatin@gmail.com> Date: Sun, 17 Dec 2023 15:15:07 +1000 Subject: [PATCH 14/77] Update # TODO.md Signed-off-by: Nick <oralsatin@gmail.com> --- # TODO.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/# TODO.md b/# TODO.md index cb1dcc4..b9305dc 100644 --- a/# TODO.md +++ b/# TODO.md @@ -37,6 +37,8 @@ prints 0 new vods anyway?. [TODO] Readme not redering prop in ghub, Do Main 👇👇, and re Cat all files to utils for onefile scrips and helpers for funcs etc [TODO] set main download completions crosscheck +[] IDEA have a tkinter Warning popup before downloading depends??? + [TODO] make chapters in vods? using code > [Code](zextra_Funcs_/getChaptersCall.py) < will require a large rewrite, games will be in a list object and everywhere called will have to unpack, then also do u give option to set where to DL from?? From 7d896aa497cbbe98ab00e25911cf8024406c3353 Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Mon, 18 Dec 2023 21:50:51 +1000 Subject: [PATCH 15/77] fixed threadring urlcheck back to blocker call --- Main.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Main.py b/Main.py index c425825..dc06668 100644 --- a/Main.py +++ b/Main.py @@ -95,7 +95,8 @@ def main_script(download_with_Shutdown=None, fromfile=None): url_bits = funcs.parse_url_twitch(url) url_ = url_bits[0] - + print("🐍 File: Stream-Downloader-Util/Main.py | Line: 98 | main_script ~ url_",url_) + print(fromfile) def start_at_specified_time(url) -> tuple: """-> Returns tup(url, timecode)""" timecode = input( @@ -156,14 +157,14 @@ def get_urlm3u8_filesize(url_, queue, minus_time): is_url_path_twitch_vod = url_bits[1].path.split("/", -1)[-1].isnumeric() # TRACK why and i threading this? - is_url_thread = threading.Thread(target=funcs.is_url, args=(url_,)) - is_url_thread.start() - - # FIX want this to be better upto date with my curr knowledge + # is_url_thread = threading.Thread(target=funcs.is_url, args=(url_,)) + # is_url_thread.start() urlchk = False + (urlchk := funcs.is_url(url_)) + # FIX want this to be better upto date with my curr knowledge message = "Clipboard is NOT a URL, Copy URL Again......" while not urlchk: - print(f"ERROR: ( {url_}) Is NOT a Url.\n") + print(f"ERROR: ({url_}) Is NOT a Url.\n") choices = ["Done", "Exit", "Manual Input URL"] rs2 = funcs.multi_choice_dialog(message, choices) if rs2 == "Done": From 5c9ea4fe9ce2cc6a27aa078680d730ff45974d68 Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Mon, 18 Dec 2023 21:51:34 +1000 Subject: [PATCH 16/77] added a tk askokcancel to the downloads depends --- funcs.py | 92 ++++++++++++++++++++++++++++++-------------------------- 1 file changed, 50 insertions(+), 42 deletions(-) diff --git a/funcs.py b/funcs.py index 9bd2eb7..0dcc15d 100644 --- a/funcs.py +++ b/funcs.py @@ -7,7 +7,7 @@ import winsound import zipfile from datetime import datetime, timedelta -from tkinter import filedialog +from tkinter import filedialog, messagebox from urllib.parse import urlparse, urlunparse import inquirer @@ -470,26 +470,28 @@ def ffprobepath_download_an_unzip(): dloadFilePath = os.path.join(os.path.expanduser("~\\Desktop"), f"{last_segment}") - - dlmssg = ( - "\n---------------Downloading ffprobe from OFFICIAL FFMPEG " - "link (45mb - 110mb Extracted) " - " LINK >>> https://ffbinaries.com/downloads <<<" - f"---------------\n ----------------to {dloadFilePath} " - "and will auto extract to C:\\ffmpeg\\ ------------------\n" - ) - save_Dir = "C:\\ffmpeg\\" - spefFile = "ffprobe.exe" - zipmssg = "\nSent .zip to Recycle Bin (no longer required)\n" - - dld = download_url(url, dloadFilePath, dlmssg) - zp = unzip_file_from_path(dloadFilePath, "C:\\ffmpeg\\", spefFile, mssg=zipmssg) - if dld and zp == True: - Fprobe_Path = ("C:\\ffmpeg\\ffprobe.exe") - saveSettings("ffprobepath", Fprobe_Path) - return Fprobe_Path - - return f"{save_Dir}ffmpeg.exe" + if messagebox.askokcancel('Warning', 'Continue to download\nfrom Official Sources?', icon="warning"): + dlmssg = ( + "\n---------------Downloading ffprobe from OFFICIAL FFMPEG " + "link (45mb - 110mb Extracted) " + " LINK >>> https://ffbinaries.com/downloads <<<" + f"---------------\n ----------------to {dloadFilePath} " + "and will auto extract to C:\\ffmpeg\\ ------------------\n" + ) + save_Dir = "C:\\ffmpeg\\" + spefFile = "ffprobe.exe" + zipmssg = "\nSent .zip to Recycle Bin (no longer required)\n" + + dld = download_url(url, dloadFilePath, dlmssg) + zp = unzip_file_from_path(dloadFilePath, "C:\\ffmpeg\\", spefFile, mssg=zipmssg) + if dld and zp == True: + Fprobe_Path = ("C:\\ffmpeg\\ffprobe.exe") + saveSettings("ffprobepath", Fprobe_Path) + return Fprobe_Path + + return f"{save_Dir}ffmpeg.exe" + else: + return print('Canceled, unable to Run as Dependency missing') def ffmpegpath_download_an_unzip(): @@ -498,28 +500,34 @@ def ffmpegpath_download_an_unzip(): urlmpg = get_download_links(["FFMPEG_Link"]) last_segment = urlmpg.split('/')[-1] - dloadFilePath = os.path.join(os.path.expanduser("~\\Desktop"), - f"{last_segment}") - - dlmssg = ( - "\n---------------Downloading ffmpeg from OFFICIAL FFMPEG " - "link (45mb - 110mb Extracted) LINK >>> " - "https://ffbinaries.com/downloads <<<---------------\n " - f"----------------to {dloadFilePath} " - "and will auto extract to C:\\ffmpeg\\ ------------------\n" + dloadFilePath = os.path.join( + os.path.expanduser("~\\Desktop"), + f"{last_segment}" ) - save_Dir = "C:\\ffmpeg\\" - spefFile = "ffmpeg.exe" - zipmssg = "\nSent .zip to Recycle Bin (no longer required)\n" - - dld = download_url(urlmpg, dloadFilePath, dlmssg) - zp = unzip_file_from_path(dloadFilePath, save_Dir, spefFile, zipmssg) - if dld and zp == True: - ffm_Path = ("C:\\ffmpeg\\ffmpeg.exe") # only needs the dir to cmd into - saveSettings("ffmpegpath", ffm_Path) - return ffm_Path - - return f"{save_Dir}ffmpeg.exe" + if messagebox.askokcancel( + 'Warning', 'Continue to download\nfrom Official Sources?', icon="warning" + ): + dlmssg = ( + "\n---------------Downloading ffmpeg from OFFICIAL FFMPEG " + "link (45mb - 110mb Extracted) LINK >>> " + "https://ffbinaries.com/downloads <<<---------------\n " + f"----------------to {dloadFilePath} " + "and will auto extract to C:\\ffmpeg\\ ------------------\n" + ) + save_Dir = "C:\\ffmpeg\\" + spefFile = "ffmpeg.exe" + zipmssg = "\nSent .zip to Recycle Bin (no longer required)\n" + + dld = download_url(urlmpg, dloadFilePath, dlmssg) + zp = unzip_file_from_path(dloadFilePath, save_Dir, spefFile, zipmssg) + if dld and zp == True: + ffm_Path = ("C:\\ffmpeg\\ffmpeg.exe") # only needs the dir to cmd into + saveSettings("ffmpegpath", ffm_Path) + return ffm_Path + + return f"{save_Dir}ffmpeg.exe" + else: + return print('Canceled, unable to Run as Dependency missing') def ffmpeg_factory_init(callback_info: list[str]): From 89b8fcc57858833c0de88d97f86730b4d9c541fa Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Mon, 18 Dec 2023 21:52:40 +1000 Subject: [PATCH 17/77] tk idea Done --- # TODO.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/# TODO.md b/# TODO.md index b9305dc..54be644 100644 --- a/# TODO.md +++ b/# TODO.md @@ -34,11 +34,11 @@ prints 0 new vods anyway?. [x] set ffprobe paths to be from paths file +[x] IDEA have a tkinter Warning popup before downloading depends??? + [TODO] Readme not redering prop in ghub, Do Main 👇👇, and re Cat all files to utils for onefile scrips and helpers for funcs etc [TODO] set main download completions crosscheck -[] IDEA have a tkinter Warning popup before downloading depends??? - [TODO] make chapters in vods? using code > [Code](zextra_Funcs_/getChaptersCall.py) < will require a large rewrite, games will be in a list object and everywhere called will have to unpack, then also do u give option to set where to DL from?? From 3e85268bc9452614c132827d4203de953d88d9ab Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Thu, 21 Dec 2023 01:04:59 +1000 Subject: [PATCH 18/77] change pc, erroring --- Main.py | 48 ++++++++++++++++++------------- utils/video_data_cross_checker.py | 8 ++---- zextra_Funcs_/just a test.py | 28 ++++-------------- 3 files changed, 36 insertions(+), 48 deletions(-) diff --git a/Main.py b/Main.py index dc06668..8f33087 100644 --- a/Main.py +++ b/Main.py @@ -25,8 +25,6 @@ def main_script(download_with_Shutdown=None, fromfile=None): ''' download_with_shutdown enables == Pc shutdown after completion fromfile == Json data dict. ''' - # BUG some bug that either returns url with no separators in the resolution check - # or the size of vod check returns 0.00gb, Not consistent. seem to be able to get it with Deadlys Dayz vods. # Checking Settings.json is available and recently checked. try: @@ -44,7 +42,7 @@ def main_script(download_with_Shutdown=None, fromfile=None): is_a_fresh_save.extend(check_settings[1:2]) # type: ignore possible unbound if not all(is_a_fresh_save): - funcs.streamlink_factory_init(["Main", "main_script"]) + funcs.streamlink_factory_init(["Main", "main_script"]) # TODO may need to inc ffprobe init call os.system("cls") main_script() @@ -185,8 +183,8 @@ def get_urlm3u8_filesize(url_, queue, minus_time): # TRACK Untested fix to sub only Vods Res Check. # As not subbed to any sub only vod streamers. def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): - # This Ugly POS is because theres a current twitch bandwidth get Bug & - # in the Streamlink Code it double errors with Sub Only/w no access. + # FIX later This Ugly POS is because theres a current twitch m3u8 bandwidth get Bug -> 0. + # & in the Streamlink Code it double errors with Sub Only/w no access. loops = 0 while loops < 5: loops += 1 @@ -261,7 +259,6 @@ def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): # Naming the Terminal. terminal_Naming = os.path.basename(download_file_path) - os.system(f"title {terminal_Naming}") spinner2 = spn.Spinner() @@ -272,7 +269,7 @@ def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): spinner2.stop() get_res_opts = q.get() - # TRACK Shouldn't be needed, as should be handled in + # TRACK Shouldn't be needed, as should be handled in # the get_vid_resolutions Func if get_res_opts == 'Error': print('Errored Too many attempts') @@ -347,23 +344,34 @@ def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): thread_popen.start() # Wait for the thread to finish thread_popen.join() + # BUG if i cancel i got a synatx error ?? + # Reset the signal handler for SIGINT to its default behavior (kill terminal) signal.signal(signal.SIGINT, signal.SIG_DFL) - # if is_url_path_vod: - - # # FIX will need to include ffprobe in main settings checks to use this. - # get_len_of_vod_file = subprocess.Popen( - # rf'ffprobe -i "{download_file_path}" -v quiet -show_entries format=duration -of default=noprint_wrappers=1:nokey=1', - # shell=False, - # stdout=subprocess.PIPE, - # stderr=subprocess.PIPE, - # universal_newlines=True, - # cwd='c:/ffmpeg/' # FIX replace me. - # ) - # stdout, stderr = get_len_of_vod_file.communicate() - # get_len_of_vod_file.wait() + + def compare_with_tolerance(size1, size2, tolerance=10) -> bool: + """ + This function compares two file sizes with a certain tolerance. + """ + return abs(size1 - size2) <= tolerance + + + if is_url_path_twitch_vod: + get_len_of_vod_file = subprocess.Popen( + rf'ffprobe -i "{download_file_path}" -v quiet -show_entries format=duration -of default=noprint_wrappers=1:nokey=1', + shell=False, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + universal_newlines=True, + cwd=ffprobe_dir + ) + stdout, stderr = get_len_of_vod_file.communicate() + get_len_of_vod_file.wait() + len_secs = int(stdout.split('.')[0]) + if compare_with_tolerance(remaining_time, len_secs, 20): + fromfile[2]['downloaded'] = chosen_resolution # len_of_vod = int(stdout.split('.')[0]) # len_of_vod = int(stdout.split('.')[0]) ValueError: invalid literal for int() with base 10: '' ## cant get len_of_vod bcoz not muxed # # print("🐍 File: zextra_Funcs_/Testcode.py | Line: 126 | undefined ~ len_of_vod",len_of_vod) diff --git a/utils/video_data_cross_checker.py b/utils/video_data_cross_checker.py index 13397fb..c61c67e 100644 --- a/utils/video_data_cross_checker.py +++ b/utils/video_data_cross_checker.py @@ -179,17 +179,13 @@ def vod_titles_parse(vods_info): return vods_details -def compare_sizes(size1, size2, tolerance): +def compare_with_tolerance(size1, size2, tolerance=10) -> bool: """ This function compares two file sizes with a certain tolerance. """ return abs(size1 - size2) <= tolerance -def compare_with_tolerance(a, b, tolerance=10): - return abs(a - b) <= tolerance - - appdir = f'{get_appdata_dir()}/jsons' @@ -219,7 +215,7 @@ def change_download_status(total_names_from_dld_dir, appdir, compare_data): # Compare 'username' with 'id' if ( compare_data[vodfile]['username'] == jdata['displayName'] - and compare_sizes(compare_data[vodfile]['length'], jdata['lengthSeconds'], 20) + and compare_with_tolerance(compare_data[vodfile]['length'], jdata['lengthSeconds'], 20) and compare_data[vodfile].get('title') == jdata['title'] and jdata['downloaded'] is False ): diff --git a/zextra_Funcs_/just a test.py b/zextra_Funcs_/just a test.py index d340784..5e2e642 100644 --- a/zextra_Funcs_/just a test.py +++ b/zextra_Funcs_/just a test.py @@ -5,27 +5,11 @@ # for files in os.listdir(dir): # print(files) -import os -import sys -import time +def compare_with_tolerance(size1, size2, tolerance=10): + """ + This function compares two file sizes with a certain tolerance. + """ + return abs(size1 - size2) <= tolerance -def flush_input(): - """Clears the input buffer.""" - if os.name == 'nt': # For Windows - import msvcrt - while msvcrt.kbhit(): - msvcrt.getch() - # else: # For Unix/Linux/MacOS - # import fcntl - # import termios - # termios.tcflush(sys.stdin, termios.TCIOFLUSH) - - -input("what u want") -time.sleep(4) - -flush_input() - - -input("last input") \ No newline at end of file +print(compare_with_tolerance(152, 159, 15)) \ No newline at end of file From fe1c613cb14736d884c6f85d98101d028d1baa45 Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Thu, 21 Dec 2023 09:46:40 +1000 Subject: [PATCH 19/77] . --- helpers/__init__.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 helpers/__init__.py diff --git a/helpers/__init__.py b/helpers/__init__.py new file mode 100644 index 0000000..e69de29 From 2e54cc16c543409d4bee079bd2b6d995db80b39a Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Thu, 21 Dec 2023 09:49:08 +1000 Subject: [PATCH 20/77] made a try, if file name to short errors but continues --- utils/video_data_cross_checker.py | 77 +++++++++++++++++-------------- 1 file changed, 43 insertions(+), 34 deletions(-) diff --git a/utils/video_data_cross_checker.py b/utils/video_data_cross_checker.py index c61c67e..c479204 100644 --- a/utils/video_data_cross_checker.py +++ b/utils/video_data_cross_checker.py @@ -143,39 +143,42 @@ def vod_titles_parse(vods_info): """ vods_details = {} for info in vods_info: - path = os.path.basename(info[0]) - if match := re.match( - r'(?P<username>.*?) - (?P<date>\d{4}-\d{2}-\d{2}) (?P<title>.*?)_(?P<gamename>.*?)\.(?P<filetype>\w+)$', - path, - ): - vods_details[f'{info[0]}'] = { - "length": info[1], - "size": info[-1], - "height_fps": f'{info[3].strip()}p{info[2]}', - "username": match.group('username'), - "date": match.group('date'), - "title": match.group('title'), - "gamename": match.group('gamename'), - "filetype": match.group('filetype') - } - else: - filetype = path.rsplit('.', 1)[-1] - basename = path.rsplit('.', 1) - username = basename[0].split('-', 1)[0].strip().lower() - date = basename[0].split(' ', 3)[-2] - title0 = basename[0].rsplit('_', 1)[0] - titlename = title0.split(' ', 3)[-1].strip() - gamename = basename[0].rsplit('_', 1)[-1].strip() - vods_details[f'{info[0]}'] = { - "length": info[1], - "size": info[-1], - "height_fps": f'{info[3].strip()}p{info[2].strip()}', - "username": username, - "date": date, - "titlename": titlename, - "gamename": gamename, - "filetype": filetype - } + try: + path = os.path.basename(info[0]) + if match := re.match( + r'(?P<username>.*?) - (?P<date>\d{4}-\d{2}-\d{2}) (?P<title>.*?)_(?P<gamename>.*?)\.(?P<filetype>\w+)$', + path, + ): + vods_details[f'{info[0]}'] = { + "length": info[1], + "size": info[-1], + "height_fps": f'{info[3].strip()}p{info[2]}', + "username": match.group('username'), + "date": match.group('date'), + "title": match.group('title'), + "gamename": match.group('gamename'), + "filetype": match.group('filetype') + } + else: + filetype = path.rsplit('.', 1)[-1] + basename = path.rsplit('.', 1) + username = basename[0].split('-', 1)[0].strip().lower() + date = basename[0].split(' ', 3)[-2] + title0 = basename[0].rsplit('_', 1)[0] + titlename = title0.split(' ', 3)[-1].strip() + gamename = basename[0].rsplit('_', 1)[-1].strip() + vods_details[f'{info[0]}'] = { + "length": info[1], + "size": info[-1], + "height_fps": f'{info[3].strip()}p{info[2].strip()}', + "username": username, + "date": date, + "titlename": titlename, + "gamename": gamename, + "filetype": filetype + } + except IndexError: + continue return vods_details @@ -261,6 +264,9 @@ def main(): spinner1.start() walk_tree = filedialog.askdirectory() + if walk_tree == '': + spinner1.stop() + return (main() if funcs.multi_choice_dialog('Quit or Choose again?', ['Redo', 'Quit']) == 'Redo' else main_start()) spinner1.stop() os.system("cls") @@ -272,12 +278,15 @@ def main(): vun = vod_user_names(lfid, compare_data) if edited_list := change_download_status(vun, appdir, compare_data): + spinner2.stop() os.system('cls') for i in edited_list: print(i) print('\nItems Changed.\n') + else: + spinner2.stop() + print("\nNo Changes\n") - spinner2.stop() if __name__ == '__main__': From d2c2e846c98fcb82a1634682afc5226b67c80c30 Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Thu, 21 Dec 2023 09:49:15 +1000 Subject: [PATCH 21/77] updated --- # TODO.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/# TODO.md b/# TODO.md index 54be644..d155443 100644 --- a/# TODO.md +++ b/# TODO.md @@ -36,20 +36,20 @@ prints 0 new vods anyway?. [x] IDEA have a tkinter Warning popup before downloading depends??? -[TODO] Readme not redering prop in ghub, Do Main 👇👇, and re Cat all files to utils for onefile scrips and helpers for funcs etc -[TODO] set main download completions crosscheck +[x] Readme not redering prop in ghub, +[x] set main download completions crosscheck -[TODO] make chapters in vods? using code > [Code](zextra_Funcs_/getChaptersCall.py) < will require a large rewrite, games will be -in a list object and everywhere called will have to unpack, then also do u give option to set where to DL from?? +[x] make able to get from file and dld from a time cmd and have it calc the right size minus'ing time-- think i have code somewhere +[x] [Working](zextra_Funcs_/check_old_files_downloaded.py#L136): make it so u can check if downloaded incase a new json file is made/ overwritten -[] maybe rework tkinter to be packs instead of grids somehow as is laggy - +[] re Cat all files to utils for onefile scrips and helpers for funcs etc +[TODO] make chapters in vods? using code > [Code](zextra_Funcs_/getChaptersCall.py) < will require a large rewrite, games will be +in a list object and everywhere called will have to unpack, then also do u give option to set where to DL from?? -[] make able to get from file and dld from a time cmd and have it calc the right size minus'ing time-- think i have code somewhere -[] [Working](zextra_Funcs_/check_old_files_downloaded.py#L136): make it so u can check if downloaded incase a new json file is made/ overwritten +[] maybe rework tkinter to be packs instead of grids somehow as is laggy THINK in the check new stream -- what to do for deleted /hidden vods on channels? From 9262fe9ca6471ae57121f32e017a98a7c2275ec1 Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Thu, 21 Dec 2023 09:49:48 +1000 Subject: [PATCH 22/77] added #website + verified auth works --- auth_skip_ads_.py | 1 + 1 file changed, 1 insertion(+) diff --git a/auth_skip_ads_.py b/auth_skip_ads_.py index a427132..5030a51 100644 --- a/auth_skip_ads_.py +++ b/auth_skip_ads_.py @@ -43,6 +43,7 @@ def auth_twitch_string(): auth_Token = load_auth_file(['auth_token'])[0] return f'"--twitch-api-header=Authorization=OAuth {auth_Token}"' + # https://streamlink.github.io/latest/cli/plugins/twitch.html#authentication else: help = ('\nIn order to get the personal OAuth token\nfrom Twitch' ' website which identifies' From 776b9430e15bf3fad360f1a55bc374476aa6fe9a Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Thu, 21 Dec 2023 09:50:20 +1000 Subject: [PATCH 23/77] descrip removed --- utility_dir/util_functions.py | 1 + 1 file changed, 1 insertion(+) diff --git a/utility_dir/util_functions.py b/utility_dir/util_functions.py index 4cd5405..894e39b 100644 --- a/utility_dir/util_functions.py +++ b/utility_dir/util_functions.py @@ -25,6 +25,7 @@ def update_downloaded_to_resolution(target_id, new_value): def get_appdata_dir(): + """Returns the STU appdata_path directory""" appdata_path = os.getenv("LOCALAPPDATA") return os.path.join(str(appdata_path), "Stream-Downloader-Util") From 567749409042ba0d924ca878c07677ccda092959 Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Thu, 21 Dec 2023 09:50:50 +1000 Subject: [PATCH 24/77] cancel -> **Cancel** --- utility_dir/get_single_vod_.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/utility_dir/get_single_vod_.py b/utility_dir/get_single_vod_.py index a709da9..e27a425 100644 --- a/utility_dir/get_single_vod_.py +++ b/utility_dir/get_single_vod_.py @@ -16,15 +16,15 @@ def get_file_list_from_dir(vods_dir) -> list: def select_json(list_of_streamer_jsons): - string_list_of_streamer_jsons = ', '.join(list_of_streamer_jsons) + 'Cancel' - list_of_streamer_jsons.append('Cancel') + string_list_of_streamer_jsons = ', '.join(list_of_streamer_jsons) + '**Cancel**' + list_of_streamer_jsons.append('**Cancel**') choice = util.multi_choice_dialog( 'List of saved Jsons', choice_s=list_of_streamer_jsons, return_options="dict", keys_name='streamer' ) - if choice.get("streamer") == 'Cancel': # WATCH Implemented only for multichoise, if tkinter maybe take OUT. + if choice.get("streamer") == '**Cancel**': # WATCH Implemented only for multichoise, if tkinter maybe take OUT. import startup os.system("cls") startup.main_start() From a29d32f191889f055bd2defdd6b6bffdd2496ba2 Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Thu, 21 Dec 2023 09:51:50 +1000 Subject: [PATCH 25/77] now returns -1 in list, returns early if viewOnly, added a cancel --- new_mass_gql/tk_get_file_list.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/new_mass_gql/tk_get_file_list.py b/new_mass_gql/tk_get_file_list.py index b1263ac..bf4ef1b 100644 --- a/new_mass_gql/tk_get_file_list.py +++ b/new_mass_gql/tk_get_file_list.py @@ -101,7 +101,7 @@ def create_popup1( text=( "Selection/s made by clicking on a Vod/s with Mouse (Multi Hold Shift)\n" "Use 'Make Selection-Close' (Right) Button to make selection," - "\nSelection will be the first item in the list" + "\nSelection will be the LAST item in the list (If Multi)" ), bg="#191825", fg="white", @@ -589,13 +589,15 @@ def process_data(input_data, windName, file_path, **kwargs) -> tuple: else: create_popup1(windName, columns, data, input_data, file_path) + if kwargs: + return try: listIndexs = [(index[0], input_data[index[0]]) for index in selected_items] print("🐍 File: new_mass_gql/tk_get_file_list.py | Line: 593 | process_data ~ listIndexs",listIndexs) print("🐍 File: new_mass_gql/tk_get_file_list.py | Line: 593 | process_data ~ listIndexs",listIndexs[0]) spinner1.stop() # return listIndexs[0] if listIndexs else None - return listIndexs[0] + return listIndexs[-1] except IndexError: spinner1.stop() os.system('cls') @@ -617,7 +619,7 @@ def call_tk_file(file_path) -> tuple | None: def call_tk_data(data): windName = data[0].get("displayName") kwargs = {"arg1": True} - t1 = threading.Thread(target=process_data, args=(data, windName, ""), kwargs=kwargs) + t1 = threading.Thread(target=process_data, args=(data, windName, ""), kwargs=kwargs, daemon=True) t1.start() return @@ -627,8 +629,12 @@ def call_as_solo(): list_files = [] for files in os.listdir(appdata_dir): list_files.append(files) - chosen_dir = rf'{appdata_dir}\{funcs.multi_choice_dialog('Open:', list_files)}' - return call_tk_file(chosen_dir) + chosen_dir = rf'{appdata_dir}\{funcs.multi_choice_dialog('Open:', list_files + ["**Cancel**"])}' + if chosen_dir.endswith('**Cancel**'): + from startup import main_start + main_start() + else: + return call_tk_file(chosen_dir) # file = "C:\\Users\\970EVO-Gamer\\AppData\\Local\\Stream-Downloader-Util\\jsons\\algobro.json" From d7e514337e4498c6353a07f8feb401bd0aced946 Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Thu, 21 Dec 2023 09:53:02 +1000 Subject: [PATCH 26/77] added a comm bout adding universals Streamer name incase Mods archiving --- new_mass_gql/gql_main_call.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/new_mass_gql/gql_main_call.py b/new_mass_gql/gql_main_call.py index 0a4397f..2baf0a3 100644 --- a/new_mass_gql/gql_main_call.py +++ b/new_mass_gql/gql_main_call.py @@ -161,6 +161,7 @@ class Vod: """ def __init__(self, node): + # self.streamer_id = streamers_name self.creatorId = node["creator"]["id"] self.login = node["creator"]["login"] self.displayName = node["creator"]["displayName"] @@ -223,7 +224,7 @@ def First_making_cmds(streamer_user_name=None): # file_path = f"jsons/{streamer_user_name}.json" file_path = rf"{util.get_appdata_dir()}\jsons\{streamer_user_name}.json" - vods_dict = Vod.create_vods_from_edges(resp["data"]["user"]["videos"]["edges"]) + vods_dict = Vod.create_vods_from_edges(resp["data"]["user"]["videos"]["edges"], streamer_user_name) file_path_dir = os.path.dirname(file_path) if not os.path.exists(file_path_dir): From 7f94cb42164ce6c421d3b258c4b10f548d4e78f9 Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Thu, 21 Dec 2023 09:53:25 +1000 Subject: [PATCH 27/77] cleanup/ added comment --- new_mass_gql/check_new_streams.py | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/new_mass_gql/check_new_streams.py b/new_mass_gql/check_new_streams.py index f425f5c..d216496 100644 --- a/new_mass_gql/check_new_streams.py +++ b/new_mass_gql/check_new_streams.py @@ -99,21 +99,14 @@ def add_new_entries_json( def print_new_vods_from_dictClass(vod_index, vods_dict): if vod_index != 0: - # sends it to Tkinter instead of print outs. from new_mass_gql import tk_get_file_list - tk_get_file_list.call_tk_data(vods_dict[:vod_index]) # WATCH Works But has the selection version of tk popup, class it or make new version??. - - # for index, vod in enumerate(vods_dict): - # print( - # f'{util.simple_convert_timestamp(vod['publishedAt'])}, ' - # f'{vod['gameName']}, ' - # f'{vod['title']}, ' - # f'{util.decode_seconds_to_hms(vod['lengthSeconds'])} ' - # f'\n{vod['url']}' - # ) - # if index == vod_index - 1: - # break - print(f'\n{(vod_index)}: New Vods\n') + tk_get_file_list.call_tk_data(vods_dict[:vod_index]) + + print(f'\n\n{(vod_index)}: New Vods\n') + return + # FIX if streamers dont keep vods will + # return 0 vods new but will update file if a vods temporarily still available + # unti`l hidden. # def start_new_vods(json_file_path, streamer_user_name): From f84bc112d735b3dbf8793a36fcefa17e8cc09af0 Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Thu, 21 Dec 2023 09:53:42 +1000 Subject: [PATCH 28/77] Help text --- helpers/help.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 helpers/help.py diff --git a/helpers/help.py b/helpers/help.py new file mode 100644 index 0000000..1e1bc5b --- /dev/null +++ b/helpers/help.py @@ -0,0 +1,22 @@ +def main(): + import os + + import startup + os.system('cls') + print("{:<35} {:<10}".format('\nStandard Download: ', 'Downloads the URL thats stored in your Clipboard')) + print("{:<35} {:<10}".format('\nRe-Mux:', 'Mux\'es (if not discontinuous/Chunked just copies) Combines Chunked Streams into a continuous File.')) + print("{:<35} {:<10}".format('\nExtract Audio/Video:', 'Extracts the Audio/Video Streams of a File into their own Files, Preserves Original File.')) + print("{:<35} {:<10}".format('\nDownload W/ Shutdown:', 'Downloads Chosen source and Calls Shutdown Command after completion')) + print("{:<35} {:<10}".format('', '(Default 3min after Completion OR can be set to Custom Time in the future with [Manual] option).')) + print("{:<35} {:<10}".format('\nVod From File:', 'Creates a Popup of Vods from x person (Created from: Create New Vods File) and downloads a file selected.')) + print("{:<35} {:<10}".format('\nUpdate Vods File:', 'Updates already existing files with new Vods not existing in the file list.')) + print("{:<35} {:<10}".format('\nList View File:', 'Creates a popup of x streamers Vods for manual changing of download status and General view of available vods.')) + print("{:<35} {:<10}".format('\nCross-check Vods to Json Data:', 'Cross-checks Video Files properties (from selected Parent folder) with stored json data to check if the file is "downloaded"')) + print("{:<35} {:<10}".format('', 'and sets to Json "downloaded" Status if criteria met.')) + print("{:<35} {:<10}".format('Criteria', '[Not previously set, VideoUsername==JsonDisplayName, VideoTitle==JsonTitle, VideoLength==JsonLength]')) + print("{:<35} {:<10}".format('Naming Files Convention == ', '(Username) (YYYY-MM-DD) (TitleOfStream)_StreamCategory\n\n\n')) + return startup.main_start() + + +if __name__ == '__main__': + main() From 9d0925b67ae3e01f0a998cb3d5da0af7a65e07dd Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Thu, 21 Dec 2023 09:54:19 +1000 Subject: [PATCH 29/77] +help , re-named/ordered list --- startup.py | 74 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 42 insertions(+), 32 deletions(-) diff --git a/startup.py b/startup.py index cfe4834..da85591 100644 --- a/startup.py +++ b/startup.py @@ -1,4 +1,3 @@ - import os import threading @@ -6,19 +5,21 @@ import funcs import init_files from ffmpegExtract import ffmpegextract +from helpers import help as hlp from new_mass_gql import check_new_streams, gql_main_call, tk_get_file_list from utility_dir import get_single_vod_ from utils import video_data_cross_checker def main_start(impt_data=None): - def download(): from Main import main_script + main_script() def remux(): from mux_vid import mux + mux(ran_as_main=True) def extract(): @@ -26,6 +27,7 @@ def extract(): def download_shutdown(): from Main import main_script + main_script(True) def exit_program(): @@ -40,18 +42,23 @@ def check_streams(): def retrieve_saved_vod(): if impt_data: - aad = get_single_vod_.Run_get_vod('') - aad = get_single_vod_.Run_get_vod('') + aad = get_single_vod_.Run_get_vod("") + aad = get_single_vod_.Run_get_vod("") # print(aad) from Main import main_script # from new_mass_gql import tk_get_file_list # print(aad[0]) # tk_get_file_list.call_tk_vod_view(f'c:/Users/970EVO-Gamer/AppData/Local/Stream-Downloader-Util/jsons/{aad[0]}.json') # FIX sloppy af. - if (shutdown := funcs.multi_choice_dialog('Download Type', ['Normal', 'Auto Shutdown', '**Cancel**']) == "Normal"): + if ( + shutdown := funcs.multi_choice_dialog( + "Download Type", ["Normal", "Auto Shutdown", "**Cancel**"] + ) + == "Normal" + ): main_script(fromfile=aad) - elif shutdown == '**Cancel**': - os.system('cls') + elif shutdown == "**Cancel**": + os.system("cls") main_start() else: main_script(download_with_Shutdown=True, fromfile=aad) @@ -64,18 +71,22 @@ def crosscheck_vod_details(): video_data_cross_checker.main() main_start() + def helpstr(): + hlp.main() + # Define your dictionary switch = { - 'Download': download, - 'Remux': remux, - 'Extract': extract, - 'Download-Shutdown': download_shutdown, - 'Get Vod from File': retrieve_saved_vod, - 'Create Streamer Vods File': making_vods_list, - 'Check for New Vods': check_streams, - 'List View': list_view, - 'Cross-check Vods to Json Data': crosscheck_vod_details, - 'Exit': exit_program, + "Standard Download": download, + "Re-Mux": remux, + "Extract Audio/Video": extract, + "Download W/ Shutdown": download_shutdown, + "Vod from File": retrieve_saved_vod, + "Update Vods File": check_streams, + "List View of File": list_view, + "Create New Vods File": making_vods_list, + "Cross-check Vods to Json Data": crosscheck_vod_details, + "Help": helpstr, + "Exit": exit_program, } os.system("title Stream Downloader Util") @@ -87,23 +98,24 @@ def crosscheck_vod_details(): init_files.version_check() init_files.logger_setup() - question = ('Start Commands') + question = "Start Commands" responses = [ - 'Download', - 'Remux', - 'Extract', - 'Download-Shutdown', - 'Get Vod from File', - 'Check for New Vods', - 'Create Streamer Vods File', - 'List View', - 'Cross-check Vods to Json Data', - 'Exit' + "Standard Download", + "Re-Mux", + "Extract Audio/Video", + "Download W/ Shutdown", + "Vod from File", + "Update Vods File", + "List View of File", + "Create New Vods File", + "Cross-check Vods to Json Data", + "Help", + "Exit", ] rprog = funcs.multi_choice_dialog(question, responses) # Get the function from the dictionary - func = switch.get(rprog) #ignore: E262 + func = switch.get(rprog) # ignore: E262 # when_= 4-8 # Call the function if it's not None if func: @@ -112,7 +124,5 @@ def crosscheck_vod_details(): print("Invalid option") - - -if __name__ == '__main__': +if __name__ == "__main__": main_start() From e85f63335529a19491ddb9d2a3c605c2387b2e8c Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Thu, 21 Dec 2023 09:54:40 +1000 Subject: [PATCH 30/77] $$ dont render on ghub --- README.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 605f2e4..83347e0 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ README.md * Extraction of Audio & Video Channel/s from File to separate files, if 1 Multi channels or 2 Desire Audio-Video Separated (useful for OBS Multi-Channel Captures) --- -## $$ DOWNLOAD $$ +## DOWNLOAD **STREAMLINK Dependent** @@ -28,8 +28,10 @@ Optional [terminate] Download early without Crashing the CLI Downloads File Via [Streamlink][streamlink-website] Asks if [Mux-ing] is Desired (Combines Chunks files for smooth playback with FFMPEG). --- -## $$ MUX-ING $$ + + +--- +## MUX-ING **FFMPEG Dependent** @@ -38,8 +40,10 @@ This is available after Download And Separate From the main downloading option, Re Mux's (Copies) the File specified in the Clipboard (File path) or [fileddialog][fileddialog2] (Browser popup Finder) Sends the old file to the Recycle bin and saves a new file into a separate new Folder inside the CWD, then opens the folder. --- -## $$ EXTRACTION $$ + + +--- +## EXTRACTION **FFPROBE Dependent** @@ -56,7 +60,7 @@ Video can be selected to also Separated form Audio > ***if the file has not been muxed (or standard file) may result in misread of Audio channels*** --- -## $$ DEPENDENCIES $$ +## DEPENDENCIES - [Streamlink][streamlink-website] - [FFmpeg][ffmpeg] A Version comes with Streamlink From 99be69daa4fe8343737dca9100ca6687b2892a67 Mon Sep 17 00:00:00 2001 From: NSMY <oralsatin@gmail.com> Date: Thu, 21 Dec 2023 09:56:27 +1000 Subject: [PATCH 31/77] ffprobe setts, todo, Sub only tested, dld json confirmation, shutdown ==180 --- Main.py | 55 ++++++++++++++++++++++++------------------------------- 1 file changed, 24 insertions(+), 31 deletions(-) diff --git a/Main.py b/Main.py index 8f33087..ab2a5e6 100644 --- a/Main.py +++ b/Main.py @@ -1,3 +1,4 @@ +import json import logging import os import re @@ -42,7 +43,8 @@ def main_script(download_with_Shutdown=None, fromfile=None): is_a_fresh_save.extend(check_settings[1:2]) # type: ignore possible unbound if not all(is_a_fresh_save): - funcs.streamlink_factory_init(["Main", "main_script"]) # TODO may need to inc ffprobe init call + funcs.streamlink_factory_init(["Main", "main_script"]) + funcs.ffprobe_factory_init(["Main", "main_script"]) os.system("cls") main_script() @@ -89,6 +91,7 @@ def main_script(download_with_Shutdown=None, fromfile=None): # Retrieves Last item in Clipboard(ctrl v). url = paste() if fromfile is None else fromfile[0] + # TODO maybe have it get the title of url if == twitch??. url_bits = funcs.parse_url_twitch(url) @@ -180,8 +183,8 @@ def get_urlm3u8_filesize(url_, queue, minus_time): elif rs2 == "Exit": sys.exit() - # TRACK Untested fix to sub only Vods Res Check. - # As not subbed to any sub only vod streamers. + # Sub Only tested works but no est size of vod as Likely gql auth is + # [] general oauth not personal key maybe can hackaround (sub only prints out (L GB)). def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): # FIX later This Ugly POS is because theres a current twitch m3u8 bandwidth get Bug -> 0. # & in the Streamlink Code it double errors with Sub Only/w no access. @@ -301,6 +304,7 @@ def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): rf'streamlink {skip_ads_rtrn} "{url_}" {chosen_resolution}' f' --stream-segment-threads 5 -o "{download_file_path}"' ) + print("🐍 File: Stream-Downloader-Util/Main.py | Line: 306 | get_vid_resolutions ~ download_string",download_string) elif twitch_options_choice == "Standard": download_string = default_download_string @@ -327,6 +331,8 @@ def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): print("\nQuality Chosen: ", chosen_resolution, "\n") # Main Download Process + # BUG Twitch is Bugging out and returns no streams available but retry works + # prob same m3u8 bandwidth -> 0 bug 21-12-2023. process = subprocess.Popen( download_string, shell=True, universal_newlines=True, cwd=slinkDir ) @@ -350,7 +356,7 @@ def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): # Reset the signal handler for SIGINT to its default behavior (kill terminal) signal.signal(signal.SIGINT, signal.SIG_DFL) - + # FIX errors is Canceled def compare_with_tolerance(size1, size2, tolerance=10) -> bool: """ This function compares two file sizes with a certain tolerance. @@ -358,7 +364,8 @@ def compare_with_tolerance(size1, size2, tolerance=10) -> bool: return abs(size1 - size2) <= tolerance - if is_url_path_twitch_vod: + # FIX errors is Canceled find way to not enter if Canceled + if is_url_path_twitch_vod and os.path.isfile(download_file_path): get_len_of_vod_file = subprocess.Popen( rf'ffprobe -i "{download_file_path}" -v quiet -show_entries format=duration -of default=noprint_wrappers=1:nokey=1', shell=False, @@ -371,31 +378,17 @@ def compare_with_tolerance(size1, size2, tolerance=10) -> bool: get_len_of_vod_file.wait() len_secs = int(stdout.split('.')[0]) if compare_with_tolerance(remaining_time, len_secs, 20): - fromfile[2]['downloaded'] = chosen_resolution - # len_of_vod = int(stdout.split('.')[0]) # len_of_vod = int(stdout.split('.')[0]) ValueError: invalid literal for int() with base 10: '' ## cant get len_of_vod bcoz not muxed - # # print("🐍 File: zextra_Funcs_/Testcode.py | Line: 126 | undefined ~ len_of_vod",len_of_vod) - - # if (ulr_query := urlparse(url).query).startswith('t='): - # url_split = re.split('[=hms]', ulr_query) - # secs_to_subt_from_file = util_functions.encode_hms_to_seconds(':'.join(url_split[1:-1])) - # # if len_of_vod - secs_to_subt_from_file == 0: - # if len_of_vod - secs_to_subt_from_file == 0: - # # LOOK Temp code to make feat work as proof more complex here than necessary - # # needs more comparing, this changes every time not if complete and or further comparisons - # # working Great, need a Pointer to file/or date dld in file??. - # util_functions.update_downloaded_to_resolution( - # urlparse(url_).path.split("/")[-1], chosen_resolution - # ) - # elif len_of_vod - fromfile[2].get('lengthSeconds') == 0: - - # # LOOK Temp code to make feat work as proof more complex here than necessary - # # needs more comparing, this changes every time not if complete and or further comparisons - # # working Great, need a Pointer to file/or date dld in file??. - # util_functions.update_downloaded_to_resolution( - # urlparse(url_).path.split("/")[-1], chosen_resolution - # )# BUG seemed not to trigger on 14-10 vod of kotton maybe dl size dont match close enough?. - - # HERE have the dld conformation be size GB and/or seconds(len) of vid and be like 5 seconds adjustable + # FIX Lazy temp solution to get json name (could error from mods name being this) + chosen_json_path = f"{util_functions.get_appdata_dir()}/jsons/{fromfile[2]['login']}.json" + + with open(chosen_json_path, 'r') as f: + filedata = json.load(f) + chosenindex = fromfile[1] + + filedata[chosenindex]['downloaded'] = chosen_resolution + + with open(chosen_json_path, 'w') as f: + json.dump(filedata, f, indent=4) if download_with_Shutdown: if sd_type == "Auto": @@ -406,7 +399,7 @@ def compare_with_tolerance(size1, size2, tolerance=10) -> bool: )) cpvs.mux(download_file_path) - os.system("shutdown -s -t 200") + os.system("shutdown -s -t 180") os.system("cls") print( "If you want to Cancel the Shutdown CMD, " From 9403a3dce8271f0cd232958fc1c893226c0c3eb5 Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Fri, 22 Dec 2023 00:28:51 +1000 Subject: [PATCH 32/77] Test --- # TODO.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/# TODO.md b/# TODO.md index d155443..f3d1346 100644 --- a/# TODO.md +++ b/# TODO.md @@ -49,6 +49,8 @@ prints 0 new vods anyway?. in a list object and everywhere called will have to unpack, then also do u give option to set where to DL from?? + + [] maybe rework tkinter to be packs instead of grids somehow as is laggy From 10696b87469c013c28b14bf3cfca2140c4e564a4 Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Fri, 22 Dec 2023 00:59:10 +1000 Subject: [PATCH 33/77] Bug maybee?? --- Main.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Main.py b/Main.py index ab2a5e6..b3bb05b 100644 --- a/Main.py +++ b/Main.py @@ -30,7 +30,7 @@ def main_script(download_with_Shutdown=None, fromfile=None): # Checking Settings.json is available and recently checked. try: check_settings = funcs.loadSettings( - keys=["LastSave", "streamlinkPath", "ffprobepath"] + keys=["LastSave", "streamlinkPath", "ffprobepath"] # BUG thia dont get but it did ffprobe frozen npath?? ) except FileNotFoundError as e: print(e) @@ -49,7 +49,6 @@ def main_script(download_with_Shutdown=None, fromfile=None): main_script() slinkDir = os.path.dirname(check_settings[1]) # type: ignore possible unbound - ffprobe_dir = os.path.dirname(check_settings[2]) # type: ignore possible unbound if fromfile: From 975ae17fabc233df8d7cb2e5d98d432cf94570b7 Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Sat, 23 Dec 2023 07:31:35 +1000 Subject: [PATCH 34/77] major Reshuffle of dirs --- Main.py | 37 ++- download_Links.txt | 8 - {new_mass_gql => helpers}/Readme.md | 0 .../auth_skip_ads_.py | 2 +- .../check_new_streams.py | 10 +- .../extraction_factory.py | 0 funcs.py => helpers/funcs.py | 20 +- .../get_vods_sizes_m3u8.py | 0 {new_mass_gql => helpers}/gql_main_call.py | 8 +- helpers/help.py | 2 +- {new_mass_gql => helpers}/swap_old_data.py | 4 +- {new_mass_gql => helpers}/tk_get_file_list.py | 28 +- {utility_dir => helpers}/util_functions.py | 0 .../default_path_factory.py | 2 +- init_files.py => init_dir/init_files.py | 12 +- {new_mass_gql => my_utils}/__init__.py | 0 ffmpegExtract.py => my_utils/ffmpegExtract.py | 6 +- {utility_dir => my_utils}/get_single_vod_.py | 5 +- mux_vid.py => my_utils/mux_vid.py | 6 +- spinner.py => my_utils/spinner.py | 0 .../video_data_cross_checker.py | 10 +- startup.py | 30 +- utility_dir/__init__.py | 0 utils/__init__.py | 0 versionfile.txt | 8 +- zextra_Funcs_/Testcode.py | 194 +----------- zextra_Funcs_/just a test.py | 15 - zextra_Funcs_/tessettt.py | 291 +++++++++--------- 28 files changed, 259 insertions(+), 439 deletions(-) delete mode 100644 download_Links.txt rename {new_mass_gql => helpers}/Readme.md (100%) rename auth_skip_ads_.py => helpers/auth_skip_ads_.py (99%) rename {new_mass_gql => helpers}/check_new_streams.py (98%) rename extraction_factory.py => helpers/extraction_factory.py (100%) rename funcs.py => helpers/funcs.py (98%) rename {new_mass_gql => helpers}/get_vods_sizes_m3u8.py (100%) rename {new_mass_gql => helpers}/gql_main_call.py (98%) rename {new_mass_gql => helpers}/swap_old_data.py (96%) rename {new_mass_gql => helpers}/tk_get_file_list.py (96%) rename {utility_dir => helpers}/util_functions.py (100%) rename default_path_factory.py => init_dir/default_path_factory.py (98%) rename init_files.py => init_dir/init_files.py (92%) rename {new_mass_gql => my_utils}/__init__.py (100%) rename ffmpegExtract.py => my_utils/ffmpegExtract.py (96%) rename {utility_dir => my_utils}/get_single_vod_.py (97%) rename mux_vid.py => my_utils/mux_vid.py (96%) rename spinner.py => my_utils/spinner.py (100%) rename {utils => my_utils}/video_data_cross_checker.py (98%) delete mode 100644 utility_dir/__init__.py delete mode 100644 utils/__init__.py diff --git a/Main.py b/Main.py index b3bb05b..6daa5f0 100644 --- a/Main.py +++ b/Main.py @@ -6,6 +6,7 @@ import subprocess import sys import threading +import time import winsound from datetime import datetime from queue import Queue @@ -13,16 +14,15 @@ from pyperclip import copy, paste -import auth_skip_ads_ -import funcs -import init_files -import mux_vid as cpvs -import spinner as spn -from new_mass_gql import get_vods_sizes_m3u8 as m3 -from utility_dir import util_functions +from helpers import auth_skip_ads_, funcs +from helpers import get_vods_sizes_m3u8 as m3 +from helpers import util_functions +from init_dir import init_files +from my_utils import mux_vid as cpvs +from my_utils import spinner as spn -def main_script(download_with_Shutdown=None, fromfile=None): +def main_dld_start(download_with_Shutdown=None, fromfile=None): ''' download_with_shutdown enables == Pc shutdown after completion fromfile == Json data dict. ''' @@ -36,17 +36,17 @@ def main_script(download_with_Shutdown=None, fromfile=None): print(e) init_files.initSettings() os.system("cls") - main_script() + main_dld_start() is_a_fresh_save = [funcs.is_less_than_30days(check_settings[0])] # type: ignore possible unbound is_a_fresh_save.extend(check_settings[1:2]) # type: ignore possible unbound if not all(is_a_fresh_save): - funcs.streamlink_factory_init(["Main", "main_script"]) - funcs.ffprobe_factory_init(["Main", "main_script"]) + funcs.streamlink_factory_init(["Main", "main_dld_start"]) + funcs.ffprobe_factory_init(["Main", "main_dld_start"]) os.system("cls") - main_script() + main_dld_start() slinkDir = os.path.dirname(check_settings[1]) # type: ignore possible unbound ffprobe_dir = os.path.dirname(check_settings[2]) # type: ignore possible unbound @@ -95,8 +95,7 @@ def main_script(download_with_Shutdown=None, fromfile=None): url_bits = funcs.parse_url_twitch(url) url_ = url_bits[0] - print("🐍 File: Stream-Downloader-Util/Main.py | Line: 98 | main_script ~ url_",url_) - print(fromfile) + def start_at_specified_time(url) -> tuple: """-> Returns tup(url, timecode)""" timecode = input( @@ -169,7 +168,7 @@ def get_urlm3u8_filesize(url_, queue, minus_time): rs2 = funcs.multi_choice_dialog(message, choices) if rs2 == "Done": os.system("cls" if os.name == "nt" else "clear") - main_script() + main_dld_start() elif rs2 == "Manual Input URL": url_ = input( "Type or paste (Must Include http://www.) " "URL HERE: " @@ -178,7 +177,7 @@ def get_urlm3u8_filesize(url_, queue, minus_time): if urlchk == True: # FIX == True or Is True?. print(url_) break - main_script() + main_dld_start() elif rs2 == "Exit": sys.exit() @@ -303,12 +302,9 @@ def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): rf'streamlink {skip_ads_rtrn} "{url_}" {chosen_resolution}' f' --stream-segment-threads 5 -o "{download_file_path}"' ) - print("🐍 File: Stream-Downloader-Util/Main.py | Line: 306 | get_vid_resolutions ~ download_string",download_string) elif twitch_options_choice == "Standard": download_string = default_download_string - print("\nCTRL + C to CANCEL Download early if necessary") - if is_url_path_twitch_vod: spinner1 = spn.Spinner() spinner1.start() @@ -336,6 +332,8 @@ def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): download_string, shell=True, universal_newlines=True, cwd=slinkDir ) + print("\nCTRL + C to CANCEL Download early if necessary\n") + # Define a signal handler for SIGINT using a lambda function # changing ctrl+c to kill the subprocess instead of the terminal. handle_sigint = lambda signal, frame: funcs.kill_process(process) @@ -404,6 +402,7 @@ def compare_with_tolerance(size1, size2, tolerance=10) -> bool: "If you want to Cancel the Shutdown CMD, " "Open the Terminal and type: shutdown -a\nExecute" ) + time.sleep(170) else: print( datetime.now().strftime( diff --git a/download_Links.txt b/download_Links.txt deleted file mode 100644 index bf1f499..0000000 --- a/download_Links.txt +++ /dev/null @@ -1,8 +0,0 @@ -{ - "_comment": "If this File is Updated in Github you can update it without needing to download a new version of the App.", - "_comment2": "Just replace this file with the updated one in Github. File Location C_Users_USERNAME_AppData_Local_Stream_Downloader-Util_download_Links.txt", - "_Version": "1.0", - "FFMPEG_Link": "https://github.com/ffbinaries/ffbinaries-prebuilt/releases/download/v4.4.1/ffmpeg-4.4.1-win-64.zip", - "FFPROBE_Link": "https://github.com/ffbinaries/ffbinaries-prebuilt/releases/download/v4.4.1/ffprobe-4.4.1-win-64.zip", - "STREAMLINK_Link": "https://github.com/streamlink/windows-builds/releases/latest" -} \ No newline at end of file diff --git a/new_mass_gql/Readme.md b/helpers/Readme.md similarity index 100% rename from new_mass_gql/Readme.md rename to helpers/Readme.md diff --git a/auth_skip_ads_.py b/helpers/auth_skip_ads_.py similarity index 99% rename from auth_skip_ads_.py rename to helpers/auth_skip_ads_.py index 5030a51..408fd6d 100644 --- a/auth_skip_ads_.py +++ b/helpers/auth_skip_ads_.py @@ -6,7 +6,7 @@ from pyperclip import copy, paste -import funcs +import helpers.funcs as funcs def skip_ads(): diff --git a/new_mass_gql/check_new_streams.py b/helpers/check_new_streams.py similarity index 98% rename from new_mass_gql/check_new_streams.py rename to helpers/check_new_streams.py index d216496..e0dcd8b 100644 --- a/new_mass_gql/check_new_streams.py +++ b/helpers/check_new_streams.py @@ -4,9 +4,10 @@ import os import threading -import spinner as spn -from utility_dir import get_single_vod_ as gsv -from utility_dir import util_functions as util +from my_utils import get_single_vod_ as gsv +from my_utils import spinner as spn + +from helpers import util_functions as util from . import gql_main_call from . import swap_old_data as sod @@ -99,7 +100,7 @@ def add_new_entries_json( def print_new_vods_from_dictClass(vod_index, vods_dict): if vod_index != 0: - from new_mass_gql import tk_get_file_list + from helpers import tk_get_file_list tk_get_file_list.call_tk_data(vods_dict[:vod_index]) print(f'\n\n{(vod_index)}: New Vods\n') @@ -172,3 +173,4 @@ def start_new_vods(): # check_for_new_vods(f"jsons\\{streamer}.json", f'{streamer}', amount) # # 'https://www.twitch.tv/videos/1957663657', '22-10-2023 The Cumback Colony 500 BrutalCassandra mods RimWorld Kotton' # # print(f"jsons\\{input('Streamer Name:').lower()}.json") +# # print(f"jsons\\{input('Streamer Name:').lower()}.json") diff --git a/extraction_factory.py b/helpers/extraction_factory.py similarity index 100% rename from extraction_factory.py rename to helpers/extraction_factory.py diff --git a/funcs.py b/helpers/funcs.py similarity index 98% rename from funcs.py rename to helpers/funcs.py index 0dcc15d..cc78fb3 100644 --- a/funcs.py +++ b/helpers/funcs.py @@ -17,8 +17,7 @@ from send2trash import send2trash from tqdm import tqdm -from default_path_factory import DefaultPathFactory -from Main import main_script +from init_dir.default_path_factory import DefaultPathFactory from startup import main_start video_file_types = [".mp4", ".mov", ".mkv", ".ts"] @@ -138,14 +137,13 @@ def openFile(): file = os.path.normpath(filep) if not filep: # closes Program if No Save path is Entered check = multi_choice_dialog("Canceled Open File: Try again?", - ["yes", "no", "exit"]) + ["yes", "no"]) if check == "yes": os.system("cls" if os.name == "nt" else "clear") openFile() elif check == "no": os.system("cls" if os.name == "nt" else "clear") main_start() - sys.exit() return file @@ -278,10 +276,10 @@ def unzip_file_from_path( return True -def send_to_trash(filename): - send2trash(filename) - if not os.path.isfile(filename): - print(f"sent {filename} to recycler") +def send_to_trash(input_name): + send2trash(input_name) + if not os.path.isfile(input_name) or os.path.isdir(input_name): + print(f"sent {input_name} to recycler") winsound.PlaySound( sound="C:\\Windows\\Media\\Recycle.wav", flags=winsound.SND_FILENAME @@ -532,7 +530,7 @@ def ffmpegpath_download_an_unzip(): def ffmpeg_factory_init(callback_info: list[str]): '''callback_info is module then the parent function from calling - ["Main", "main_script"]''' + ["Main", "main_dld_start"]''' default_ffPath = ("C:\\Program Files\\Streamlink\\ffmpeg\\ffmpeg.exe") saveTo1 = "ffmpegpath" @@ -549,7 +547,7 @@ def ffmpeg_factory_init(callback_info: list[str]): def ffprobe_factory_init(callback_info: list[str]): '''callback_info is module then the parent function from calling - ["Main", "main_script"]''' + ["Main", "main_dld_start"]''' default_ffprobePath = ("C:\\ffmpeg\\ffprbe.exe") saveTo = "ffprobepath" @@ -566,7 +564,7 @@ def ffprobe_factory_init(callback_info: list[str]): def streamlink_factory_init(callback_info: list[str]): '''callback_info is module then the parent function from calling - ["Main", "main_script"]''' + ["Main", "main_dld_start"]''' default_slinkPath = ("C:\\Program Files\\Streamlink\\bin\\streamlink.exe") saveTo = "streamlinkPath" diff --git a/new_mass_gql/get_vods_sizes_m3u8.py b/helpers/get_vods_sizes_m3u8.py similarity index 100% rename from new_mass_gql/get_vods_sizes_m3u8.py rename to helpers/get_vods_sizes_m3u8.py diff --git a/new_mass_gql/gql_main_call.py b/helpers/gql_main_call.py similarity index 98% rename from new_mass_gql/gql_main_call.py rename to helpers/gql_main_call.py index 2baf0a3..15b94b6 100644 --- a/new_mass_gql/gql_main_call.py +++ b/helpers/gql_main_call.py @@ -6,13 +6,13 @@ import httpx from tqdm import tqdm -import spinner as spn -from utility_dir import util_functions as util +import my_utils.spinner as spn +from helpers import util_functions as util # import requests -start_time = timeit.default_timer() +# start_time = timeit.default_timer() gql_client: str = "kd1unb4b3q4t58fwlpcbzcbnm76a8fp" @@ -224,7 +224,7 @@ def First_making_cmds(streamer_user_name=None): # file_path = f"jsons/{streamer_user_name}.json" file_path = rf"{util.get_appdata_dir()}\jsons\{streamer_user_name}.json" - vods_dict = Vod.create_vods_from_edges(resp["data"]["user"]["videos"]["edges"], streamer_user_name) + vods_dict = Vod.create_vods_from_edges(resp["data"]["user"]["videos"]["edges"]) file_path_dir = os.path.dirname(file_path) if not os.path.exists(file_path_dir): diff --git a/helpers/help.py b/helpers/help.py index 1e1bc5b..632faa9 100644 --- a/helpers/help.py +++ b/helpers/help.py @@ -4,7 +4,7 @@ def main(): import startup os.system('cls') print("{:<35} {:<10}".format('\nStandard Download: ', 'Downloads the URL thats stored in your Clipboard')) - print("{:<35} {:<10}".format('\nRe-Mux:', 'Mux\'es (if not discontinuous/Chunked just copies) Combines Chunked Streams into a continuous File.')) + print("{:<35} {:<10}".format('\nRe-Mux:', 'Mux\'es (if not discontinuous/Chunked just copies) Combines Chunked Streams into a continuous File into a new sub folder & recycles old File.')) print("{:<35} {:<10}".format('\nExtract Audio/Video:', 'Extracts the Audio/Video Streams of a File into their own Files, Preserves Original File.')) print("{:<35} {:<10}".format('\nDownload W/ Shutdown:', 'Downloads Chosen source and Calls Shutdown Command after completion')) print("{:<35} {:<10}".format('', '(Default 3min after Completion OR can be set to Custom Time in the future with [Manual] option).')) diff --git a/new_mass_gql/swap_old_data.py b/helpers/swap_old_data.py similarity index 96% rename from new_mass_gql/swap_old_data.py rename to helpers/swap_old_data.py index f935402..0f05f74 100644 --- a/new_mass_gql/swap_old_data.py +++ b/helpers/swap_old_data.py @@ -2,7 +2,7 @@ import json -from utility_dir.util_functions import get_index_last_vod +from helpers.util_functions import get_index_last_vod def compare_dicts_excluding(dict1, dict2, exclude_keys): @@ -43,7 +43,7 @@ def get_conflicting_indexes(file_list1_data: list, list2_data, start_point_index """ if isinstance(list2_data, dict): # Normalize Data. - from new_mass_gql import gql_main_call as main_call + from helpers import gql_main_call as main_call list2_data = main_call.Vod.create_vods_from_edges(list2_data["data"]["user"]["videos"]["edges"]) strt = [] for index, (list1, list2) in enumerate(zip(file_list1_data, list2_data[start_point_index:])): diff --git a/new_mass_gql/tk_get_file_list.py b/helpers/tk_get_file_list.py similarity index 96% rename from new_mass_gql/tk_get_file_list.py rename to helpers/tk_get_file_list.py index bf4ef1b..ca4a98c 100644 --- a/new_mass_gql/tk_get_file_list.py +++ b/helpers/tk_get_file_list.py @@ -8,9 +8,9 @@ from datetime import datetime from tkinter import IntVar, Radiobutton, messagebox, ttk -import funcs -import spinner -from utility_dir import util_functions +import helpers.funcs as funcs +import my_utils.spinner as spinner +from helpers import util_functions # # from ..utility_dir import util_functions @@ -625,17 +625,21 @@ def call_tk_data(data): def call_as_solo(): - appdata_dir = rf"{util_functions.get_appdata_dir()}\jsons" - list_files = [] - for files in os.listdir(appdata_dir): - list_files.append(files) - chosen_dir = rf'{appdata_dir}\{funcs.multi_choice_dialog('Open:', list_files + ["**Cancel**"])}' - if chosen_dir.endswith('**Cancel**'): + try: + appdata_dir = rf"{util_functions.get_appdata_dir()}\jsons" + list_files = [] + for files in os.listdir(appdata_dir): + list_files.append(files) + chosen_dir = rf'{appdata_dir}\{funcs.multi_choice_dialog('Open:', list_files + ["**Cancel**"])}' + if chosen_dir.endswith('**Cancel**'): + from startup import main_start + main_start() + else: + return call_tk_file(chosen_dir) + except FileNotFoundError as e: + print(e, 'No folder Found, Try: Create New Vods File') from startup import main_start main_start() - else: - return call_tk_file(chosen_dir) - # file = "C:\\Users\\970EVO-Gamer\\AppData\\Local\\Stream-Downloader-Util\\jsons\\algobro.json" # with open(file, 'r') as f: diff --git a/utility_dir/util_functions.py b/helpers/util_functions.py similarity index 100% rename from utility_dir/util_functions.py rename to helpers/util_functions.py diff --git a/default_path_factory.py b/init_dir/default_path_factory.py similarity index 98% rename from default_path_factory.py rename to init_dir/default_path_factory.py index bde26da..27f3e7f 100644 --- a/default_path_factory.py +++ b/init_dir/default_path_factory.py @@ -2,7 +2,7 @@ import os import webbrowser -import funcs +import helpers.funcs as funcs # No Need to be a Class but practice. diff --git a/init_files.py b/init_dir/init_files.py similarity index 92% rename from init_files.py rename to init_dir/init_files.py index 3103add..17c6f85 100644 --- a/init_files.py +++ b/init_dir/init_files.py @@ -4,9 +4,9 @@ import shutil from datetime import datetime, timedelta -import funcs +from helpers import funcs as funcs -version_number = 3.2 +version_number = 4.0 def logger_setup(): @@ -85,12 +85,14 @@ def version_check(): try: if funcs.loadSettings(["SDLI_Version"]) != [version_number]: + for files in os.listdir(settings_dir): + if not os.path.isdir(files): + funcs.send_to_trash((f'{settings_dir}\\{files}')) + # shutil.rmtree(files) print('Settings Files Deleted, Outdated Version') - shutil.rmtree(settings_dir) - # funcs.send_to_trash(settings_dir) from startup import main_start main_start() except PermissionError as f: - # print("Permission error") + print(f) from startup import main_start main_start() diff --git a/new_mass_gql/__init__.py b/my_utils/__init__.py similarity index 100% rename from new_mass_gql/__init__.py rename to my_utils/__init__.py diff --git a/ffmpegExtract.py b/my_utils/ffmpegExtract.py similarity index 96% rename from ffmpegExtract.py rename to my_utils/ffmpegExtract.py index 7c9c5da..9d5a0c2 100644 --- a/ffmpegExtract.py +++ b/my_utils/ffmpegExtract.py @@ -3,9 +3,9 @@ from numpy import append -import funcs -import init_files -from extraction_factory import VideoBlueprint +import helpers.funcs as funcs +from helpers.extraction_factory import VideoBlueprint +from init_dir import init_files def ffmpegextract(): diff --git a/utility_dir/get_single_vod_.py b/my_utils/get_single_vod_.py similarity index 97% rename from utility_dir/get_single_vod_.py rename to my_utils/get_single_vod_.py index e27a425..ffe08c5 100644 --- a/utility_dir/get_single_vod_.py +++ b/my_utils/get_single_vod_.py @@ -4,10 +4,9 @@ import os import pprint +from helpers import util_functions as util # import util_functions as util # Only to test code inside this module -from new_mass_gql.tk_get_file_list import call_tk_file - -from . import util_functions as util +from helpers.tk_get_file_list import call_tk_file def get_file_list_from_dir(vods_dir) -> list: diff --git a/mux_vid.py b/my_utils/mux_vid.py similarity index 96% rename from mux_vid.py rename to my_utils/mux_vid.py index f61a9de..58fee0e 100644 --- a/mux_vid.py +++ b/my_utils/mux_vid.py @@ -5,8 +5,8 @@ from pyperclip import copy, paste from send2trash import send2trash -import funcs -import init_files +import helpers.funcs as funcs +from init_dir import init_files # TODO webm? @@ -93,4 +93,4 @@ def mux(file_path_inpt=paste(), ran_as_main: bool = False): if __name__ == '__main__': - mux() + mux(file_path_inpt=paste(), ran_as_main=True) diff --git a/spinner.py b/my_utils/spinner.py similarity index 100% rename from spinner.py rename to my_utils/spinner.py diff --git a/utils/video_data_cross_checker.py b/my_utils/video_data_cross_checker.py similarity index 98% rename from utils/video_data_cross_checker.py rename to my_utils/video_data_cross_checker.py index c479204..8f4b698 100644 --- a/utils/video_data_cross_checker.py +++ b/my_utils/video_data_cross_checker.py @@ -7,10 +7,10 @@ from queue import Queue from tkinter import filedialog -import funcs -import init_files -import spinner -from utility_dir.util_functions import get_appdata_dir +import helpers.funcs as funcs +import init_dir.init_files as init_files +import my_utils.spinner as spinner +from helpers.util_functions import get_appdata_dir # to make the file work as a stand alone # sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) @@ -291,3 +291,5 @@ def main(): if __name__ == '__main__': main() + main() + main() diff --git a/startup.py b/startup.py index da85591..3b1779d 100644 --- a/startup.py +++ b/startup.py @@ -1,24 +1,24 @@ import os import threading -import auth_skip_ads_ -import funcs -import init_files -from ffmpegExtract import ffmpegextract +import init_dir.init_files as init_files +from helpers import auth_skip_ads_, check_new_streams +from helpers import funcs as funcs +from helpers import gql_main_call from helpers import help as hlp -from new_mass_gql import check_new_streams, gql_main_call, tk_get_file_list -from utility_dir import get_single_vod_ -from utils import video_data_cross_checker +from helpers import tk_get_file_list +from my_utils import get_single_vod_, video_data_cross_checker +from my_utils.ffmpegExtract import ffmpegextract def main_start(impt_data=None): def download(): - from Main import main_script + from Main import main_dld_start - main_script() + main_dld_start() def remux(): - from mux_vid import mux + from my_utils.mux_vid import mux mux(ran_as_main=True) @@ -26,9 +26,9 @@ def extract(): ffmpegextract() def download_shutdown(): - from Main import main_script + from Main import main_dld_start - main_script(True) + main_dld_start(True) def exit_program(): exit() @@ -45,7 +45,7 @@ def retrieve_saved_vod(): aad = get_single_vod_.Run_get_vod("") aad = get_single_vod_.Run_get_vod("") # print(aad) - from Main import main_script + from Main import main_dld_start # from new_mass_gql import tk_get_file_list # print(aad[0]) @@ -56,12 +56,12 @@ def retrieve_saved_vod(): ) == "Normal" ): - main_script(fromfile=aad) + main_dld_start(fromfile=aad) elif shutdown == "**Cancel**": os.system("cls") main_start() else: - main_script(download_with_Shutdown=True, fromfile=aad) + main_dld_start(download_with_Shutdown=True, fromfile=aad) def list_view(): tk_get_file_list.call_as_solo() diff --git a/utility_dir/__init__.py b/utility_dir/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/utils/__init__.py b/utils/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/versionfile.txt b/versionfile.txt index 0cfef12..4dd8fd9 100644 --- a/versionfile.txt +++ b/versionfile.txt @@ -1,7 +1,7 @@ VSVersionInfo( ffi=FixedFileInfo( - filevers=(3, 2, 2, 0), - prodvers=(3, 2, 2, 0), + filevers=(4, 0, 0, 0), + prodvers=(4, 0, 0, 0), mask=0x3f, flags=0x0, OS=0x4, @@ -16,11 +16,11 @@ VSVersionInfo( '040904B0', [StringStruct('CompanyName', 'NSMY'), StringStruct('FileDescription', 'Stream Downloader Util'), - StringStruct('FileVersion', '3.2.2.0'), + StringStruct('FileVersion', '4.0.0.0'), StringStruct('InternalName', 'Stream Downloader Util'), StringStruct('OriginalFilename', 'StreamDownloaderUtil.exe'), StringStruct('ProductName', 'Stream Downloader Util'), - StringStruct('ProductVersion', '3.2.2.0')]) + StringStruct('ProductVersion', '4.0.0.0')]) ]), VarFileInfo([VarStruct('Translation', [3081, 1200])]) ] diff --git a/zextra_Funcs_/Testcode.py b/zextra_Funcs_/Testcode.py index 592112b..6095162 100644 --- a/zextra_Funcs_/Testcode.py +++ b/zextra_Funcs_/Testcode.py @@ -1,184 +1,24 @@ - -# import json -import json import os -# # dload_predicted_size = '' -# # dld_filepath = r'E:\DeleteStreams\FFMPEG__re-Muxed\Kotton - 18-11-2023 Selling Base Today Archonexus pt 2 500 BrutalCassandra mods RimWorld.mp4' -# # slinkDir = 'C:/ffmpeg/' -# # string = f'ffprobe -i "{dld_filepath}" -v quiet -show_entries format=duration -of default=noprint_wrappers=1:nokey=1' -# # dld_vid_size = subprocess.Popen(string, stdout=subprocess.PIPE, text=True, cwd=slinkDir) -# # out_pt = dld_vid_size.stdout.read() -# # # print(str(out_pt.strip()).split("'")[1]) -# # print(int(float(out_pt))) -# # print(utill.decode_seconds_to_hms(int(float(out_pt)))) -import re -import sys -from pathlib import Path -from re import L -from urllib.parse import urlparse, urlsplit, urlunparse - -import m3u8 - -sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) - - -# # [] also might need to do the pipout stdOut and look for stream ended / error etc -# # however it may block streamlink y/n questions??. -import subprocess - -from new_mass_gql.get_vods_sizes_m3u8 import m3u8_call_init -from utility_dir import util_functions as utill - -# from new_mass_gql.utility_dir import util_functions as utill - -# url = 'https://www.twitch.tv/videos/1972875530' -url = 'https://www.twitch.tv/videos/1982124389?t=01h14m26s' -# url = 'https://www.twitch.tv/videos/1981192341?filter=archives&sort=time' -# # url = 'https://www.twitch.tv/etalyx' -# # url = 'https://usher.ttvnw.net/vod/1982669879.m3u8?acmb=e30%3D&allow_source=true&browser_family=firefox&browser_version=119.0&cdm=wv&os_name=Windows&os_version=NT%2010.0&p=602199&platform=web&play_session_id=4829124e3474f79b5cb7c29f5c7e7e65&player_backend=mediaplayer&player_version=1.23.0&playlist_include_framerate=true&reassignments_supported=true&sig=3432efaaeef66d80b6920db6f0718e9ab21fd391&supported_codecs=h264&token=%7B%22authorization%22%3A%7B%22forbidden%22%3Afalse%2C%22reason%22%3A%22%22%7D%2C%22chansub%22%3A%7B%22restricted_bitrates%22%3A%5B%5D%7D%2C%22device_id%22%3A%22L8lFfAYG1PKKuwUFH5gJJhtC4mSOAefS%22%2C%22expires%22%3A1700633570%2C%22https_required%22%3Atrue%2C%22privileged%22%3Afalse%2C%22user_id%22%3A194301647%2C%22version%22%3A2%2C%22vod_id%22%3A1982669879%7D&transcode_mode=cbr_v1' -# url = 'https://www.youtube.com/watch?v=NE4Exqt_0z8' -# # url = 'https://d2nvs31859zcd8.cloudfront.net/0a8060ce24c8559879af_trash_dev_43092903451_1700500921/chunked/index-dvr.m3u8' - -# print(urlparsed) -print(urlsplit(url).path.rsplit('/', 1)[1]) -uris = m3u8_call_init(urlsplit(url).path.rsplit('/', 1)[1], 41478) -print(uris) - -# print(urlparse(url)) -# print(urlsplit(url).path.rsplit("/", 1)[1]) -# url_ = parse_url_twitch(url) -# playlist = m3u8.load(url) -# get_variant_url = str(playlist.playlists[0]) -# print("🐍 File: zextra_Funcs_/Testcode.py | Line: 26 | undefined ~ get_variant_url",get_variant_url) -# print("🐍 File: Stream-Downloader-Util/Testcode.py | Line: 23 | undefined ~ url_",url_) - -# print(urlparsed.path.split('/')) -# recombined = urlunparse(urlparsed) -# print(recombined) - -# print(playlist) -# for i in playlist: - -# print(i) -# print(urlsplit(url).query) -# list(m3u8_data.values())[0][0] - - - -# import subprocess - -# # # [] pass the index form vod find?? how to find if only passed vod id -not from file? -# # # pass the file res dld'd to the 'download' key, and compare retrieve chosen size -# # # with actual file size after dld with ffprobe -# # jjk -# # print("🐍 File: Stream-Downloader-Util/Testcode.py | Line: 37 | undefined ~ jjk",jjk) -# # from new_mass_gql.utility_dir import util_functions -# # from new_mass_gql.utility_dir import util_functions as utill - -# # matchid = '1929999644' -# # target_id = '1874626710' - -# # with open('C:/Users/970EVO-Gamer/AppData/Local/Stream-Downloader-Util/jsons/etalyx.json', 'r') as f: -# # lkl = json.load(f) -# # jjk = [(indx, items.get('id')) for indx, items in enumerate(lkl)] - - - -# # dirr = r'C:/Users/970EVO-Gamer/AppData/Local/Stream-Downloader-Util/jsons/' - -# dld_filepath = r'C:\Users\970EVO-Gamer\Desktop\Deadlyslob - 20-11-2023 Richard Heads Sturgian Conquest Day 4 Join just once Glasses Mount Blade II Bannerlord.mp4' -# size = os.path.getsize(dld_filepath) -# def convert_bytes(num): -# """ -# this function will convert bytes to MB.... GB... etc -# """ -# for unit in ['bytes', 'KB', 'MB', 'GB', 'TB']: -# if num < 1024.0: -# return num -# num /= 1024.0 -# return num - - - -# def compare_sizes(size1, size2, tolerance): -# """ -# This function compares two file sizes with a certain tolerance. -# """ -# return abs(size1 - size2) <= tolerance - -# # xfile = 34.6 # size of the first file in GB -# xfile = int(convert_bytes(size)) -# zfile = 11.03 # size of the second file in GB - -# print(xfile /20) -# print(compare_sizes(xfile, zfile, xfile/20 )) - - -# # file = r'E:\DeleteStreams\Kotton - 12-11-2023.mp4' -# file = r'E:\DeleteStreams\Kotton - 12-11-2023 Big Rim Plays Archonexus pt 2 500 BrutalCassandra mods_RimWorld.mp4' -# # file = r'E:\DeleteStreams\FFMPEG__re-Muxed\!Stream Mass storgae\Kotton - 2023-11-04 Nexus Pt2 New Base 500 BrutalCassandra mods_RimWorld.mp4' -# url = 'https://www.twitch.tv/videos/1982124389?t=03h42m00s' -# with open('c:/Users/970EVO-Gamer/AppData/Local/Stream-Downloader-Util/jsons/deadlyslob.json', 'r') as f: -# data = json.load(f)[0] -# # print(data) - -# # gets true Length if downloaded with a time offset -# # and cross checks if the vod and file(length) == the same with offest. -# stdout = None -# try: -# # FIX will need to include ffprobe in main settings checks to use this. -# get_len_of_vod_file = subprocess.Popen( -# f'ffprobe -v error -select_streams v:0 -show_entries stream=avg_frame_rate -of default=noprint_wrappers=1:nokey=1 "{file}"', -# shell=False, -# stdout=subprocess.PIPE, -# stderr=subprocess.PIPE, -# universal_newlines=True, -# text=True, -# cwd='c:/ffmpeg/' # FIX replace me. -# ) -# stdout, stderr = get_len_of_vod_file.communicate() -# # get_len_of_vod_file.wait() -# # len_of_vod = int(stdout.split('.')[0]) -# # stdout = stdout.split('\n')[0] -# if isinstance(stdout, str): -# numerator, denominator = map(int, stdout.split('/')) -# result = numerator / denominator -# print(str(round(result))) -# # print(stdout.split('\n')[0]) -# # print(type(stdout)) -# # print(stdout) -# except ValueError as e : -# stdout = stdout.split('/')[0] -# print(stdout) -# print(e) -# pass -# # print(f'{stdout.split('/')[0]}') - +import winsound +from send2trash import send2trash -# if (ulr_query := urlparse(url).query).startswith('t='): -# url_split = re.split('[=hms]', ulr_query) -# secs_to_subt_from_file = utill.encode_hms_to_seconds(':'.join(url_split[1:-1])) -# # if len_of_vod - secs_to_subt_from_file == 0: -# if len_of_vod - data.get('lengthSeconds') == 0: -# print('wePassed') -# # Code Here. -# # set downloaded status. -# # pass -# elif len_of_vod - data.get('lengthSeconds') == 0: -# print('wePassed') - # Code Here. - # set downloaded status. - +dir = r'C:\Users\970EVO-Gamer\AppData\Local\Stream-Downloader-Util' +for files in os.listdir(dir): + if not os.path.isdir(files): + print(f'{dir}/{files}') -# print(utill.decode_seconds_to_hms(4466)) +# def send_to_trash(input_name): +# send2trash(input_name) +# if not os.path.isfile(input_name) or os.path.isdir(input_name): +# print(f"sent {input_name} to recycler") +# winsound.PlaySound( +# sound="C:\\Windows\\Media\\Recycle.wav", +# flags=winsound.SND_FILENAME +# ) +# return True +# return False -# # finds string in Dir. -# targ_str = 'thePrimeagen $60 Million Loss From ONE Line Of Code' -# targdir = r'E:\DeleteStreams\FFMPEG__re-Muxed' -# for f in os.listdir(targdir): -# if targ_str in f: - -# print(f) +# send_to_trash(r"C:\Users\970EVO-Gamer\Desktop\whaaa") diff --git a/zextra_Funcs_/just a test.py b/zextra_Funcs_/just a test.py index 5e2e642..e69de29 100644 --- a/zextra_Funcs_/just a test.py +++ b/zextra_Funcs_/just a test.py @@ -1,15 +0,0 @@ -# import os - -# dir = r'F:/Music/Musizz/My Shared Folder/' - - -# for files in os.listdir(dir): -# print(files) - -def compare_with_tolerance(size1, size2, tolerance=10): - """ - This function compares two file sizes with a certain tolerance. - """ - return abs(size1 - size2) <= tolerance - -print(compare_with_tolerance(152, 159, 15)) \ No newline at end of file diff --git a/zextra_Funcs_/tessettt.py b/zextra_Funcs_/tessettt.py index f01fb5e..e5d5c3a 100644 --- a/zextra_Funcs_/tessettt.py +++ b/zextra_Funcs_/tessettt.py @@ -1,150 +1,147 @@ -import ctypes -import json -import os -import pprint -import re -import subprocess -import sys -import timeit -import tkinter as tk -from pathlib import Path -from re import L, split -from subprocess import PIPE, Popen -from turtle import title -from urllib.parse import urlparse - -from numpy import append, size - -# def create_popup(content): -# popup = tk.Tk() -# popup.title("Popup Window") -# listbox = tk.Listbox(popup) -# for key, value in content.items(): -# listbox.insert(tk.END, f"{key}: {value}") -# listbox.pack() -# button = tk.Button(popup, text="Close", command=popup.destroy) -# button.pack() -# # Update the window to calculate the size of the content -# popup.update_idletasks() -# # Get the width and height of the content -# width = popup.winfo_width() -# height = popup.winfo_height() -# # Add some padding -# width += 80 -# height += 80 -# # Set the window size -# popup.geometry(f"{width}x{height}") -# popup.mainloop() - -# ffmpeg -i "C:\Users\970EVO-Gamer\Desktop\Jason Parris X My Buddy Mike ft. Neon Hitch - No Warning.mp3" -c copy "C:\Users\970EVO-Gamer\Desktop\Jason Parris X My Buddy Mike ft. Neon Hitch - No Warning.wav" - -# # for loop to get all sizes of vids in dir. -# choseendir = 'E:/DeleteStreams/FFMPEG__re-Muxed/' -# for files in os.listdir(choseendir): -# # print(files) -# fp = os.path.join(choseendir, files) -# # print("🐍 File: new_mass_gql/tessettt.py | Line: 368 | undefined ~ fp",fp) - -# dldVid_sizs = subprocess.Popen( -# rf'ffprobe -i "{fp}" -v quiet -show_entries format=duration -of default=noprint_wrappers=1:nokey=1', -# shell=False, -# stdout=subprocess.PIPE, -# stderr=subprocess.PIPE, -# universal_newlines=True, -# cwd='c:/ffmpeg/' -# ) -# stdout, stderr = dldVid_sizs.communicate() -# out_pt, _ = dldVid_sizs.communicate() -# dldVid_sizs.wait() -# files = files.split('-') -# print(f'{out_pt.split('.')[0]} {files}') - -# result = re.sub(r"[^\w\s]", "", out_pt).split()[10:] -def get_reso_(): - loops = 0 - while loops < 5: - loops += 1 - try: - cmdd = r"C:/Program Files/Streamlink/ffmpeg/" - process = subprocess.Popen(r'streamlink "https://www.twitch.tv/videos/2002087915"', stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, cwd=cmdd) - # process = subprocess.Popen(r'streamlink "https://www.twitch.tv/videos/1957556164"', stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, cwd=cmdd) - # process = subprocess.Popen(r'streamlink "https://www.youtube.com/watch?v=6PuXPxhf-Js"', stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, cwd=cmdd) - # process = subprocess.Popen(r'streamlink "https://youtu.be/cvq7Jy-TFAU?list=PLbAqlIAMdRgtQkPnpqCoqZv1hi9xWnsgZ"', stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, cwd=cmdd) - # stdout, stderr = process.communicate() - - - - - - # try: - # line = '' - # while True: - # char = process.stdout.read(1) - # if char in ['\n', '\r']: - # print(line) - # if 'error' in line: - # print('Mine', line) - # line = '' - # else: - # line += char - # if '[cli][info] Stream ended' in line: - # print("Stream has Ended") - # if process.poll() is not None: - # break - # gg,gf = process.communicate() - # print(process,gg,gf) - # process.wait() - # except Exception as e: - # err = str(e) - # raise PluginError(err) from None - # stderr = '' - # try: - process.wait() - for line in iter(process.stdout.readline, ''): - print(line.rstrip()) - if 'error: No play' in line.rstrip(): - print('Error downloading file', line) - raise ValueError - elif 'error: This plugin' in line.rstrip(): - print('DMCA', line) - raise SyntaxError - # main_script() - elif "Available streams:" in line: - result = re.sub(r"[^\w\s]", "", line).split()[2:] - print("🐍 File: zextra_Funcs_/tessettt.py | Line: 90 | undefined ~ result",result) - return result - # return queue.put(results) - # elif '[download]' in line.rstrip(): - # print('Downloading file') - process.communicate() - print("\nLikely Sub Only Vods Enabled") - # print(process.stderr.read()) - raise OSError - except SyntaxError: - # print('OSError') - return - except OSError: - print("put sub only code rhere") - except ValueError: - pass - # print("ValueError") - # except TypeError: - # print('Error downloading') -get_reso_() - -''' -# dd ='[cli][info] Closing currently open stream...' -# if "Closing " in dd: -# print('True') -# if "Closing " not in dd: -# print('False') -# url = 'https://www.twitch.tv/videos/1981192341?filter=archives&sort=time' - -# if (url := urlparse(url).path.rsplit('/')[-1]).isnumeric(): -# # (url := url.split('/', -1)) -# print(url) - -''' +# import os + +# dir = r'F:/Music/Musizz/My Shared Folder/' + + +# for files in os.listdir(dir): +# print(files) + +from urllib.parse import urlencode + +import requests + +gql_client: str = "kd1unb4b3q4t58fwlpcbzcbnm76a8fp" +GQL_URL = "https://gql.twitch.tv/gql" +GQL_HEADERS = {"Client-ID": ""} + +class GQLException(Exception): + pass + + +class GQLItemError(Exception): + pass + + +# We use Twitch's private client ID for GQL calls +def set_client_id(client_id: str): + global GQL_HEADERS + GQL_HEADERS["Client-ID"] = client_id + + +def _process_query_errors(resp): + j = resp.json() + if 400 <= resp.status_code < 500 or "errors" in j: + raise GQLException(j) + + +def gql_post(json=None, data=None): + global GQL_URL, GQL_HEADERS + print(f'{GQL_URL, json, data, GQL_HEADERS =}') + resp = requests.post(GQL_URL, json=json, data=data, headers=GQL_HEADERS) + _process_query_errors(resp) + return resp + + +def gql_query(query=None, data=None): + return gql_post(json={"query":query}, data=data) + + +# GQL Query forms +# Channel VODs query +GET_CHANNEL_VIDEOS_QUERY = """ +{{ user(login: "{channel_id}") {{ + videos( first: {first}, sort: {sort}, after: {after} ) {{ + totalCount + edges {{ cursor + node {{ + id title publishedAt broadcastType status lengthSeconds + game {{ id name }} + creator {{ id login displayName }} +}} }} }} }} }} +""" +# Channel Clips query +# period can be LAST_DAY, LAST_WEEK, LAST_MONTH, or ALL_TIME +GET_CHANNEL_CLIPS_QUERY = """ +{{ user(login: "{channel_id}") {{ + clips( + first: {first}, after: {after}, + criteria: {{ period: ALL_TIME, sort: VIEWS_DESC }} + ) {{ + pageInfo {{ hasNextPage }} + edges {{ cursor node {{ + id slug title createdAt viewCount + durationSeconds videoOffsetSeconds + video {{ id }} + game {{ id name }} + broadcaster {{ id displayName login }} + curator {{ id displayName login }} +}} }} }} }} }} +""" +# Single VOD query +GET_VIDEO_QUERY = """ +{{ video(id: "{video_id}") {{ + id title publishedAt + broadcastType lengthSeconds + game {{ id name }} creator {{ id login displayName }} +}} }} +""" +# Single Clip query +GET_CLIP_QUERY = """ +{{ clip(slug: "{clip_slug}") {{ + id slug title createdAt viewCount durationSeconds videoOffsetSeconds + game {{ id name }} video {{ id }} + videoQualities {{ frameRate quality sourceURL }} + broadcaster {{ id displayName login }} + curator {{ id displayName login }} +}} }} +""" +# Single Channel info query +GET_CHANNEL_QUERY = """ +{{ user(login: "{channel_id}") {{ + id login displayName + description createdAt + roles {{ isAffiliate isPartner }} + stream {{ + id title type viewersCount createdAt game {{ id name }} +}} }} }} +""" +# IRC Chat query +GET_VIDEO_COMMENTS_QUERY = """ +{{ video(id: "{video_id}") {{ + comments(contentOffsetSeconds: 0, after: {after}) {{ + edges {{ cursor node {{ + contentOffsetSeconds + commenter {{ displayName }} + message {{ userColor fragments {{ mention {{ displayName }} text }} }} +}} }} }} }} }} +""" +# VOD chapters query +GET_VIDEO_CHAPTERS = """{{ +video(id: {id}) {{ + moments(first:100, momentRequestType: VIDEO_CHAPTER_MARKERS, after: {after}) {{ + edges {{ cursor node {{ + description type positionMilliseconds durationMilliseconds +}} }} }} }} }} +""" + + +VIDEO_ACCESS_QUERY = """ +{{ videoPlaybackAccessToken( + id: {video_id}, + params: {{ platform:"web", playerBackend:"mediaplayer", playerType:"site" }} + ) {{ signature value }} +}} +""" + +messages = [] +pagination = "null" + +query = GET_VIDEO_COMMENTS_QUERY.format( + video_id="2010087465", first=100, after=pagination +) +print("🐍 File: zextra_Funcs_/just a test.py | Line: 139 | undefined ~ query",query) +resp = gql_query(query=query).json() +print("🐍 File: zextra_Funcs_/just a test.py | Line: 126 | undefined ~ resp",resp) \ No newline at end of file From 80462ed5b3839cc5063d485ed6597a23929d342c Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Sat, 23 Dec 2023 09:54:33 +1000 Subject: [PATCH 35/77] minor edits --- # TODO.md | 10 ++++------ helpers/tk_get_file_list.py | 2 -- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/# TODO.md b/# TODO.md index f3d1346..8e24ddf 100644 --- a/# TODO.md +++ b/# TODO.md @@ -43,21 +43,19 @@ prints 0 new vods anyway?. [x] [Working](zextra_Funcs_/check_old_files_downloaded.py#L136): make it so u can check if downloaded incase a new json file is made/ overwritten -[] re Cat all files to utils for onefile scrips and helpers for funcs etc +[x] re Cat all files to utils for onefile scrips and helpers for funcs etc [TODO] make chapters in vods? using code > [Code](zextra_Funcs_/getChaptersCall.py) < will require a large rewrite, games will be in a list object and everywhere called will have to unpack, then also do u give option to set where to DL from?? +[] make the setup init settings better, maybe into 1 call like if key in settings then call the whole settings thins +more robust dependency searching and downloading (if deleted between settinggs Checks) - - -[] maybe rework tkinter to be packs instead of grids somehow as is laggy +THINK maybe rework tkinter to be packs instead of grids somehow as is laggy THINK in the check new stream -- what to do for deleted /hidden vods on channels? -[] make the setup init settings better, maybe into 1 call like if key in settings then call the whole settings thins -more robust dependency searching and downloading (if deleted between settinggs Checks) [TODO] make a combine segments (vids) ffmpeg via lists meth THINK make check file be able to execute as standalone?? (need to make file dest dynamic apon single call) diff --git a/helpers/tk_get_file_list.py b/helpers/tk_get_file_list.py index ca4a98c..f851525 100644 --- a/helpers/tk_get_file_list.py +++ b/helpers/tk_get_file_list.py @@ -593,8 +593,6 @@ def process_data(input_data, windName, file_path, **kwargs) -> tuple: return try: listIndexs = [(index[0], input_data[index[0]]) for index in selected_items] - print("🐍 File: new_mass_gql/tk_get_file_list.py | Line: 593 | process_data ~ listIndexs",listIndexs) - print("🐍 File: new_mass_gql/tk_get_file_list.py | Line: 593 | process_data ~ listIndexs",listIndexs[0]) spinner1.stop() # return listIndexs[0] if listIndexs else None return listIndexs[-1] From 9335093f5f1904a8f4a1c7e1cd0d4123bb4e4427 Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Sat, 23 Dec 2023 14:04:58 +1000 Subject: [PATCH 36/77] Logic Bug, fixed --- Main.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Main.py b/Main.py index 6daa5f0..9544922 100644 --- a/Main.py +++ b/Main.py @@ -311,9 +311,9 @@ def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): m3u8.join() m3u8_data = q2.get() spinner1.stop() - + # [] make this happen before choosing???? show GBs to inform decision????. try: - if chosen_resolution == "best" or "source": + if chosen_resolution == "best" or chosen_resolution == "source": gb_of_vod = list(m3u8_data.values())[0][0] elif chosen_resolution == "worst": gb_of_vod = list(m3u8_data.values())[-1][0] From b86f8de0fd4021e0bef757956a24a07b4dde6656 Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Tue, 26 Dec 2023 10:39:42 +1000 Subject: [PATCH 37/77] . --- init_dir/__init__.py | 0 zextra_Funcs_/__init__.py | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 init_dir/__init__.py create mode 100644 zextra_Funcs_/__init__.py diff --git a/init_dir/__init__.py b/init_dir/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/zextra_Funcs_/__init__.py b/zextra_Funcs_/__init__.py new file mode 100644 index 0000000..e69de29 From 5f759e6850a189274ab65a4feeaa964c6e8d950d Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Tue, 26 Dec 2023 10:40:07 +1000 Subject: [PATCH 38/77] return over jsut call --- my_utils/mux_vid.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/my_utils/mux_vid.py b/my_utils/mux_vid.py index 58fee0e..9dc4ebf 100644 --- a/my_utils/mux_vid.py +++ b/my_utils/mux_vid.py @@ -5,7 +5,7 @@ from pyperclip import copy, paste from send2trash import send2trash -import helpers.funcs as funcs +from helpers import funcs as funcs from init_dir import init_files # TODO webm? @@ -16,14 +16,14 @@ def mux(file_path_inpt=paste(), ran_as_main: bool = False): check_settings = funcs.loadSettings(['LastSave', 'ffmpegpath']) except FileNotFoundError as e: init_files.initSettings() - mux() + return mux(file_path_inpt, ran_as_main) fresh_save = [funcs.is_less_than_30days(check_settings[0])] fresh_save.extend(check_settings[1:2]) if not all(fresh_save): funcs.ffmpeg_factory_init(["mux_vid", "mux"]) os.system("cls") - mux() + return mux(file_path_inpt, ran_as_main) ffpg = os.path.dirname(check_settings[1]) file_path = funcs.file_path_get(file_path_inpt) From d1bb61e18fe96185074540bc00d726d15cc38902 Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Tue, 26 Dec 2023 10:40:25 +1000 Subject: [PATCH 39/77] print whats doing --- helpers/funcs.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/helpers/funcs.py b/helpers/funcs.py index cc78fb3..3596690 100644 --- a/helpers/funcs.py +++ b/helpers/funcs.py @@ -468,6 +468,7 @@ def ffprobepath_download_an_unzip(): dloadFilePath = os.path.join(os.path.expanduser("~\\Desktop"), f"{last_segment}") + print('Attempting to download FFPROBE') if messagebox.askokcancel('Warning', 'Continue to download\nfrom Official Sources?', icon="warning"): dlmssg = ( "\n---------------Downloading ffprobe from OFFICIAL FFMPEG " @@ -502,6 +503,7 @@ def ffmpegpath_download_an_unzip(): os.path.expanduser("~\\Desktop"), f"{last_segment}" ) + print('Attempting to download FFMPEG') if messagebox.askokcancel( 'Warning', 'Continue to download\nfrom Official Sources?', icon="warning" ): From d864dd1613b4143c0d67e4436f10ab13adb8cb4d Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Tue, 26 Dec 2023 10:40:42 +1000 Subject: [PATCH 40/77] return --- Main.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Main.py b/Main.py index 9544922..65421b9 100644 --- a/Main.py +++ b/Main.py @@ -14,9 +14,8 @@ from pyperclip import copy, paste -from helpers import auth_skip_ads_, funcs +from helpers import auth_skip_ads_, funcs, util_functions from helpers import get_vods_sizes_m3u8 as m3 -from helpers import util_functions from init_dir import init_files from my_utils import mux_vid as cpvs from my_utils import spinner as spn @@ -35,8 +34,8 @@ def main_dld_start(download_with_Shutdown=None, fromfile=None): except FileNotFoundError as e: print(e) init_files.initSettings() - os.system("cls") - main_dld_start() + # os.system("cls") + return main_dld_start(download_with_Shutdown, fromfile) is_a_fresh_save = [funcs.is_less_than_30days(check_settings[0])] # type: ignore possible unbound @@ -360,7 +359,7 @@ def compare_with_tolerance(size1, size2, tolerance=10) -> bool: """ return abs(size1 - size2) <= tolerance - + # BUG something is crashing once fin dld??? # FIX errors is Canceled find way to not enter if Canceled if is_url_path_twitch_vod and os.path.isfile(download_file_path): get_len_of_vod_file = subprocess.Popen( From cb088eeb4eb7b92d2d9d756f30c2be351d74d943 Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Thu, 28 Dec 2023 16:27:27 +1000 Subject: [PATCH 41/77] temp block Media --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index d545731..1af45fc 100644 --- a/.gitignore +++ b/.gitignore @@ -10,4 +10,5 @@ utility_dir\__pycache__ \jsons new_mass_gql/jsons - Shortcut.lnk new_mass_gql/jsons_symlink -debugging \ No newline at end of file +debugging +media \ No newline at end of file From eb1e2c52bc9ed6588742a505e342cb57b71f535c Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Sun, 31 Dec 2023 08:57:54 +1000 Subject: [PATCH 42/77] working --- Main.py | 25 ++++++----- helpers/check_new_streams.py | 5 +-- helpers/funcs.py | 13 ++++-- helpers/get_vods_sizes_m3u8.py | 21 ++++------ helpers/gql_main_call.py | 1 - helpers/tk_get_file_list.py | 71 +++++++++++++++++--------------- helpers/util_functions.py | 2 - init_dir/default_path_factory.py | 49 +++++++++++----------- init_dir/init_files.py | 26 ++++++------ my_utils/get_single_vod_.py | 23 ++++------- startup.py | 25 +++++------ zextra_Funcs_/Testcode.py | 24 ----------- 12 files changed, 122 insertions(+), 163 deletions(-) diff --git a/Main.py b/Main.py index 65421b9..91725c2 100644 --- a/Main.py +++ b/Main.py @@ -29,7 +29,7 @@ def main_dld_start(download_with_Shutdown=None, fromfile=None): # Checking Settings.json is available and recently checked. try: check_settings = funcs.loadSettings( - keys=["LastSave", "streamlinkPath", "ffprobepath"] # BUG thia dont get but it did ffprobe frozen npath?? + keys=["LastSave", "streamlinkPath", "ffprobepath"] ) except FileNotFoundError as e: print(e) @@ -45,7 +45,7 @@ def main_dld_start(download_with_Shutdown=None, fromfile=None): funcs.streamlink_factory_init(["Main", "main_dld_start"]) funcs.ffprobe_factory_init(["Main", "main_dld_start"]) os.system("cls") - main_dld_start() + return main_dld_start(download_with_Shutdown, fromfile) slinkDir = os.path.dirname(check_settings[1]) # type: ignore possible unbound ffprobe_dir = os.path.dirname(check_settings[2]) # type: ignore possible unbound @@ -148,15 +148,14 @@ def get_urlm3u8_filesize(url_, queue, minus_time): timecodej = "-".join(timecode) timecodei = util_functions.encode_hms_to_seconds(timecodej, split_on="-") remaining_time = calc_remaining_time(timecodei, fromfile[2]["lengthSeconds"]) - else: - if url_bits[1].query.startswith("t="): - minus_time = convert_url_query_timecode(urlsplit(url_).query) + elif url_bits[1].query.startswith("t="): + minus_time = convert_url_query_timecode(urlsplit(url_).query) + elif fromfile: + remaining_time = fromfile[2]["lengthSeconds"] is_url_path_twitch_vod = url_bits[1].path.split("/", -1)[-1].isnumeric() - # TRACK why and i threading this? - # is_url_thread = threading.Thread(target=funcs.is_url, args=(url_,)) - # is_url_thread.start() + urlchk = False (urlchk := funcs.is_url(url_)) # FIX want this to be better upto date with my curr knowledge @@ -325,7 +324,7 @@ def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): print("\nQuality Chosen: ", chosen_resolution, "\n") # Main Download Process - # BUG Twitch is Bugging out and returns no streams available but retry works + # TRACK Twitch BUG is Bugging out and returns no streams available but retry works # prob same m3u8 bandwidth -> 0 bug 21-12-2023. process = subprocess.Popen( download_string, shell=True, universal_newlines=True, cwd=slinkDir @@ -347,7 +346,7 @@ def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): # Wait for the thread to finish thread_popen.join() - # BUG if i cancel i got a synatx error ?? + # TRACK if i cancel i got a synatx error ?? # Reset the signal handler for SIGINT to its default behavior (kill terminal) signal.signal(signal.SIGINT, signal.SIG_DFL) @@ -358,8 +357,8 @@ def compare_with_tolerance(size1, size2, tolerance=10) -> bool: This function compares two file sizes with a certain tolerance. """ return abs(size1 - size2) <= tolerance - - # BUG something is crashing once fin dld??? + # BUG there NO Remaining time if its fromfile MUST FIX BUG-MAYBE a FIX at :L154 https://vscode.dev/github/NSMY/Stream-Downloader-Util/blob/Future-Dev-Features/Main.py#L360. + # BUG something is crashing once fin dld??? still dont know what it is. # FIX errors is Canceled find way to not enter if Canceled if is_url_path_twitch_vod and os.path.isfile(download_file_path): get_len_of_vod_file = subprocess.Popen( @@ -374,7 +373,7 @@ def compare_with_tolerance(size1, size2, tolerance=10) -> bool: get_len_of_vod_file.wait() len_secs = int(stdout.split('.')[0]) if compare_with_tolerance(remaining_time, len_secs, 20): - # FIX Lazy temp solution to get json name (could error from mods name being this) + # FIX Lazy temp solution to get json name (could error from tw/mods name being named in json form highlight etc(rare)) chosen_json_path = f"{util_functions.get_appdata_dir()}/jsons/{fromfile[2]['login']}.json" with open(chosen_json_path, 'r') as f: diff --git a/helpers/check_new_streams.py b/helpers/check_new_streams.py index e0dcd8b..cea1232 100644 --- a/helpers/check_new_streams.py +++ b/helpers/check_new_streams.py @@ -4,11 +4,10 @@ import os import threading +from helpers import util_functions as util from my_utils import get_single_vod_ as gsv from my_utils import spinner as spn -from helpers import util_functions as util - from . import gql_main_call from . import swap_old_data as sod @@ -101,7 +100,7 @@ def add_new_entries_json( def print_new_vods_from_dictClass(vod_index, vods_dict): if vod_index != 0: from helpers import tk_get_file_list - tk_get_file_list.call_tk_data(vods_dict[:vod_index]) + tk_get_file_list.call_tk_data(vods_dict[:vod_index], '') print(f'\n\n{(vod_index)}: New Vods\n') return diff --git a/helpers/funcs.py b/helpers/funcs.py index 3596690..86e0e45 100644 --- a/helpers/funcs.py +++ b/helpers/funcs.py @@ -18,6 +18,7 @@ from tqdm import tqdm from init_dir.default_path_factory import DefaultPathFactory +from my_utils import spinner from startup import main_start video_file_types = [".mp4", ".mov", ".mkv", ".ts"] @@ -483,12 +484,12 @@ def ffprobepath_download_an_unzip(): dld = download_url(url, dloadFilePath, dlmssg) zp = unzip_file_from_path(dloadFilePath, "C:\\ffmpeg\\", spefFile, mssg=zipmssg) - if dld and zp == True: + if dld and zp is True: Fprobe_Path = ("C:\\ffmpeg\\ffprobe.exe") saveSettings("ffprobepath", Fprobe_Path) return Fprobe_Path - return f"{save_Dir}ffmpeg.exe" + return f"{save_Dir}ffprobe.exe" else: return print('Canceled, unable to Run as Dependency missing') @@ -533,7 +534,8 @@ def ffmpegpath_download_an_unzip(): def ffmpeg_factory_init(callback_info: list[str]): '''callback_info is module then the parent function from calling ["Main", "main_dld_start"]''' - + spinner5 = spinner.Spinner(message="Initialize Settings") + spinner5.start() default_ffPath = ("C:\\Program Files\\Streamlink\\ffmpeg\\ffmpeg.exe") saveTo1 = "ffmpegpath" exename = "ffmpeg.exe" @@ -544,13 +546,15 @@ def ffmpeg_factory_init(callback_info: list[str]): extension_name_Lookup=exename, parent_func_Callback=callback_info ) + spinner5.stop() return init_factory.set_default_path() def ffprobe_factory_init(callback_info: list[str]): '''callback_info is module then the parent function from calling ["Main", "main_dld_start"]''' - + spinner4 = spinner.Spinner(message="Initialize Settings") + spinner4.start() default_ffprobePath = ("C:\\ffmpeg\\ffprbe.exe") saveTo = "ffprobepath" exename = "ffprobe.exe" @@ -561,6 +565,7 @@ def ffprobe_factory_init(callback_info: list[str]): extension_name_Lookup=exename, parent_func_Callback=callback_info ) + spinner4.stop() return init_factory.set_default_path() diff --git a/helpers/get_vods_sizes_m3u8.py b/helpers/get_vods_sizes_m3u8.py index 42b581a..79e7f68 100644 --- a/helpers/get_vods_sizes_m3u8.py +++ b/helpers/get_vods_sizes_m3u8.py @@ -16,7 +16,7 @@ # get est file size. -def estimate_video_size(bandwidth_bps, total_secs): +def estimate_video_size(bandwidth_bps, total_secs) -> dict: # Calculate the total size in bits total_bits = bandwidth_bps * total_secs return total_bits / 8 / 1024 / 1024 / 1024 @@ -67,14 +67,14 @@ def get_playlist_uris( for mea, pl in zip(playlist.media, playlist.playlists): stream_info = pl.stream_info bandwidth = stream_info.bandwidth - if attempt > 5: + if attempt > 7: print("\nMax attempts reached, request failed, Bandwidth == 0") return {"Failed retrieving Bandwidth ": "N/A"} - elif bandwidth == 0: # Maybe a Temp Twitch Bug Maybe Outdated Streamlink(6.0.1), sometimes Bandwidth Fails to populate retrying fixes - logging.info(f'{os.path.basename(__file__)} data ' '%s', data) - logging.info(f'{os.path.basename(__file__)} get_variant_url ' '%s', stream_info) - logging.info(f'{os.path.basename(__file__)} bandwidth ' '%s', bandwidth) - print(f"Bandwidth == 0, Attempt {attempt} failed, retrying...") + elif bandwidth == 0: # Maybe a Temp Twitch Bug sometimes m3u8 Bandwidth Fails to populate retrying fixes + logging.info(f'{os.path.basename(__file__)} | data | ' '%s', data) + logging.info(f'{os.path.basename(__file__)} | get_variant_url | ' '%s', stream_info) + logging.info(f'{os.path.basename(__file__)} | bandwidth | ' '%s', bandwidth) + print(f"M3u8 Bandwidth == 0 Error, Attempt {attempt} failed, retrying...") attempt += 1 return get_playlist_uris( attempt=attempt, @@ -84,14 +84,7 @@ def get_playlist_uris( minus_time=minus_time ) name = mea.name.lower() - # size = "{:.2f}".format( - # estimate_video_size( - # bandwidth_bps=bandwidth, - # total_secs=seconds_ - minus_time - # ) - # ) size = f"{estimate_video_size(bandwidth_bps=bandwidth, total_secs=seconds_ - minus_time):.2f}" - dictt[name] = [size, pl.uri] # print("{:<5} {:<10}".format(resolution, f'{size} GB')) # print(dictt) diff --git a/helpers/gql_main_call.py b/helpers/gql_main_call.py index 15b94b6..be07f54 100644 --- a/helpers/gql_main_call.py +++ b/helpers/gql_main_call.py @@ -196,7 +196,6 @@ def create_vods_from_edges(cls, edges): return [vars(vod) for vod in vods] -# [] Kwargs ??? **kwargs. def First_making_cmds(streamer_user_name=None): if not streamer_user_name: streamer_user_name = input("Enter Streamer User Name: ").lower() diff --git a/helpers/tk_get_file_list.py b/helpers/tk_get_file_list.py index f851525..dfb4738 100644 --- a/helpers/tk_get_file_list.py +++ b/helpers/tk_get_file_list.py @@ -39,7 +39,7 @@ selected_items = [] -# [] Super Twitch ONLY data window +# TRACK Super Twitch ONLY data window def create_popup1( windowName, columns, processed_data, rawdata, file_path, **visual_only ): @@ -47,6 +47,7 @@ def create_popup1( Main_bg = "#191825" global selected_items popup = tk.Tk() + popup.wm_attributes('-topmost', 1) popup.overrideredirect(False) popup.title(windowName) popup.minsize(1350, 500) @@ -101,7 +102,7 @@ def create_popup1( text=( "Selection/s made by clicking on a Vod/s with Mouse (Multi Hold Shift)\n" "Use 'Make Selection-Close' (Right) Button to make selection," - "\nSelection will be the LAST item in the list (If Multi)" + "\nSelection will be the LAST (most recently selected) item in the list (If Multi)" ), bg="#191825", fg="white", @@ -435,7 +436,7 @@ def open_in_browser(): open_twitch_btn = tk.Button( tab1, - text="Open Vod's in Browser", + text="Open Vod/s in Browser", font=("Arial", 7, "bold"), command=open_in_browser, bg="#4361ee", @@ -495,28 +496,27 @@ def on_close(): sep.pack(side="top", fill="x", padx=10, pady=10, expand=False) # ----------------------------------------------------------------------------------- - if not visual_only: - resolutions = ["1080p", "720p", "480p", "360p", "160p", "False"] - x = IntVar() - for index in range(len(resolutions)): - radiobutton = Radiobutton( - tab2, - bg="#191825", - fg="#0576A7", - activebackground="#191825", - activeforeground="#00ff95", - highlightbackground="yellow", - # selectcolor='aqua', - anchor="w", - text=resolutions[index], # adds text to radio buttons - variable=x, # groups radiobuttons together if they share the same variable - value=index, # assigns each radiobutton a different value - padx=1, # adds padding on x-axis - font=("Impact", 12), - compound="left", # adds image & text (left-side) - # style="switch", - ) - radiobutton.pack(fill="both", anchor="w") + resolutions = ["1080p", "720p", "480p", "360p", "160p", "False"] + x = IntVar() + for index in range(len(resolutions)): + radiobutton = Radiobutton( + tab2, + bg="#191825", + fg="#0576A7", + activebackground="#191825", + activeforeground="#00ff95", + highlightbackground="yellow", + # selectcolor='aqua', + anchor="w", + text=resolutions[index], # adds text to radio buttons + variable=x, # groups radiobuttons together if they share the same variable + value=index, # assigns each radiobutton a different value + padx=1, # adds padding on x-axis + font=("Impact", 12), + compound="left", # adds image & text (left-side) + # style="switch", + ) + radiobutton.pack(fill="both", anchor="w") set_downloaded_btn.pack(side="top", fill="x", padx=1, pady=5) # ----------------------------------------------------------------------------------- @@ -537,7 +537,7 @@ def on_close(): if visual_only: make_selec_btn.config(text="Exit", command=popup.destroy, cursor="") - set_downloaded_btn.pack_forget() + # set_downloaded_btn.pack_forget() explainer_lable.pack_forget() title_lable.config(text=f'New Vods for : {windowName.split('.')[0].title()}') # tree.config(selectmode="none") @@ -555,7 +555,7 @@ def on_close(): def process_data(input_data, windName, file_path, **kwargs) -> tuple: selected_items.clear() - spinner1 = spinner.Spinner() + spinner1 = spinner.Spinner(message="Popup Created....") spinner1.start() columns = { "Index": "index", @@ -601,8 +601,6 @@ def process_data(input_data, windName, file_path, **kwargs) -> tuple: os.system('cls') import startup startup.main_start() - - # FIX if empty close will be an empty [] and errors as it has no indexes[0]| error handling on the call but still not ideally what i want. # WATCH set this to 0 index as haven't implemented multi downloading @@ -613,11 +611,14 @@ def call_tk_file(file_path) -> tuple | None: jsond = json.load(f) return process_data(jsond, windName, file_path) - -def call_tk_data(data): - windName = data[0].get("displayName") +# BUGlist view and new vods needs looking at one can change status's one just needs to show new items. +def call_tk_data(data, dir='New Vods'): + if dir == 'New Vods': + windName = dir + else: + windName = os.path.basename(dir).replace('.json','') kwargs = {"arg1": True} - t1 = threading.Thread(target=process_data, args=(data, windName, ""), kwargs=kwargs, daemon=True) + t1 = threading.Thread(target=process_data, args=(data, windName, dir), kwargs=kwargs, daemon=True) t1.start() return @@ -633,7 +634,9 @@ def call_as_solo(): from startup import main_start main_start() else: - return call_tk_file(chosen_dir) + with open(chosen_dir, 'r') as f: + chosendata = json.load(f) + return call_tk_data(chosendata, chosen_dir) except FileNotFoundError as e: print(e, 'No folder Found, Try: Create New Vods File') from startup import main_start diff --git a/helpers/util_functions.py b/helpers/util_functions.py index 894e39b..becdceb 100644 --- a/helpers/util_functions.py +++ b/helpers/util_functions.py @@ -122,8 +122,6 @@ def get_index_last_vod(content, gql_resp): id_dict = {"id": id_value} id_list.append(id_dict) targid = content[0]["id"] - # [] add return to after the base call not here makes this dependant on Get_index - # make return just be the raw data return id_list, targid. return get_index_of_target_id(input_content=id_list, target_id=targid) diff --git a/init_dir/default_path_factory.py b/init_dir/default_path_factory.py index 27f3e7f..ff5a939 100644 --- a/init_dir/default_path_factory.py +++ b/init_dir/default_path_factory.py @@ -7,31 +7,30 @@ # No Need to be a Class but practice. class DefaultPathFactory: - - def __init__(self, - default_Path: str, - settings_save_Key: str, - extension_name_Lookup: str, - parent_func_Callback: list, - ): - '''default path ("\\Example") - + def __init__( + self, + default_Path: str, + settings_save_Key: str, + extension_name_Lookup: str, + parent_func_Callback: list, + ): + """default path ("\\Example") + .settings save Key name ("exampleKey") - + exe name lookup ("Example.exe") - - base_func_Callback: list: from (module name), import (function name)''' + + base_func_Callback: list: from (module name), import (function name)""" self.default_ffPath = default_Path self.settings_key = settings_save_Key self.extension_name = extension_name_Lookup self.base_func_Callback = parent_func_Callback - + def set_default_path(self): - if os.path.isfile(self.default_ffPath): funcs.saveSettings(self.settings_key, self.default_ffPath) return self.default_ffPath - + if not (extention_find_path := funcs.file_search(self.extension_name)): if self.settings_key == "streamlinkPath": funcs.saveSettings(self.settings_key, extention_find_path) @@ -40,27 +39,26 @@ def set_default_path(self): self.download_dependencies() funcs.saveSettings(self.settings_key, extention_find_path) return extention_find_path - - + def download_dependencies(self): func_name = f"{self.settings_key}_download_an_unzip" func = getattr(funcs, func_name) return func() - - + def streamlink_retrieve(self): slinkURL = funcs.get_download_links(["STREAMLINK_Link"]) - print("\nCannot find streamlink on your system please download and " - "retry\nFind EG *streamlink-5.5.1-2-py311-x86_64.exe......\n\n" - f"{slinkURL}\nDownload and install then Continue.\n") + print( + "\nCannot find streamlink on your system please download and " + "retry\nFind EG *streamlink-5.5.1-2-py311-x86_64.exe......\n\n" + f"{slinkURL}\nDownload and install then Continue.\n" + ) webbrowser.open(slinkURL) answer = funcs.multi_choice_dialog("Continue if resolved", ["Continue", "Exit"]) if answer == "Continue": self.FunctionCallback() elif answer == "Exit": exit() - - + def FunctionCallback(self): # If i wanted to kep the call back Func. module_name = self.base_func_Callback[0] @@ -68,6 +66,5 @@ def FunctionCallback(self): call_back_func = getattr(my_module, self.base_func_Callback[1]) call_back_func() - def __str__(self): - return f'Default path={self.default_ffPath}, .SettingsKey={self.settings_key}, Extension={self.extension_name}, Call Back To={self.base_func_Callback})' \ No newline at end of file + return f"Default path={self.default_ffPath}, .SettingsKey={self.settings_key}, Extension={self.extension_name}, Call Back To={self.base_func_Callback})" diff --git a/init_dir/init_files.py b/init_dir/init_files.py index 17c6f85..5492190 100644 --- a/init_dir/init_files.py +++ b/init_dir/init_files.py @@ -31,15 +31,17 @@ def logger_setup(): def initSettings(): appdata_path = os.getenv("LOCALAPPDATA") - settings_file = os.path.join(str(appdata_path), - "Stream-Downloader-Util", "SDUsettings.json") + settings_file = os.path.join( + str(appdata_path), + "Stream-Downloader-Util", "SDUsettings.json" + ) # Check if the settings file already exists if not os.path.exists(settings_file): os.makedirs(os.path.dirname(settings_file), exist_ok=True) - + LastSave = datetime.now().strftime("%d/%m/%Y %H:%M:%S") - + settings = { "Twitch_snippet_for_auth": 'document.cookie.split("; ").find(item=>item.startsWith("auth-token="))?.split("=")[1]', "SDLI_Version": version_number, @@ -58,15 +60,15 @@ def init_links_file(): # Check if the settings file already exists if not os.path.exists(links_file): os.makedirs(os.path.dirname(links_file), exist_ok=True) - + Links = { - "_comment": "If this File is Updated in Github you can update it without needing to download a new version of the App.", - "_comment2": "Just replace this file with the updated one in Github. File Location C_Users_USERNAME_AppData_Local_Stream_Downloader-Util_download_Links.txt", - "_comment3": "https://github.com/NSMY/Stream-Downloader-Util", - "_Version": "1.0", - "FFMPEG_Link": "https://github.com/ffbinaries/ffbinaries-prebuilt/releases/download/v4.4.1/ffmpeg-4.4.1-win-64.zip", - "FFPROBE_Link": "https://github.com/ffbinaries/ffbinaries-prebuilt/releases/download/v4.4.1/ffprobe-4.4.1-win-64.zip", - "STREAMLINK_Link": "https://github.com/streamlink/windows-builds/releases/latest" + "_comment": "If this File is Updated in Github you can update it without needing to download a new version of the App.", + "_comment2": "Just replace this file with the updated one in Github. File Location C_Users_USERNAME_AppData_Local_Stream_Downloader-Util_download_Links.txt", + "_comment3": "https://github.com/NSMY/Stream-Downloader-Util", + "_Version": "1.0", + "FFMPEG_Link": "https://github.com/ffbinaries/ffbinaries-prebuilt/releases/download/v4.4.1/ffmpeg-4.4.1-win-64.zip", + "FFPROBE_Link": "https://github.com/ffbinaries/ffbinaries-prebuilt/releases/download/v4.4.1/ffprobe-4.4.1-win-64.zip", + "STREAMLINK_Link": "https://github.com/streamlink/windows-builds/releases/latest" } with open(links_file, "w") as f: json.dump(Links, f, indent=4) diff --git a/my_utils/get_single_vod_.py b/my_utils/get_single_vod_.py index ffe08c5..6c8c78f 100644 --- a/my_utils/get_single_vod_.py +++ b/my_utils/get_single_vod_.py @@ -5,13 +5,18 @@ import pprint from helpers import util_functions as util + # import util_functions as util # Only to test code inside this module from helpers.tk_get_file_list import call_tk_file def get_file_list_from_dir(vods_dir) -> list: '''Returns a list of file names in the given directory & strips .json Suffix''' - return [files.removesuffix('.json') for files in os.listdir(vods_dir)] + files_list = [] + for files in os.listdir(vods_dir): + if not os.path.isdir(f'{vods_dir}//{files}'): + files_list.append(files.removesuffix('.json')) + return files_list def select_json(list_of_streamer_jsons): @@ -23,7 +28,7 @@ def select_json(list_of_streamer_jsons): return_options="dict", keys_name='streamer' ) - if choice.get("streamer") == '**Cancel**': # WATCH Implemented only for multichoise, if tkinter maybe take OUT. + if choice.get("streamer") == '**Cancel**': import startup os.system("cls") startup.main_start() @@ -37,23 +42,11 @@ def creator_load_json_data(selected_json): def select_video(data, selected_json): - # quick_desc_ = [(i, util.simple_convert_timestamp(d['publishedAt']), util.decode_seconds_to_hms(d['lengthSeconds']), d['gameName'], d['title'], d['downloaded']) for i, d in enumerate(data)] - # quick_desc_.append("Cancel") - # stream = util.multi_choice_dialog(f'What Vod do you want form {selected_json['streamer']}----------', choice_s=quick_desc_) - # if stream == "Cancel": - # get_desired_vod_from_lst() # WATCH Implemented only for multichoise, if tkinter maybe take OUT. - stream = call_tk_file(rf'{util.get_appdata_dir()}\jsons\{selected_json['streamer']}.json') - # print("🐍 File: utility_dir/get_single_vod_.py | Line: 49 | select_video ~ stream",stream) - if stream == []: - get_desired_vod_from_lst() # WATCH Implemented only for multichoise, if tkinter maybe take OUT. + get_desired_vod_from_lst() else: return stream # type: ignore will not be None - # else: - # index = int(stream.strip('(').split(',')[0]) # type: ignore will not be None - # return (index, data[index]) - # return (index, data[index]) def get_desired_vod_from_lst(**kwargs) -> dict: diff --git a/startup.py b/startup.py index 3b1779d..f19f059 100644 --- a/startup.py +++ b/startup.py @@ -42,26 +42,21 @@ def check_streams(): def retrieve_saved_vod(): if impt_data: - aad = get_single_vod_.Run_get_vod("") - aad = get_single_vod_.Run_get_vod("") - # print(aad) + rgv_rtrn_data = get_single_vod_.Run_get_vod("") + rgv_rtrn_data = get_single_vod_.Run_get_vod("") + + print(f'\n\nChosen: {rgv_rtrn_data[0]['streamer']}, {rgv_rtrn_data[1]['vod_info']['title']}\n') + from Main import main_dld_start - # from new_mass_gql import tk_get_file_list - # print(aad[0]) - # tk_get_file_list.call_tk_vod_view(f'c:/Users/970EVO-Gamer/AppData/Local/Stream-Downloader-Util/jsons/{aad[0]}.json') # FIX sloppy af. - if ( - shutdown := funcs.multi_choice_dialog( - "Download Type", ["Normal", "Auto Shutdown", "**Cancel**"] - ) - == "Normal" - ): - main_dld_start(fromfile=aad) + shutdown = funcs.multi_choice_dialog("Download Type", ["Normal", "Auto Shutdown", "**Cancel**"]) + if shutdown == "Normal": + main_dld_start(fromfile=rgv_rtrn_data) elif shutdown == "**Cancel**": os.system("cls") - main_start() + return main_start() else: - main_dld_start(download_with_Shutdown=True, fromfile=aad) + main_dld_start(download_with_Shutdown=True, fromfile=rgv_rtrn_data) def list_view(): tk_get_file_list.call_as_solo() diff --git a/zextra_Funcs_/Testcode.py b/zextra_Funcs_/Testcode.py index 6095162..e69de29 100644 --- a/zextra_Funcs_/Testcode.py +++ b/zextra_Funcs_/Testcode.py @@ -1,24 +0,0 @@ -import os -import winsound - -from send2trash import send2trash - -dir = r'C:\Users\970EVO-Gamer\AppData\Local\Stream-Downloader-Util' -for files in os.listdir(dir): - if not os.path.isdir(files): - print(f'{dir}/{files}') - -# def send_to_trash(input_name): -# send2trash(input_name) -# if not os.path.isfile(input_name) or os.path.isdir(input_name): -# print(f"sent {input_name} to recycler") -# winsound.PlaySound( -# sound="C:\\Windows\\Media\\Recycle.wav", -# flags=winsound.SND_FILENAME -# ) -# return True -# return False - - -# send_to_trash(r"C:\Users\970EVO-Gamer\Desktop\whaaa") - From cdc0b31fc1b5e3ea7590a097e4cb5c41015f5162 Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Sun, 31 Dec 2023 10:22:08 +1000 Subject: [PATCH 43/77] blankc space --- helpers/get_vods_sizes_m3u8.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/helpers/get_vods_sizes_m3u8.py b/helpers/get_vods_sizes_m3u8.py index 79e7f68..d75dfd1 100644 --- a/helpers/get_vods_sizes_m3u8.py +++ b/helpers/get_vods_sizes_m3u8.py @@ -112,5 +112,3 @@ def m3u8_call_init(video_id, tot_seconds=None, minus_time=0) -> dict: access_token = gql.get_access_token(video_id) return get_playlist_uris(video_id=video_id, access_token=access_token, lengthSeconds=tot_seconds, minus_time=minus_time) - - From 20c094eddb08a5367cc51e2b8fec23b4010c4178 Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Sun, 31 Dec 2023 10:22:23 +1000 Subject: [PATCH 44/77] rmvd print --- helpers/check_new_streams.py | 1 - 1 file changed, 1 deletion(-) diff --git a/helpers/check_new_streams.py b/helpers/check_new_streams.py index cea1232..1571f28 100644 --- a/helpers/check_new_streams.py +++ b/helpers/check_new_streams.py @@ -139,7 +139,6 @@ def start_new_vods(): + ['--New Streamer to Add--'] + ['**CANCEL**'] ) - print("🐍 File: new_mass_gql/check_new_streams.py | Line: 149 | start_new_vods ~ streamer_name",streamer_name) if streamer_name == '**CANCEL**': os.system('cls') From 7b4f5baac003a9b8a93a0e121d5aebdb4303c5b6 Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Sun, 31 Dec 2023 10:22:39 +1000 Subject: [PATCH 45/77] tk, issue --- # TODO.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/# TODO.md b/# TODO.md index 8e24ddf..31d2ca5 100644 --- a/# TODO.md +++ b/# TODO.md @@ -51,6 +51,8 @@ in a list object and everywhere called will have to unpack, then also do u give [] make the setup init settings better, maybe into 1 call like if key in settings then call the whole settings thins more robust dependency searching and downloading (if deleted between settinggs Checks) +[] fix tk pannel width with no title name + THINK maybe rework tkinter to be packs instead of grids somehow as is laggy From 6338d24c58b134f3ada386d83f793dfb74b8fc36 Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Sun, 31 Dec 2023 10:46:43 +1000 Subject: [PATCH 46/77] debug to appdata --- init_dir/init_files.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/init_dir/init_files.py b/init_dir/init_files.py index 5492190..a435a57 100644 --- a/init_dir/init_files.py +++ b/init_dir/init_files.py @@ -20,7 +20,7 @@ def logger_setup(): os.mkdir('debugging') root_logger = logging.getLogger() root_logger.setLevel(logging.DEBUG) - root_file_handler = logging.FileHandler(f'debugging/{datetime.now().strftime('%Y-%m-%d')}.log', delay=True) + root_file_handler = logging.FileHandler(f'{settings_file}/debugging/{datetime.now().strftime('%Y-%m-%d')}.log', delay=True) root_file_handler.setLevel(logging.DEBUG) formatter = logging.Formatter('%(levelname)s:%(asctime)s %(name)s %(message)s') root_file_handler.setFormatter(formatter) From 9fe5cf3a2aa6adcdf67e3f5db7604c50d338d511 Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Sun, 31 Dec 2023 10:54:58 +1000 Subject: [PATCH 47/77] debug path fix --- init_dir/init_files.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/init_dir/init_files.py b/init_dir/init_files.py index a435a57..3926593 100644 --- a/init_dir/init_files.py +++ b/init_dir/init_files.py @@ -16,8 +16,8 @@ def logger_setup(): appdata_path), "Stream-Downloader-Util" ) - if not os.path.exists('debugging'): #FIXME Set to save in Appdata - os.mkdir('debugging') + if not os.path.exists(f'{settings_file}/debugging'): #FIXME Set to save in Appdata + os.mkdir(f'{settings_file}/debugging') root_logger = logging.getLogger() root_logger.setLevel(logging.DEBUG) root_file_handler = logging.FileHandler(f'{settings_file}/debugging/{datetime.now().strftime('%Y-%m-%d')}.log', delay=True) From c8aa09c75833be8a1bd70d9bb49d2088adb7932c Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Sun, 14 Jan 2024 22:39:59 +1000 Subject: [PATCH 48/77] add media --- .gitignore | 2 +- media/New UI 14-01-24.png | Bin 0 -> 13663 bytes media/STU.ico | Bin 0 -> 941403 bytes media/Vod UI 14-1-24.png | Bin 0 -> 71137 bytes 4 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 media/New UI 14-01-24.png create mode 100644 media/STU.ico create mode 100644 media/Vod UI 14-1-24.png diff --git a/.gitignore b/.gitignore index 1af45fc..3165dd6 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,4 @@ utility_dir\__pycache__ new_mass_gql/jsons - Shortcut.lnk new_mass_gql/jsons_symlink debugging -media \ No newline at end of file +/media/hidden media \ No newline at end of file diff --git a/media/New UI 14-01-24.png b/media/New UI 14-01-24.png new file mode 100644 index 0000000000000000000000000000000000000000..6bea0fb1992424879e183da6a94d88987809008c GIT binary patch literal 13663 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 aGoq0oaM{JhK$^+oOP`}()EqeX?f(ME;9Ncc literal 0 HcmV?d00001 diff --git a/media/STU.ico b/media/STU.ico new file mode 100644 index 0000000000000000000000000000000000000000..3dccd57230b21a80e0446bb329f4347007258cb6 GIT binary patch literal 941403 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Ξk|bOvM;$EROQ(} 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�iC&B7!I-P(o^=D{nq)Y2 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¨B4iOegYSu=jMm7 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­vt=yM@|4dgTTBlL1)8wTXol;0ibZCmyLZ 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ⅈN@Qx|5Ly6Ye;Zic*w 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%0AvJU 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 AEdT%j literal 0 HcmV?d00001 diff --git a/media/Vod UI 14-1-24.png b/media/Vod UI 14-1-24.png new file mode 100644 index 0000000000000000000000000000000000000000..83039d29542bee961f89a741ddbfc4a9252225f6 GIT binary patch literal 71137 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 literal 0 HcmV?d00001 From 2ca740801218225d08f37750bddc11b698b48ebc Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Sun, 14 Jan 2024 22:52:00 +1000 Subject: [PATCH 49/77] Renames --- media/{New UI 14-01-24.png => New_UI_14-01-24.png} | Bin media/{STU.ico => SDU.ico} | Bin media/{Vod UI 14-1-24.png => Vod_UI_14-1-24.png} | Bin 3 files changed, 0 insertions(+), 0 deletions(-) rename media/{New UI 14-01-24.png => New_UI_14-01-24.png} (100%) rename media/{STU.ico => SDU.ico} (100%) rename media/{Vod UI 14-1-24.png => Vod_UI_14-1-24.png} (100%) diff --git a/media/New UI 14-01-24.png b/media/New_UI_14-01-24.png similarity index 100% rename from media/New UI 14-01-24.png rename to media/New_UI_14-01-24.png diff --git a/media/STU.ico b/media/SDU.ico similarity index 100% rename from media/STU.ico rename to media/SDU.ico diff --git a/media/Vod UI 14-1-24.png b/media/Vod_UI_14-1-24.png similarity index 100% rename from media/Vod UI 14-1-24.png rename to media/Vod_UI_14-1-24.png From 61e8f1b161c3cc771eefaf8bf70800fc43f02640 Mon Sep 17 00:00:00 2001 From: Nick <95662519+NSMY@users.noreply.github.com> Date: Sun, 14 Jan 2024 23:54:43 +1000 Subject: [PATCH 50/77] Updated added more info and images Signed-off-by: Nick <95662519+NSMY@users.noreply.github.com> --- README.md | 61 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 44 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 83347e0..9b891a2 100644 --- a/README.md +++ b/README.md @@ -1,33 +1,50 @@ README.md -# **Stream Downloader Util is a CLI that provides easier Streamlink-Twitch usage.** +<p align="left"> + <img src="./media/SDU.ico" alt="Starter Image" width="100"/> +</p> -## [Streamlink][streamlink-website] [FFMPEG][ffmpeg] & [FFPROBE][ffmpeg] Dependent** Automated Downloader +# **Stream Downloader Util is a Compiled CLI that provides easier Streamlink (Twitch) usage.** + +## [Streamlink][streamlink-website] [FFMPEG][ffmpeg] & [FFPROBE][ffmpeg] **DEPENDENT** Downloader **Main Features** -* Easier Streamlink Download use without need of remembering Streamlink flags -* Muxing of video files with ffmpeg -* Extraction of Audio & Video Channel/s from File to separate files, if 1 Multi channels or 2 Desire Audio-Video Separated (useful for OBS Multi-Channel Captures) +* Easier Streamlink Download use without need of remembering Streamlink flags/args +* [Muxing](https://forum.videohelp.com/threads/29900-what-is-muxing-and-demuxing) of video files with ffmpeg +* Extraction of Audio & Video Channel/s ([DeMuxing](https://forum.videohelp.com/threads/29900-what-is-muxing-and-demuxing)) from File to separate files + * Multi channel Files + * Desire Audio-Video Separated (useful for OBS Multi-Channel Captures) + --- +![New UI](./media/New_UI_14-01-24.png) + + ## DOWNLOAD **STREAMLINK Dependent** -This python script fetches your [clipboard(URL)] checks if [dependencies] are available, if not will download them or provide [links]. +* This python script downloads Media URLs via [Streamlink][streamlink-website] + * fetches your [clipboard(URL)] OR from user created list (Twitch Streamers Vods) + * checks if [dependencies] are available & Present, if not, it will ask to download them or provide [links]. + +![Vod UI 14-1-24](./media/Vod_UI_14-1-24.png) -It will then retrieve [available] resolutions to download, provides the [fileddialog] (Browser popup) to set save Location/Name. +* It will then retrieve [available] resolutions to download, provides the [fileddialog] (Browser popup) to set save Location/Name. -Asks what size desired to download with inquirer (Scrollable Arrow keys List). +* Asks what size desired to download with inquirer (Scrollable Arrow keys List). -Newly added Twitch-skip-ads Streamlink Flag and Twitch Auth-Token optional. -<sub> Skips [ads] on vods if enabled, if subscribed skips ads from live recordings Via a [Auth] Token <sub/> +* Streamlink Flag Twitch-skip-ads and Twitch Auth-Token are avaiable. + * <sub/> Skips [ads] on vods if enabled (trims out the ad time).<sub/> + * <sub/> if subscribed can record add free Via a [Auth] Token, also enables access to Sub-Only mode Vods.<sub/> -Optional [terminate] Download early without Crashing the CLI +* (Twitch Vods) Gets Estimated File size of Vod after Resolution Choosen. -Downloads File Via [Streamlink][streamlink-website] +* Optional [terminate] Download early without Crashing the CLI -Asks if [Mux-ing] is Desired (Combines Chunks files for smooth playback with FFMPEG). +* Downloads File Via [Streamlink][streamlink-website] + +* Asks if [Mux-ing] is Desired (Combines Chunks files for smooth playback with FFMPEG). --- @@ -35,11 +52,11 @@ Asks if [Mux-ing] is Desired (Combines Chunks files for smooth playback with FFM **FFMPEG Dependent** -This is available after Download And Separate From the main downloading option, can be used as a standalone +* This is available after Download And Separate From the main downloading option, can be used as a standalone -Re Mux's (Copies) the File specified in the Clipboard (File path) or [fileddialog][fileddialog2] (Browser popup Finder) +* Re Mux's (Copies) the File specified in the Clipboard (File path) or [fileddialog][fileddialog2] (Browser popup Finder) -Sends the old file to the Recycle bin and saves a new file into a separate new Folder inside the CWD, then opens the folder. +* Sends the old file to the Recycle bin and saves a new file into a separate new Folder inside the CWD, then opens the folder. --- @@ -59,10 +76,20 @@ Video can be selected to also Separated form Audio > VP9/Opus (YouTube Video) is available but will stay in VP9/Opus Codec when extracted, otherwise Re-encoding would be required. > ***if the file has not been muxed (or standard file) may result in misread of Audio channels*** + +--- +## Twitch Vod Lists + +* Saves a json list of X Vods (in your appdata) to help keep track Downloaded status and to cut out a trip to the Browser. + * Intended to help for archiving of vods (to say YT etc) but without needing to do all/large chunks of vods at once/mass. +* If fully downloaded from the File List the script will change status of "Downloaded" within file to the chosen Resolution + * Will also count as fully downloaded if you set a specific time to start download form (2hrs into a vod thats 6hrs long the file will be 4hrs, But counts as Fully downloaded) can be changed manually in the Vod UI) +* ***Youtube Uploading NOT YET IMPLEMENTED*** <sub/>would like to implement<sub/> + --- ## DEPENDENCIES -- [Streamlink][streamlink-website] +- [Streamlink][streamlink-website] Streamlink must be installed or (portable) within the C: Drive, to work properly - [FFmpeg][ffmpeg] A Version comes with Streamlink - [FFprobe][ffmpeg] From ada6f015ec4b89791ca94c3921422758ebfa7086 Mon Sep 17 00:00:00 2001 From: Nick <95662519+NSMY@users.noreply.github.com> Date: Sun, 14 Jan 2024 23:55:45 +1000 Subject: [PATCH 51/77] Update README.md Signed-off-by: Nick <95662519+NSMY@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9b891a2..a7533aa 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ README.md <img src="./media/SDU.ico" alt="Starter Image" width="100"/> </p> -# **Stream Downloader Util is a Compiled CLI that provides easier Streamlink (Twitch) usage.** +# **Stream Downloader Util is a Compiled CLI (Onefile) that provides easier Streamlink (Twitch) usage.** ## [Streamlink][streamlink-website] [FFMPEG][ffmpeg] & [FFPROBE][ffmpeg] **DEPENDENT** Downloader From 1a668765883e5ecfda2937753fae1a8a55cdf441 Mon Sep 17 00:00:00 2001 From: Nick <95662519+NSMY@users.noreply.github.com> Date: Mon, 15 Jan 2024 00:18:47 +1000 Subject: [PATCH 52/77] Update vod list Signed-off-by: Nick <95662519+NSMY@users.noreply.github.com> --- README.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a7533aa..7067c42 100644 --- a/README.md +++ b/README.md @@ -82,10 +82,19 @@ Video can be selected to also Separated form Audio * Saves a json list of X Vods (in your appdata) to help keep track Downloaded status and to cut out a trip to the Browser. * Intended to help for archiving of vods (to say YT etc) but without needing to do all/large chunks of vods at once/mass. -* If fully downloaded from the File List the script will change status of "Downloaded" within file to the chosen Resolution - * Will also count as fully downloaded if you set a specific time to start download form (2hrs into a vod thats 6hrs long the file will be 4hrs, But counts as Fully downloaded) can be changed manually in the Vod UI) +* If fully downloaded (the total Len == specified start - total time OR the original Vod Length) from the File List option the script will change status of "Downloaded" within file to the chosen Resolution. + * Will count as fully downloaded if you set a specific time to start download form (2hrs into a vod thats 6hrs long the file will be 4hrs, But counts as Fully downloaded) can be changed manually in the Vod UI) + * If Chosen X Vod from Browser using URL and want to update file Status, can be done manually in the Vod List Opt + OR Via the 'Cross-Check Vods to Json Data' Opt (File Name Format dependant as Follows: + StreamerUserName - YYYY-MM-DD StreamVodTitle_Stream Category.mp4/mov/mkv) + * ***Youtube Uploading NOT YET IMPLEMENTED*** <sub/>would like to implement<sub/> + +### Cross-Check Vods to Json Data +* Checks Media Files from chosen Dir/path if any Files match any Vods in any Json Streamer File + (File Name Format dependant as Follows: StreamerUserName - YYYY-MM-DD StreamVodTitle_Stream Category.mp4/mov/mkv) + --- ## DEPENDENCIES From 39c2f4a8dcc61c925f9fc7d960a73e970f9b511a Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Mon, 22 Jan 2024 02:30:02 +1000 Subject: [PATCH 53/77] Fix Main bug :L185 --- Main.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Main.py b/Main.py index 91725c2..3ad4fd8 100644 --- a/Main.py +++ b/Main.py @@ -14,8 +14,9 @@ from pyperclip import copy, paste -from helpers import auth_skip_ads_, funcs, util_functions +from helpers import auth_skip_ads_, funcs from helpers import get_vods_sizes_m3u8 as m3 +from helpers import util_functions from init_dir import init_files from my_utils import mux_vid as cpvs from my_utils import spinner as spn @@ -181,6 +182,7 @@ def get_urlm3u8_filesize(url_, queue, minus_time): # Sub Only tested works but no est size of vod as Likely gql auth is # [] general oauth not personal key maybe can hackaround (sub only prints out (L GB)). + # BUG Doesn't print that its a Sub only Vod thats making fail Repeat. def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): # FIX later This Ugly POS is because theres a current twitch m3u8 bandwidth get Bug -> 0. # & in the Streamlink Code it double errors with Sub Only/w no access. From 63de4d59673e3dd3104290edd46a6eb2a3dfe17f Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Mon, 22 Jan 2024 02:30:58 +1000 Subject: [PATCH 54/77] TODO :L48 --- # TODO.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/# TODO.md b/# TODO.md index 31d2ca5..02cc0da 100644 --- a/# TODO.md +++ b/# TODO.md @@ -48,6 +48,10 @@ prints 0 new vods anyway?. [TODO] make chapters in vods? using code > [Code](zextra_Funcs_/getChaptersCall.py) < will require a large rewrite, games will be in a list object and everywhere called will have to unpack, then also do u give option to set where to DL from?? +[] make a custom field input for slink args??? + +[] Incorp YTDL?? + [] make the setup init settings better, maybe into 1 call like if key in settings then call the whole settings thins more robust dependency searching and downloading (if deleted between settinggs Checks) From 3c749441f90f77fb1ba5381e47c48296ff64ff5a Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Sun, 11 Feb 2024 15:01:07 +1000 Subject: [PATCH 55/77] fixed overlookled bug [Main 377] (try except) --- Main.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/Main.py b/Main.py index 3ad4fd8..6eccb32 100644 --- a/Main.py +++ b/Main.py @@ -374,18 +374,21 @@ def compare_with_tolerance(size1, size2, tolerance=10) -> bool: stdout, stderr = get_len_of_vod_file.communicate() get_len_of_vod_file.wait() len_secs = int(stdout.split('.')[0]) - if compare_with_tolerance(remaining_time, len_secs, 20): - # FIX Lazy temp solution to get json name (could error from tw/mods name being named in json form highlight etc(rare)) - chosen_json_path = f"{util_functions.get_appdata_dir()}/jsons/{fromfile[2]['login']}.json" + try: + if compare_with_tolerance(remaining_time, len_secs, 20): + # FIX Lazy temp solution to get json name (could error from tw/mods name being named in json form highlight etc(rare)) + chosen_json_path = f"{util_functions.get_appdata_dir()}/jsons/{fromfile[2]['login']}.json" - with open(chosen_json_path, 'r') as f: - filedata = json.load(f) - chosenindex = fromfile[1] + with open(chosen_json_path, 'r') as f: + filedata = json.load(f) + chosenindex = fromfile[1] - filedata[chosenindex]['downloaded'] = chosen_resolution + filedata[chosenindex]['downloaded'] = chosen_resolution - with open(chosen_json_path, 'w') as f: - json.dump(filedata, f, indent=4) + with open(chosen_json_path, 'w') as f: + json.dump(filedata, f, indent=4) + except TypeError as e: + print('\nNo Json Comparison Available; \n', e) if download_with_Shutdown: if sd_type == "Auto": From af26b79b8c82c795675abd44ab44203809f4a49a Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Thu, 4 Apr 2024 21:26:18 +1000 Subject: [PATCH 56/77] Bypassed the Reso get Loop bug, if Not Twitch URL --- # TODO.md | 61 +++++++------------------------------------------------ Main.py | 43 +++++++++++++++++++++++++++++++++------ 2 files changed, 44 insertions(+), 60 deletions(-) diff --git a/# TODO.md b/# TODO.md index 02cc0da..9324f85 100644 --- a/# TODO.md +++ b/# TODO.md @@ -1,78 +1,31 @@ -TODO -[x] have default call (Main) get stream name?? +TODO -[x] at the end of check for new vods run threading to compare -Status (set recoding to Recorded) - maybe do something with recording are u sure you want to download in (main.py)/and or make invisible?? +[] twitch vod username can be Mods (if making a highlight) add some bypass or rewrite the gql.py vod class -[x] have settings snapshot sys?/mass check installed apps eg if running terminal or old cmd to be able to do more advamced gui stuff???? - -[x] incorp size of vods into main/ on call from file - -[x] ?change not_downloaded to downloaded? in class - -[x] be able to select multiple from file/ [lists] download multiple (threading or cueing) - -[x] ask a Q if download from file about being RECORDING wether to proceed downloading. - -[x] why does check for new vods Print all the vods? not just new seems to be ALL one the check call [in a double line info then url] -prints 0 new vods anyway?. - -[x] put somewhere prob check for new vods return the ['status'] eg RECORDING. to knwo if still LIVE - -[x] [Done](startup.py#L52) be able to call shutdown also with file data, edit startup cmd - -[x] [solved made my own](spinner.py): have a waiting indication on (particular req calls) something not spinners as they seem to not work on old cmd - -[x] [Done But may break TK list](utility_dir\get_single_vod_.py#L46) make a way to back out of get vods if chosen wrong file. (probs add a exit string/if to the multi choice) - -[x] [done](zextra_Funcs_/check_old_files_downloaded.py#L136)figure a way to determine if fully downloaded and set to downloaded in file Name+ Total seconds ?? - -[x] be able to manually set if downloaded maybe with TKPopup????? - -[x] [done](zextra_Funcs_\check_old_files_downloaded.py) - -[x] set ffprobe paths to be from paths file - -[x] IDEA have a tkinter Warning popup before downloading depends??? - -[x] Readme not redering prop in ghub, -[x] set main download completions crosscheck - -[x] make able to get from file and dld from a time cmd and have it calc the right size minus'ing time-- think i have code somewhere - -[x] [Working](zextra_Funcs_/check_old_files_downloaded.py#L136): make it so u can check if downloaded incase a new json file is made/ overwritten - -[x] re Cat all files to utils for onefile scrips and helpers for funcs etc +[] in Main make the estimated Size of the vod appear b4 the choosing of resolution?????? [TODO] make chapters in vods? using code > [Code](zextra_Funcs_/getChaptersCall.py) < will require a large rewrite, games will be in a list object and everywhere called will have to unpack, then also do u give option to set where to DL from?? -[] make a custom field input for slink args??? +[] make a custom input field for most inbuilt slink args??? [] Incorp YTDL?? [] make the setup init settings better, maybe into 1 call like if key in settings then call the whole settings thins more robust dependency searching and downloading (if deleted between settinggs Checks) -[] fix tk pannel width with no title name - -THINK maybe rework tkinter to be packs instead of grids somehow as is laggy +[] fix tk (updatedVod) pannel width with no title name +THINK maybe rework tkinter to be packs instead of grids somehow, as its laggy THINK in the check new stream -- what to do for deleted /hidden vods on channels? - [TODO] make a combine segments (vids) ffmpeg via lists meth -THINK make check file be able to execute as standalone?? (need to make file dest dynamic apon single call) TRACK have it error when refreshing json vods file and non streamer name -THINK do i ad multi File processing? mp4 wav etc +THINK do i add multi File processing? mp4 wav etc -customTKinter GUI?? do i make Combine streams Aud/Vid make WEBP converter? New File? -make separate download/main thats can get lives and restart if dropouts maybe scheduled maybe seek notos? -Somehow incorporate auto download from noto? Win Alert notos? diff --git a/Main.py b/Main.py index 6eccb32..6c049d3 100644 --- a/Main.py +++ b/Main.py @@ -183,6 +183,7 @@ def get_urlm3u8_filesize(url_, queue, minus_time): # Sub Only tested works but no est size of vod as Likely gql auth is # [] general oauth not personal key maybe can hackaround (sub only prints out (L GB)). # BUG Doesn't print that its a Sub only Vod thats making fail Repeat. + # BUG enters twitch auth if other than twitch url, find a way to still check but skpping twitch part def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): # FIX later This Ugly POS is because theres a current twitch m3u8 bandwidth get Bug -> 0. # & in the Streamlink Code it double errors with Sub Only/w no access. @@ -228,6 +229,27 @@ def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): return queue.put('Error') # result1.join() + # Lazy opt to dup Func, Fix Later?. + def reg_get_res(slinkDir, url_, queue): + stream_reso = subprocess.Popen( + rf'streamlink "{url_}"', + shell=False, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + universal_newlines=True, + cwd=slinkDir, + ) + stdout, stderr = stream_reso.communicate() + + + stream_reso.wait() + out_pt, _ = stream_reso.communicate() + result = re.sub(r"[^\w\s]", "", out_pt).split()[10:] + if result[7] == "Forbidden": + return queue.put(result[7]) + + queue.put(result) + # Checks if a Twitch URL. twitch_netloc = ["www.twitch.tv", "usher.ttvnw.net"] @@ -238,11 +260,19 @@ def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): if url_netlock in twitch_netloc: is_it_a_twitch_url = True - # Start of Getting get_vid_resolutions threading. - q = Queue() - get_res_opts = threading.Thread(target=get_vid_resolutions, args=(slinkDir, url_, q)) - get_res_opts.start() + print("🐍 File: Stream_Downloader_Util/Main.py | Line: 264 | reg_get_res ~ is_it_a_twitch_url |", is_it_a_twitch_url) + if is_it_a_twitch_url: + # Start of Getting get_vid_resolutions threading. + q = Queue() + get_res_opts = threading.Thread(target=get_vid_resolutions, args=(slinkDir, url_, q)) + get_res_opts.start() + else: + q = Queue() + get_res_opts = threading.Thread(target=reg_get_res, args=(slinkDir, url_, q)) + get_res_opts.start() + + print("HERE............") if is_url_path_twitch_vod: q2 = Queue() m3u8 = threading.Thread( @@ -272,8 +302,9 @@ def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): # TRACK Shouldn't be needed, as should be handled in # the get_vid_resolutions Func - if get_res_opts == 'Error': - print('Errored Too many attempts') + if get_res_opts == 'Error' or get_res_opts == 'Forbidden': + os.system("cls") + print('Error Retrieving Resolutions: Too many Retry attempts made(m3u8 Error)\nOR Forbidden URL, Try Again.\n') from startup import main_start main_start() From c09520b698b75835235ebac88f5b4951b0791caf Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Thu, 4 Apr 2024 21:31:58 +1000 Subject: [PATCH 57/77] old vers bug note --- # TODO.md | 1 + 1 file changed, 1 insertion(+) diff --git a/# TODO.md b/# TODO.md index 9324f85..0e5c011 100644 --- a/# TODO.md +++ b/# TODO.md @@ -23,6 +23,7 @@ THINK in the check new stream -- what to do for deleted /hidden vods on channels [TODO] make a combine segments (vids) ffmpeg via lists meth TRACK have it error when refreshing json vods file and non streamer name +THINK older versions of sdu errors out if it has Newer settings file and loops??? THINK do i add multi File processing? mp4 wav etc From 7e549630052b7e696b6122aacf36aec4a821bcae Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Thu, 4 Apr 2024 21:47:41 +1000 Subject: [PATCH 58/77] Bypassed the Reso get Loop bug, if Not Twitch URL. -a debug print --- Main.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/Main.py b/Main.py index 6c049d3..4ec92ae 100644 --- a/Main.py +++ b/Main.py @@ -260,8 +260,6 @@ def reg_get_res(slinkDir, url_, queue): if url_netlock in twitch_netloc: is_it_a_twitch_url = True - print("🐍 File: Stream_Downloader_Util/Main.py | Line: 264 | reg_get_res ~ is_it_a_twitch_url |", is_it_a_twitch_url) - if is_it_a_twitch_url: # Start of Getting get_vid_resolutions threading. q = Queue() From d86c5ccdb0991d71274c9a4beca2ac9950857d88 Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Thu, 4 Apr 2024 21:51:30 +1000 Subject: [PATCH 59/77] Bypassed the Reso get Loop bug, if Not Twitch URL. -a debug print x2 --- Main.py | 1 - 1 file changed, 1 deletion(-) diff --git a/Main.py b/Main.py index 4ec92ae..84275ff 100644 --- a/Main.py +++ b/Main.py @@ -270,7 +270,6 @@ def reg_get_res(slinkDir, url_, queue): get_res_opts = threading.Thread(target=reg_get_res, args=(slinkDir, url_, q)) get_res_opts.start() - print("HERE............") if is_url_path_twitch_vod: q2 = Queue() m3u8 = threading.Thread( From 5b90f769f45e827f798159baa0445e7e1d916d34 Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Thu, 4 Apr 2024 22:01:01 +1000 Subject: [PATCH 60/77] Better Exit call (sys.exit) --- startup.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/startup.py b/startup.py index f19f059..afbf24d 100644 --- a/startup.py +++ b/startup.py @@ -1,10 +1,10 @@ import os +import sys import threading import init_dir.init_files as init_files -from helpers import auth_skip_ads_, check_new_streams +from helpers import auth_skip_ads_, check_new_streams, gql_main_call, tk_get_file_list from helpers import funcs as funcs -from helpers import gql_main_call from helpers import help as hlp from helpers import tk_get_file_list from my_utils import get_single_vod_, video_data_cross_checker @@ -31,7 +31,7 @@ def download_shutdown(): main_dld_start(True) def exit_program(): - exit() + sys.exit() def making_vods_list(): gql_main_call.First_making_cmds() From 47102d92a5f20c63700256d6c13f01b9c4b20f6d Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Sat, 6 Apr 2024 15:37:16 +1000 Subject: [PATCH 61/77] FIxed index out of range Error --- # TODO.md | 2 ++ Main.py | 11 +++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/# TODO.md b/# TODO.md index 0e5c011..7e31a6c 100644 --- a/# TODO.md +++ b/# TODO.md @@ -1,5 +1,7 @@ TODO +[] make folder muxed into dynamic for user set a field in settings, but have a set default + [] twitch vod username can be Mods (if making a highlight) add some bypass or rewrite the gql.py vod class [] in Main make the estimated Size of the vod appear b4 the choosing of resolution?????? diff --git a/Main.py b/Main.py index 84275ff..90de1fb 100644 --- a/Main.py +++ b/Main.py @@ -14,9 +14,8 @@ from pyperclip import copy, paste -from helpers import auth_skip_ads_, funcs +from helpers import auth_skip_ads_, funcs, util_functions from helpers import get_vods_sizes_m3u8 as m3 -from helpers import util_functions from init_dir import init_files from my_utils import mux_vid as cpvs from my_utils import spinner as spn @@ -245,10 +244,10 @@ def reg_get_res(slinkDir, url_, queue): stream_reso.wait() out_pt, _ = stream_reso.communicate() result = re.sub(r"[^\w\s]", "", out_pt).split()[10:] - if result[7] == "Forbidden": - return queue.put(result[7]) - - queue.put(result) + if len(result) > 7: + if result[7] and result[7] == "Forbidden": + return queue.put(result[7]) + return queue.put(result) # Checks if a Twitch URL. twitch_netloc = ["www.twitch.tv", "usher.ttvnw.net"] From 6e74cb3c5de30e53bc379631c66c28151ee7c971 Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Sat, 6 Apr 2024 19:05:07 +1000 Subject: [PATCH 62/77] Minor: 2 ifs shortened --- Main.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Main.py b/Main.py index 90de1fb..fcb9929 100644 --- a/Main.py +++ b/Main.py @@ -14,8 +14,9 @@ from pyperclip import copy, paste -from helpers import auth_skip_ads_, funcs, util_functions +from helpers import auth_skip_ads_, funcs from helpers import get_vods_sizes_m3u8 as m3 +from helpers import util_functions from init_dir import init_files from my_utils import mux_vid as cpvs from my_utils import spinner as spn @@ -244,14 +245,12 @@ def reg_get_res(slinkDir, url_, queue): stream_reso.wait() out_pt, _ = stream_reso.communicate() result = re.sub(r"[^\w\s]", "", out_pt).split()[10:] - if len(result) > 7: - if result[7] and result[7] == "Forbidden": - return queue.put(result[7]) + if len(result) > 7 and result[7] == "Forbidden": + return queue.put(result[7]) return queue.put(result) # Checks if a Twitch URL. twitch_netloc = ["www.twitch.tv", "usher.ttvnw.net"] - url_netlock = urlparse(url_)[1] is_it_a_twitch_url = False @@ -298,7 +297,7 @@ def reg_get_res(slinkDir, url_, queue): # TRACK Shouldn't be needed, as should be handled in # the get_vid_resolutions Func - if get_res_opts == 'Error' or get_res_opts == 'Forbidden': + if get_res_opts in ['Error', 'Forbidden']: os.system("cls") print('Error Retrieving Resolutions: Too many Retry attempts made(m3u8 Error)\nOR Forbidden URL, Try Again.\n') from startup import main_start @@ -386,6 +385,7 @@ def compare_with_tolerance(size1, size2, tolerance=10) -> bool: This function compares two file sizes with a certain tolerance. """ return abs(size1 - size2) <= tolerance + # BUG there NO Remaining time if its fromfile MUST FIX BUG-MAYBE a FIX at :L154 https://vscode.dev/github/NSMY/Stream-Downloader-Util/blob/Future-Dev-Features/Main.py#L360. # BUG something is crashing once fin dld??? still dont know what it is. # FIX errors is Canceled find way to not enter if Canceled From c1575ad6d3981445412696158583243c51b90c44 Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Mon, 15 Apr 2024 18:25:02 +1000 Subject: [PATCH 63/77] print deletion --- combinevideo.py | 48 ++++++++++++++++++++++++ helpers/extraction_factory.py | 2 - helpers/util_functions.py | 1 - init_dir/default_path_factory.py | 2 +- zextra_Funcs_/Chapters Aysinc working.py | 1 - zextra_Funcs_/Original_gql_file.py | 4 -- zextra_Funcs_/Testcode.py | 4 ++ zextra_Funcs_/getChaptersCall.py | 2 - zextra_Funcs_/requests tests.py | 4 -- zextra_Funcs_/tessettt.py | 4 +- 10 files changed, 54 insertions(+), 18 deletions(-) create mode 100644 combinevideo.py diff --git a/combinevideo.py b/combinevideo.py new file mode 100644 index 0000000..1f340b5 --- /dev/null +++ b/combinevideo.py @@ -0,0 +1,48 @@ +# ffmpeg -f concat -safe 0 -i mylist.txt -c copy "output.mp4" +import os +import subprocess + +from helpers import funcs + +combine_return = funcs.multi_choice_dialog(mssg="Combine Video Files", choice_s=["Yes", "Cancel"]) + +if combine_return == "Cancel": + print("restart") + pass + + +print("Select Main Video File\n") + +video_file_list = [] +def gather_video_files(video_file_list): + video_file = funcs.openFile() + video_file_list.append(f'file "{video_file}"') + if len(video_file_list) >= 2: + [print(funcs.shorten_path_name(item)) for item in video_file_list] + continue_appending = funcs.multi_choice_dialog(mssg="Append More Files?", choice_s=["Yes", "Cancel"]) + if continue_appending == "Cancel": + return video_file_list + print("Choose video file to append\n") + return gather_video_files(video_file_list) + else: + print("Choose video file to append\n") + [print(funcs.shorten_path_name(item)) for item in video_file_list] + return gather_video_files(video_file_list) + +vid_list = gather_video_files(video_file_list) + + +save_path = funcs.saveFile(kwargs=os.path.basename(vid_list[0])) + +cpy = subprocess.Popen(rf'ffmpeg -f concat -safe 0 -i "{vid_list}" -c copy "{save_path}"', universal_newlines=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd="c:/Program Files/Streamlink/ffmpeg/") + +stdout, stderr = cpy.communicate() +print(stdout) + +# .txt Eg, it need to be in the cwd of the video??? +# file 'Kotton - 25-10-2023 Not Sure If Surviving or Thriving 500 BrutalCassandra mods_RimWorld.mp4' +# file '2Kotton - 25-10-2023 Not Sure If Surviving or Thriving 500 BrutalCassandra mods_RimWorld.mp4' + + + +print(vid_list) \ No newline at end of file diff --git a/helpers/extraction_factory.py b/helpers/extraction_factory.py index f366d0d..c117d1b 100644 --- a/helpers/extraction_factory.py +++ b/helpers/extraction_factory.py @@ -38,7 +38,6 @@ def non_video_extraction(self): def opus_factory(self): cmd = (f'ffmpeg -i "{self.filename}" -c:v copy -an ' f'"{self.output_name}{self.video_file_type}"') - print("🐍 File: Streamlink.Automated.Downloader/extraction_factory.py | Line: 41 | opus_factory ~ cmd",cmd) if self.selected_channel == "All": channels_list = "".join( @@ -62,7 +61,6 @@ def opus_factory(self): def specified_audio_channel(self): channel = int(self.selected_channel) - 1 - print("🐍 File: Streamlink.Automated.Downloader/extraction_factory.py | Line: 63 | specified_audio_channel ~ self.copy_video_answer",self.copy_video_answer) if self.copy_video_answer == "No": return (f'ffmpeg -i "{self.filename}" -map 0:a:{channel}' f' -c copy "{self.output_name}_{channel}{self.export_codec}"' diff --git a/helpers/util_functions.py b/helpers/util_functions.py index becdceb..17f2333 100644 --- a/helpers/util_functions.py +++ b/helpers/util_functions.py @@ -141,7 +141,6 @@ def get_index_of_target_id(*, input_content, target_id: str): if isinstance(input_content, list): first_id = input_content[0].get("id") if first_id == target_id: - # print("🐍 File: utility_dir/util_functions.py | Line: 105 | get_index_of_target_id ~ first_id",first_id) return 0 else: content = input_content diff --git a/init_dir/default_path_factory.py b/init_dir/default_path_factory.py index ff5a939..6d13e43 100644 --- a/init_dir/default_path_factory.py +++ b/init_dir/default_path_factory.py @@ -46,7 +46,7 @@ def download_dependencies(self): return func() def streamlink_retrieve(self): - slinkURL = funcs.get_download_links(["STREAMLINK_Link"]) + slinkURL = funcs.get_links(["STREAMLINK_Link"]) print( "\nCannot find streamlink on your system please download and " "retry\nFind EG *streamlink-5.5.1-2-py311-x86_64.exe......\n\n" diff --git a/zextra_Funcs_/Chapters Aysinc working.py b/zextra_Funcs_/Chapters Aysinc working.py index 9458789..fddcd96 100644 --- a/zextra_Funcs_/Chapters Aysinc working.py +++ b/zextra_Funcs_/Chapters Aysinc working.py @@ -60,7 +60,6 @@ def gql_query(query=None, data=None): query = GET_VIDEO_CHAPTERS.format( id=items.get('id'), after=chapter_page ) - # print("🐍 File: Stream-Downloader-Util/Testcode.py | Line: 705 | undefined ~ query",query) gql_queries.append((index, query)) diff --git a/zextra_Funcs_/Original_gql_file.py b/zextra_Funcs_/Original_gql_file.py index f8b56d5..fdfa38a 100644 --- a/zextra_Funcs_/Original_gql_file.py +++ b/zextra_Funcs_/Original_gql_file.py @@ -133,7 +133,6 @@ def query_channel_vods( query = query_channel_vods(streamer_user_name, 100, "TIME") resp = gql_query(query=query).json() -print("🐍 File: Desktop/gql.py | Line: 72 | undefined ~ resp",resp) # for item in resp: # print(item['1']) @@ -152,7 +151,6 @@ def query_channel_vods( # item['title'] = filtered_title -# print("🐍 File: New-twitch-mass-downloader/gql.py | Line: 124 | undefined ~ resp",resp) @@ -201,7 +199,6 @@ def __repr__(self): first_dict_check = vods_dict[0] first_gql_index_id = first_dict_check['id'] gql_status_check = first_dict_check['status'] -print("🐍 File: New-twitch-mass-downloader/gql.py | Line: 161 | undefined ~ gql_status_check",gql_status_check) print(first_gql_index_id) @@ -241,7 +238,6 @@ def __repr__(self): # # # d = str(resp) # # # dd = d.split("{\'cursor\'") -# # # print("🐍 File: Desktop/gql.py | Line: 97 | undefined ~ d",dd) # # with open(file_path, 'w') as json_file: # # json.dump(vods, json_file, indent=4) diff --git a/zextra_Funcs_/Testcode.py b/zextra_Funcs_/Testcode.py index e69de29..cb0e8ba 100644 --- a/zextra_Funcs_/Testcode.py +++ b/zextra_Funcs_/Testcode.py @@ -0,0 +1,4 @@ +import json +with open(r'C:\Users\970EVO-Gamer\AppData\Local\Stream-Downloader-Util\download_links.txt', "r") as r: + hll = json.load(r) +print(hll['_Version']) \ No newline at end of file diff --git a/zextra_Funcs_/getChaptersCall.py b/zextra_Funcs_/getChaptersCall.py index 0388745..ddd1053 100644 --- a/zextra_Funcs_/getChaptersCall.py +++ b/zextra_Funcs_/getChaptersCall.py @@ -5,12 +5,10 @@ id=items.get('id'), after=chapter_page ) resp = gql_query(query=query).json() - print("🐍 File: Stream-Downloader-Util/Testcode.py | Line: 701 | undefined ~ resp",resp) # if not resp["data"]["video"]: # raise GQLItemError(f"Failed to find moments for video `{v['id']}`.") resp = resp["data"]["video"]["moments"] chapters.append((index, resp)) -print("🐍 File: Stream-Downloader-Util/Testcode.py | Line: 699 | undefined ~ resp",resp) ''' \ No newline at end of file diff --git a/zextra_Funcs_/requests tests.py b/zextra_Funcs_/requests tests.py index 3136f89..e5ef543 100644 --- a/zextra_Funcs_/requests tests.py +++ b/zextra_Funcs_/requests tests.py @@ -20,10 +20,8 @@ # Parse the HTML response soup = BeautifulSoup(r.text, 'html.parser',parse_only=SoupStrainer('head')) -print("🐍 File: Desktop/requests tests.py | Line: 22 | undefined ~ soup",soup) s = soup.prettify(formatter='html') -print("🐍 File: Desktop/requests tests.py | Line: 22 | undefined ~ s",s) # Find the video object by its tag name and get its 'name' attribute script_tag = soup.head.find("script", {"type": "application/ld+json"}) @@ -32,11 +30,9 @@ for item in lol: print('\n', item) -# print("🐍 File: Desktop/requests tests.py | Line: 32 | undefined ~ lol",lol) # t= soup. -# print("🐍 File: Desktop/requests tests.py | Line: 31 | undefined ~ t",t) # print(r.text) diff --git a/zextra_Funcs_/tessettt.py b/zextra_Funcs_/tessettt.py index e5d5c3a..f44b9b6 100644 --- a/zextra_Funcs_/tessettt.py +++ b/zextra_Funcs_/tessettt.py @@ -142,6 +142,4 @@ def gql_query(query=None, data=None): query = GET_VIDEO_COMMENTS_QUERY.format( video_id="2010087465", first=100, after=pagination ) -print("🐍 File: zextra_Funcs_/just a test.py | Line: 139 | undefined ~ query",query) -resp = gql_query(query=query).json() -print("🐍 File: zextra_Funcs_/just a test.py | Line: 126 | undefined ~ resp",resp) \ No newline at end of file +resp = gql_query(query=query).json() \ No newline at end of file From 211043a95bad4909d6b210b45f71bb96dceb653b Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Mon, 15 Apr 2024 18:25:46 +1000 Subject: [PATCH 64/77] added naming muxed --- helpers/help.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/helpers/help.py b/helpers/help.py index 632faa9..2cdd484 100644 --- a/helpers/help.py +++ b/helpers/help.py @@ -14,9 +14,9 @@ def main(): print("{:<35} {:<10}".format('\nCross-check Vods to Json Data:', 'Cross-checks Video Files properties (from selected Parent folder) with stored json data to check if the file is "downloaded"')) print("{:<35} {:<10}".format('', 'and sets to Json "downloaded" Status if criteria met.')) print("{:<35} {:<10}".format('Criteria', '[Not previously set, VideoUsername==JsonDisplayName, VideoTitle==JsonTitle, VideoLength==JsonLength]')) - print("{:<35} {:<10}".format('Naming Files Convention == ', '(Username) (YYYY-MM-DD) (TitleOfStream)_StreamCategory\n\n\n')) + print("{:<35} {:<10}".format('\nNaming Files Convention == ', '(Username) - (YYYY-MM-DD) (TitleOfStream)_StreamCategory\n')) + print("{:<35} {:<10}".format('Naming Muxed Folder:', "Folder Created when Mux'ing is Customizable in \\AppData\\Local\\Stream-Downloader-Util\\download_links.txt, change 'Mux_dir_name': 'Change_Me' \n\n\n")) return startup.main_start() - if __name__ == '__main__': main() From 815adafe02dd3c2ee64e4b52aef7204e625fafde Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Mon, 15 Apr 2024 18:26:33 +1000 Subject: [PATCH 65/77] v5, added muxed naming link.txt --- init_dir/init_files.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/init_dir/init_files.py b/init_dir/init_files.py index 3926593..ea15836 100644 --- a/init_dir/init_files.py +++ b/init_dir/init_files.py @@ -6,7 +6,7 @@ from helpers import funcs as funcs -version_number = 4.0 +version_number = 5.0 def logger_setup(): @@ -68,7 +68,8 @@ def init_links_file(): "_Version": "1.0", "FFMPEG_Link": "https://github.com/ffbinaries/ffbinaries-prebuilt/releases/download/v4.4.1/ffmpeg-4.4.1-win-64.zip", "FFPROBE_Link": "https://github.com/ffbinaries/ffbinaries-prebuilt/releases/download/v4.4.1/ffprobe-4.4.1-win-64.zip", - "STREAMLINK_Link": "https://github.com/streamlink/windows-builds/releases/latest" + "STREAMLINK_Link": "https://github.com/streamlink/windows-builds/releases/latest", + "Mux_dir_name": "FFMPEG__re-Muxed" } with open(links_file, "w") as f: json.dump(Links, f, indent=4) From e8e4b98ca5e3bf64beeb92bc0fa4573fdb8b8ef6 Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Mon, 15 Apr 2024 18:27:29 +1000 Subject: [PATCH 66/77] added ability to change the destination dir name in settings --- my_utils/mux_vid.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/my_utils/mux_vid.py b/my_utils/mux_vid.py index 9dc4ebf..0c7d70a 100644 --- a/my_utils/mux_vid.py +++ b/my_utils/mux_vid.py @@ -24,6 +24,7 @@ def mux(file_path_inpt=paste(), ran_as_main: bool = False): funcs.ffmpeg_factory_init(["mux_vid", "mux"]) os.system("cls") return mux(file_path_inpt, ran_as_main) + new_dir_name = funcs.get_links(["Mux_dir_name"]) ffpg = os.path.dirname(check_settings[1]) file_path = funcs.file_path_get(file_path_inpt) @@ -35,7 +36,7 @@ def mux(file_path_inpt=paste(), ran_as_main: bool = False): if file_path == '.': os.system("cls") - new_file_path = funcs.make_new_dir_from_input(file_path, 'FFMPEG__re-Muxed') + new_file_path = funcs.make_new_dir_from_input(file_path, new_dir_name) old_file_name = os.path.basename(file_path) new_file_path = os.path.join(new_file_path, old_file_name) print(old_file_name) @@ -82,7 +83,7 @@ def mux(file_path_inpt=paste(), ran_as_main: bool = False): winsound.SND_FILENAME) print( f'\nMoved: {view_fp} \nto Trash...' - f'\nSaved in to: {view_nfp}\nRe-Muxed..\n' + f'\nSaved in to: {view_nfp}\n{new_dir_name}..\n' ) funcs.open_directory_Force_front(new_file_path) From f2d11bbf1216744684437aed0f254a0a210fa62a Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Mon, 15 Apr 2024 18:28:47 +1000 Subject: [PATCH 67/77] made the sigint send back to main, get_dl_links > get_links --- helpers/funcs.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/helpers/funcs.py b/helpers/funcs.py index 86e0e45..3787bbb 100644 --- a/helpers/funcs.py +++ b/helpers/funcs.py @@ -440,7 +440,10 @@ def kill_process(process): parent.kill() print("Subprocess killed") except psutil.NoSuchProcess as e: - print("Subprocess already closed") + print("Subprocess already closed:", e) + finally: + from startup import main_start + main_start() def wait_for_subprocess(process): @@ -448,7 +451,7 @@ def wait_for_subprocess(process): # Run some code after the subprocess has completed -def get_download_links(keys: list[str]): +def get_links(keys: list[str]): appdata_path = os.getenv("LOCALAPPDATA") links_file = os.path.join(str(appdata_path), "Stream-Downloader-Util", "download_links.txt") @@ -464,7 +467,7 @@ def get_download_links(keys: list[str]): def ffprobepath_download_an_unzip(): """calls dldURL() and Unzip() with all info inside""" - url = get_download_links(["FFPROBE_Link"]) + url = get_links(["FFPROBE_Link"]) last_segment = url.split('/')[-1] dloadFilePath = os.path.join(os.path.expanduser("~\\Desktop"), @@ -493,11 +496,10 @@ def ffprobepath_download_an_unzip(): else: return print('Canceled, unable to Run as Dependency missing') - def ffmpegpath_download_an_unzip(): """calls dldURL() and Unzip() with all info inside""" - urlmpg = get_download_links(["FFMPEG_Link"]) + urlmpg = get_links(["FFMPEG_Link"]) last_segment = urlmpg.split('/')[-1] dloadFilePath = os.path.join( From d6b7799ffdf5a8002977aacee304071fceb11463 Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Mon, 15 Apr 2024 18:29:09 +1000 Subject: [PATCH 68/77] changed order of options --- startup.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/startup.py b/startup.py index afbf24d..919ea57 100644 --- a/startup.py +++ b/startup.py @@ -6,7 +6,6 @@ from helpers import auth_skip_ads_, check_new_streams, gql_main_call, tk_get_file_list from helpers import funcs as funcs from helpers import help as hlp -from helpers import tk_get_file_list from my_utils import get_single_vod_, video_data_cross_checker from my_utils.ffmpegExtract import ffmpegextract @@ -72,13 +71,13 @@ def helpstr(): # Define your dictionary switch = { "Standard Download": download, - "Re-Mux": remux, - "Extract Audio/Video": extract, - "Download W/ Shutdown": download_shutdown, "Vod from File": retrieve_saved_vod, "Update Vods File": check_streams, - "List View of File": list_view, "Create New Vods File": making_vods_list, + "List View of File": list_view, + "Re-Mux": remux, + "Extract Audio/Video": extract, + "Download W/ Shutdown": download_shutdown, "Cross-check Vods to Json Data": crosscheck_vod_details, "Help": helpstr, "Exit": exit_program, @@ -96,13 +95,13 @@ def helpstr(): question = "Start Commands" responses = [ "Standard Download", - "Re-Mux", - "Extract Audio/Video", - "Download W/ Shutdown", "Vod from File", "Update Vods File", "List View of File", "Create New Vods File", + "Re-Mux", + "Extract Audio/Video", + "Download W/ Shutdown", "Cross-check Vods to Json Data", "Help", "Exit", From 800e27eb68168aa1b99dcb3c22d9f53540ca3256 Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Mon, 15 Apr 2024 18:30:45 +1000 Subject: [PATCH 69/77] made size gb show next to res when choosing, instead after chosen --- Main.py | 73 ++++++++++++++++++++++++++------------------------------- 1 file changed, 33 insertions(+), 40 deletions(-) diff --git a/Main.py b/Main.py index fcb9929..029e996 100644 --- a/Main.py +++ b/Main.py @@ -14,9 +14,8 @@ from pyperclip import copy, paste -from helpers import auth_skip_ads_, funcs +from helpers import auth_skip_ads_, funcs, util_functions from helpers import get_vods_sizes_m3u8 as m3 -from helpers import util_functions from init_dir import init_files from my_utils import mux_vid as cpvs from my_utils import spinner as spn @@ -96,6 +95,8 @@ def main_dld_start(download_with_Shutdown=None, fromfile=None): url_ = url_bits[0] + + def start_at_specified_time(url) -> tuple: """-> Returns tup(url, timecode)""" timecode = input( @@ -156,7 +157,6 @@ def get_urlm3u8_filesize(url_, queue, minus_time): is_url_path_twitch_vod = url_bits[1].path.split("/", -1)[-1].isnumeric() - urlchk = False (urlchk := funcs.is_url(url_)) # FIX want this to be better upto date with my curr knowledge @@ -183,7 +183,6 @@ def get_urlm3u8_filesize(url_, queue, minus_time): # Sub Only tested works but no est size of vod as Likely gql auth is # [] general oauth not personal key maybe can hackaround (sub only prints out (L GB)). # BUG Doesn't print that its a Sub only Vod thats making fail Repeat. - # BUG enters twitch auth if other than twitch url, find a way to still check but skpping twitch part def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): # FIX later This Ugly POS is because theres a current twitch m3u8 bandwidth get Bug -> 0. # & in the Streamlink Code it double errors with Sub Only/w no access. @@ -239,8 +238,6 @@ def reg_get_res(slinkDir, url_, queue): universal_newlines=True, cwd=slinkDir, ) - stdout, stderr = stream_reso.communicate() - stream_reso.wait() out_pt, _ = stream_reso.communicate() @@ -260,18 +257,18 @@ def reg_get_res(slinkDir, url_, queue): if is_it_a_twitch_url: # Start of Getting get_vid_resolutions threading. - q = Queue() - get_res_opts = threading.Thread(target=get_vid_resolutions, args=(slinkDir, url_, q)) + resolution_return = Queue() + get_res_opts = threading.Thread(target=get_vid_resolutions, args=(slinkDir, url_, resolution_return)) get_res_opts.start() else: - q = Queue() - get_res_opts = threading.Thread(target=reg_get_res, args=(slinkDir, url_, q)) + resolution_return = Queue() + get_res_opts = threading.Thread(target=reg_get_res, args=(slinkDir, url_, resolution_return)) get_res_opts.start() if is_url_path_twitch_vod: - q2 = Queue() + vod_size_return = Queue() m3u8 = threading.Thread( - target=get_urlm3u8_filesize, args=(url_, q2, minus_time) + target=get_urlm3u8_filesize, args=(url_, vod_size_return, minus_time) ) m3u8.start() @@ -293,7 +290,7 @@ def reg_get_res(slinkDir, url_, queue): # Return of get_vid_resolutions threading. get_res_opts.join() spinner2.stop() - get_res_opts = q.get() + get_res_opts = resolution_return.get() # TRACK Shouldn't be needed, as should be handled in # the get_vid_resolutions Func @@ -303,10 +300,25 @@ def reg_get_res(slinkDir, url_, queue): from startup import main_start main_start() - my_choices = list(reversed(get_res_opts)) + resoloution_choices_list = list(reversed(get_res_opts)) - funcs.flush_cmd_input() - chosen_resolution = funcs.multi_choice_dialog("What Size to Download?", my_choices) + if is_url_path_twitch_vod: + spinner1 = spn.Spinner() + spinner1.start() + m3u8.join() + m3u8_data = vod_size_return.get() + spinner1.stop() + + choises_list = [] + for item in resoloution_choices_list: + choises_list.append(f'{item} - [Size {m3u8_data[item][0]}]') if item in m3u8_data.keys() else choises_list.append(item) + funcs.flush_cmd_input() + chosen_resolution = funcs.multi_choice_dialog("What Size to Download?", choises_list, return_options='str').split('-')[0].strip() + print("\n", chosen_resolution, "...\n") + else: + funcs.flush_cmd_input() + chosen_resolution = funcs.multi_choice_dialog("What Size to Download?", resoloution_choices_list) + print("\n", chosen_resolution, "...\n") # if not twitch netloc uses default, if twitch asks advanced Options. default_download_string = ( @@ -331,26 +343,6 @@ def reg_get_res(slinkDir, url_, queue): elif twitch_options_choice == "Standard": download_string = default_download_string - if is_url_path_twitch_vod: - spinner1 = spn.Spinner() - spinner1.start() - m3u8.join() - m3u8_data = q2.get() - spinner1.stop() - # [] make this happen before choosing???? show GBs to inform decision????. - try: - if chosen_resolution == "best" or chosen_resolution == "source": - gb_of_vod = list(m3u8_data.values())[0][0] - elif chosen_resolution == "worst": - gb_of_vod = list(m3u8_data.values())[-1][0] - else: - gb_of_vod = m3u8_data[chosen_resolution][0] - print(f"\nQuality Chosen: {chosen_resolution},\t({gb_of_vod} GB)\n") - except (UnboundLocalError, KeyError) as e: - print(e, "\nQuality Chosen: ", chosen_resolution, "\n") - else: - print("\nQuality Chosen: ", chosen_resolution, "\n") - # Main Download Process # TRACK Twitch BUG is Bugging out and returns no streams available but retry works # prob same m3u8 bandwidth -> 0 bug 21-12-2023. @@ -360,7 +352,6 @@ def reg_get_res(slinkDir, url_, queue): print("\nCTRL + C to CANCEL Download early if necessary\n") - # Define a signal handler for SIGINT using a lambda function # changing ctrl+c to kill the subprocess instead of the terminal. handle_sigint = lambda signal, frame: funcs.kill_process(process) @@ -368,14 +359,18 @@ def reg_get_res(slinkDir, url_, queue): signal.signal(signal.SIGINT, handle_sigint) # Start a thread to wait for the subprocess to complete - thread_popen = threading.Thread(target=funcs.wait_for_subprocess, args=(process,)) + thread_popen = threading.Thread(target=funcs.wait_for_subprocess, args=(process,), daemon=True) thread_popen.start() + + # Wait for the thread to finish thread_popen.join() # TRACK if i cancel i got a synatx error ?? + + funcs.flush_cmd_input() # Reset the signal handler for SIGINT to its default behavior (kill terminal) signal.signal(signal.SIGINT, signal.SIG_DFL) @@ -386,8 +381,6 @@ def compare_with_tolerance(size1, size2, tolerance=10) -> bool: """ return abs(size1 - size2) <= tolerance - # BUG there NO Remaining time if its fromfile MUST FIX BUG-MAYBE a FIX at :L154 https://vscode.dev/github/NSMY/Stream-Downloader-Util/blob/Future-Dev-Features/Main.py#L360. - # BUG something is crashing once fin dld??? still dont know what it is. # FIX errors is Canceled find way to not enter if Canceled if is_url_path_twitch_vod and os.path.isfile(download_file_path): get_len_of_vod_file = subprocess.Popen( From c850be9eb1b88edfd064f4a77c7eece114fc4cc2 Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Mon, 15 Apr 2024 18:36:38 +1000 Subject: [PATCH 70/77] updated --- # TODO.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/# TODO.md b/# TODO.md index 7e31a6c..dff30a1 100644 --- a/# TODO.md +++ b/# TODO.md @@ -1,10 +1,9 @@ TODO -[] make folder muxed into dynamic for user set a field in settings, but have a set default [] twitch vod username can be Mods (if making a highlight) add some bypass or rewrite the gql.py vod class -[] in Main make the estimated Size of the vod appear b4 the choosing of resolution?????? +[x] DONE but only for twitch -- in Main make the estimated Size of the vod appear b4 the choosing of resolution?????? [TODO] make chapters in vods? using code > [Code](zextra_Funcs_/getChaptersCall.py) < will require a large rewrite, games will be in a list object and everywhere called will have to unpack, then also do u give option to set where to DL from?? @@ -20,7 +19,7 @@ more robust dependency searching and downloading (if deleted between settinggs C THINK maybe rework tkinter to be packs instead of grids somehow, as its laggy -THINK in the check new stream -- what to do for deleted /hidden vods on channels? +THINK in the check new stream -- what to do for deleted /hidden vods on channels? [TODO] make a combine segments (vids) ffmpeg via lists meth TRACK have it error when refreshing json vods file and non streamer name @@ -29,6 +28,8 @@ THINK older versions of sdu errors out if it has Newer settings file and loops?? THINK do i add multi File processing? mp4 wav etc +NOTE twitch m3u8 bitrate return 0 bug still exists 15-4-23 + do i make Combine streams Aud/Vid make WEBP converter? New File? Win Alert notos? From 5f6e3f723ebf1dbe2ae7338ff60d5ed51ebf1e7f Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Mon, 15 Apr 2024 19:28:41 +1000 Subject: [PATCH 71/77] added to readme --- README.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7067c42..5156762 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,10 @@ README.md # **Stream Downloader Util is a Compiled CLI (Onefile) that provides easier Streamlink (Twitch) usage.** -## [Streamlink][streamlink-website] [FFMPEG][ffmpeg] & [FFPROBE][ffmpeg] **DEPENDENT** Downloader +## [Streamlink][streamlink-website] **DEPENDENT** Downloader ([*FFMPEG*][ffmpeg] & [*FFPROBE*][ffmpeg]) **Main Features** -* Easier Streamlink Download use without need of remembering Streamlink flags/args +* Easier Streamlink Download use without need of remembering Streamlink flags/args, or knowing how to use cmd utils. * [Muxing](https://forum.videohelp.com/threads/29900-what-is-muxing-and-demuxing) of video files with ffmpeg * Extraction of Audio & Video Channel/s ([DeMuxing](https://forum.videohelp.com/threads/29900-what-is-muxing-and-demuxing)) from File to separate files * Multi channel Files @@ -110,6 +110,14 @@ Made this because i was sick of manually entering a string i had saved into Cmd, > (***1st multi file script ever made***) +# Transparency +I have made everything i interact with purposely transparent i print nearly everything major i do, when the script deletes anything i specifically send Everything to **RECYCLE BIN** so the user can decide what to do with it (besides the settings when new settings are needed because i cant recycle files that are in use so they get os deleted). + +The only time This script (not streamlink) needs to interact with the internet is +- If you don't have either ffmpeg or ffprobe installed, i show the links its using to download (if chosen) and even sends the (zipped) files to the Trash like previously stated. +- To retrieve Estimated file sizes before download (it pings the x m3u8 url to retrieve details) +- To make the json streamer vod list (if used) querys twitch api for details + [streamlink-website]: https://github.com/streamlink/streamlink [clipboard(URL)]: https://github.com/NSMY/Stream-Downloader-Util/blob/d683041b21d277261a08d3cbba19f119bdab22cc/Main.py#L34 [dependencies]: https://github.com/NSMY/Stream-Downloader-Util/blob/d683041b21d277261a08d3cbba19f119bdab22cc/Main.py#L43 From 4b3ec2fda8d1a23ed6770ace3ee7b917490853fa Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Wed, 17 Apr 2024 10:51:20 +1000 Subject: [PATCH 72/77] new --- .gitignore | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 3165dd6..83c0cad 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,7 @@ /versionfile.txt/ file_extentions/ hall.ico -#.vscode +.vscode CTK_test.py __pycache__ utility_dir\__pycache__ @@ -11,4 +11,5 @@ utility_dir\__pycache__ new_mass_gql/jsons - Shortcut.lnk new_mass_gql/jsons_symlink debugging -/media/hidden media \ No newline at end of file +/media/hidden media +zextra_Funcs_ \ No newline at end of file From 98e0d9d646b3d2b08c9c101520385cdc01786308 Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Wed, 17 Apr 2024 10:56:44 +1000 Subject: [PATCH 73/77] Removed, test codes --- newDownloadTool-exclaidraw.excalidraw | 2118 ---------------------- zextra_Funcs_/Chapters Aysinc working.py | 98 - zextra_Funcs_/Original_gql_file.py | 274 --- zextra_Funcs_/Testcode.py | 4 - zextra_Funcs_/__init__.py | 0 zextra_Funcs_/getChaptersCall.py | 14 - zextra_Funcs_/just a test.py | 0 zextra_Funcs_/pops_index_of_spesified.py | 39 - zextra_Funcs_/read_dld_file_length.py | 10 - zextra_Funcs_/replace_0index_in_json.py | 52 - zextra_Funcs_/requests tests.py | 109 -- zextra_Funcs_/tessettt.py | 145 -- 12 files changed, 2863 deletions(-) delete mode 100644 newDownloadTool-exclaidraw.excalidraw delete mode 100644 zextra_Funcs_/Chapters Aysinc working.py delete mode 100644 zextra_Funcs_/Original_gql_file.py delete mode 100644 zextra_Funcs_/Testcode.py delete mode 100644 zextra_Funcs_/__init__.py delete mode 100644 zextra_Funcs_/getChaptersCall.py delete mode 100644 zextra_Funcs_/just a test.py delete mode 100644 zextra_Funcs_/pops_index_of_spesified.py delete mode 100644 zextra_Funcs_/read_dld_file_length.py delete mode 100644 zextra_Funcs_/replace_0index_in_json.py delete mode 100644 zextra_Funcs_/requests tests.py delete mode 100644 zextra_Funcs_/tessettt.py diff --git a/newDownloadTool-exclaidraw.excalidraw b/newDownloadTool-exclaidraw.excalidraw deleted file mode 100644 index 66897d3..0000000 --- a/newDownloadTool-exclaidraw.excalidraw +++ /dev/null @@ -1,2118 +0,0 @@ -{ - "type": "excalidraw", - "version": 2, - "source": "https://excalidraw.com", - "elements": [ - { - "type": "arrow", - "version": 540, - "versionNonce": 665958812, - "isDeleted": false, - "id": "kyPGWIK76r88PY5EhxZ7K", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 0, - "opacity": 70, - "angle": 0, - "x": 898, - "y": 626.9527272727273, - "strokeColor": "#1e1e1e", - "backgroundColor": "#ffec99", - "width": 258, - "height": 700.0104832490294, - "seed": 344733339, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [], - "updated": 1697596952872, - "link": null, - "locked": false, - "startBinding": { - "elementId": "hGmwIQz-a7svP0GPSAx-C", - "focus": -1.247830791098288, - "gap": 18 - }, - "endBinding": { - "elementId": "VAHmHAHAkt4RCez-0E02v", - "focus": -0.12971700709996647, - "gap": 14.999999275200892 - }, - "lastCommittedPoint": null, - "startArrowhead": "dot", - "endArrowhead": "dot", - "points": [ - [ - 0, - 0 - ], - [ - -18, - 153.04727272727268 - ], - [ - -218, - 73.04727272727268 - ], - [ - -258, - -326.9527272727273 - ], - [ - -236.4638551503391, - -546.9632105217568 - ] - ] - }, - { - "type": "arrow", - "version": 805, - "versionNonce": 1097495291, - "isDeleted": false, - "id": "ADkfAo7I_Pg2nTFZcIf0L", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 800, - "y": 360, - "strokeColor": "#2f9e44", - "backgroundColor": "transparent", - "width": 98, - "height": 1.7391562323609833e-7, - "seed": 1846294123, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [], - "updated": 1697406730478, - "link": null, - "locked": false, - "startBinding": { - "elementId": "a_qkz1RazoNj4x4GHYcuH", - "focus": 0.20000000141971935, - "gap": 1 - }, - "endBinding": { - "elementId": "BI63yxluwgDrCofAXLFGq", - "focus": -0.1999999943211225, - "gap": 2 - }, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - 98, - -1.7391562323609833e-7 - ] - ] - }, - { - "type": "rectangle", - "version": 166, - "versionNonce": 921079349, - "isDeleted": false, - "id": "a_qkz1RazoNj4x4GHYcuH", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 700, - "y": 300, - "strokeColor": "#2f9e44", - "backgroundColor": "transparent", - "width": 100, - "height": 100, - "seed": 1558318091, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 3 - }, - "boundElements": [ - { - "type": "text", - "id": "uoNzqTArrCTIQOTPPts0u" - }, - { - "id": "ADkfAo7I_Pg2nTFZcIf0L", - "type": "arrow" - }, - { - "id": "yvjerw-gINE5xz59qkrrU", - "type": "arrow" - }, - { - "id": "jApY3ioJZBzv2dnmL5one", - "type": "arrow" - }, - { - "id": "FPNboEUhgNWbnRojpjQv9", - "type": "arrow" - } - ], - "updated": 1697406730478, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 154, - "versionNonce": 567675381, - "isDeleted": false, - "id": "uoNzqTArrCTIQOTPPts0u", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 715.75, - "y": 331.6, - "strokeColor": "#2f9e44", - "backgroundColor": "transparent", - "width": 68.5, - "height": 36.8, - "seed": 2143963845, - "groupIds": [], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1697406901133, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 2, - "text": "get list of \nstreams", - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "a_qkz1RazoNj4x4GHYcuH", - "originalText": "get list of streams", - "lineHeight": 1.15, - "baseline": 33 - }, - { - "type": "rectangle", - "version": 196, - "versionNonce": 935395221, - "isDeleted": false, - "id": "BI63yxluwgDrCofAXLFGq", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 900, - "y": 300, - "strokeColor": "#2f9e44", - "backgroundColor": "transparent", - "width": 100, - "height": 100, - "seed": 1524724837, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 3 - }, - "boundElements": [ - { - "type": "text", - "id": "GAUFU837V4r0IfkgUF4RU" - }, - { - "id": "ADkfAo7I_Pg2nTFZcIf0L", - "type": "arrow" - }, - { - "id": "STbHiOsSnRcgmasc2zAtb", - "type": "arrow" - } - ], - "updated": 1697406730478, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 200, - "versionNonce": 161075381, - "isDeleted": false, - "id": "GAUFU837V4r0IfkgUF4RU", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 918.875, - "y": 340.8, - "strokeColor": "#2f9e44", - "backgroundColor": "transparent", - "width": 62.25, - "height": 18.4, - "seed": 836739013, - "groupIds": [], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1697406902552, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 2, - "text": "set class", - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "BI63yxluwgDrCofAXLFGq", - "originalText": "set class", - "lineHeight": 1.15, - "baseline": 15 - }, - { - "type": "rectangle", - "version": 148, - "versionNonce": 184960245, - "isDeleted": false, - "id": "PIrQMh6TaPDjb14L7EvV6", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 300, - "y": 300, - "strokeColor": "#2f9e44", - "backgroundColor": "transparent", - "width": 100, - "height": 100, - "seed": 817476107, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 3 - }, - "boundElements": [ - { - "type": "text", - "id": "sezFtk9h0K6PDFR52tdAb" - }, - { - "id": "tZ0eDNj0fEiFXd-_DBEU9", - "type": "arrow" - } - ], - "updated": 1697406730478, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 187, - "versionNonce": 1126461659, - "isDeleted": false, - "id": "sezFtk9h0K6PDFR52tdAb", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 309.08164994893497, - "y": 322.4, - "strokeColor": "#2f9e44", - "backgroundColor": "transparent", - "width": 81.83670010213004, - "height": 55.199999999999996, - "seed": 174930091, - "groupIds": [], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1697406730478, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 2, - "text": "get ID\nof creator\n(username)", - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "PIrQMh6TaPDjb14L7EvV6", - "originalText": "get ID\nof creator\n(username)", - "lineHeight": 1.15, - "baseline": 52 - }, - { - "type": "rectangle", - "version": 210, - "versionNonce": 1144774229, - "isDeleted": false, - "id": "Z5ZhiZ27UbEx92YbEJsoG", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1100, - "y": 300, - "strokeColor": "#2f9e44", - "backgroundColor": "transparent", - "width": 100, - "height": 100, - "seed": 2090679813, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 3 - }, - "boundElements": [ - { - "id": "STbHiOsSnRcgmasc2zAtb", - "type": "arrow" - }, - { - "id": "YmTEF9kSNEjbCOxzQPmDG", - "type": "arrow" - }, - { - "type": "text", - "id": "ZYhPtsoi-cnWnIlRVJAUn" - }, - { - "id": "p7caH73nEGis-lgs5qYNx", - "type": "arrow" - }, - { - "id": "roqw8MYuXl8PRkF6FVHwc", - "type": "arrow" - }, - { - "id": "83kIM6Ct4mYOlUju-Bwit", - "type": "arrow" - } - ], - "updated": 1697406730478, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 43, - "versionNonce": 1319823221, - "isDeleted": false, - "id": "ZYhPtsoi-cnWnIlRVJAUn", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 1111.75, - "y": 331.6, - "strokeColor": "#2f9e44", - "backgroundColor": "transparent", - "width": 76.5, - "height": 36.8, - "seed": 1090625861, - "groupIds": [], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1697406904405, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 2, - "text": "Exports to \nJSON", - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "Z5ZhiZ27UbEx92YbEJsoG", - "originalText": "Exports to JSON", - "lineHeight": 1.15, - "baseline": 33 - }, - { - "type": "arrow", - "version": 892, - "versionNonce": 1782008757, - "isDeleted": false, - "id": "STbHiOsSnRcgmasc2zAtb", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 1000, - "y": 360, - "strokeColor": "#2f9e44", - "backgroundColor": "transparent", - "width": 98, - "height": 1.7391562323609833e-7, - "seed": 764578885, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [], - "updated": 1697406730478, - "link": null, - "locked": false, - "startBinding": { - "elementId": "BI63yxluwgDrCofAXLFGq", - "focus": 0.20000000141971935, - "gap": 1 - }, - "endBinding": { - "elementId": "Z5ZhiZ27UbEx92YbEJsoG", - "focus": -0.1999999943211225, - "gap": 2 - }, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - 98, - -1.7391562323609833e-7 - ] - ] - }, - { - "type": "rectangle", - "version": 170, - "versionNonce": 1887188507, - "isDeleted": false, - "id": "dR4qQ3PD_QLV0ryNkyKWd", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 500, - "y": 300, - "strokeColor": "#2f9e44", - "backgroundColor": "transparent", - "width": 100, - "height": 100, - "seed": 1013959429, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 3 - }, - "boundElements": [ - { - "id": "tZ0eDNj0fEiFXd-_DBEU9", - "type": "arrow" - }, - { - "type": "text", - "id": "x4mcTC8oZ0L62F-PO087U" - }, - { - "id": "yvjerw-gINE5xz59qkrrU", - "type": "arrow" - } - ], - "updated": 1697406730478, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 36, - "versionNonce": 220073237, - "isDeleted": false, - "id": "x4mcTC8oZ0L62F-PO087U", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 517.073086715165, - "y": 322.4, - "strokeColor": "#2f9e44", - "backgroundColor": "transparent", - "width": 65.85382656967008, - "height": 55.199999999999996, - "seed": 463639755, - "groupIds": [], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1697406730478, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 2, - "text": "get/send \nquery\ngql", - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "dR4qQ3PD_QLV0ryNkyKWd", - "originalText": "get/send query\ngql", - "lineHeight": 1.15, - "baseline": 52 - }, - { - "type": "arrow", - "version": 568, - "versionNonce": 1701100219, - "isDeleted": false, - "id": "tZ0eDNj0fEiFXd-_DBEU9", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 400, - "y": 360, - "strokeColor": "#2f9e44", - "backgroundColor": "transparent", - "width": 98, - "height": 1.7391562323609833e-7, - "seed": 145367653, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [], - "updated": 1697406730478, - "link": null, - "locked": false, - "startBinding": { - "elementId": "PIrQMh6TaPDjb14L7EvV6", - "focus": 0.20000000141971935, - "gap": 1 - }, - "endBinding": { - "elementId": "dR4qQ3PD_QLV0ryNkyKWd", - "focus": -0.1999999943211225, - "gap": 2 - }, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - 98, - -1.7391562323609833e-7 - ] - ] - }, - { - "type": "arrow", - "version": 15, - "versionNonce": 476422773, - "isDeleted": false, - "id": "yvjerw-gINE5xz59qkrrU", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 600, - "y": 360, - "strokeColor": "#2f9e44", - "backgroundColor": "transparent", - "width": 100, - "height": 0, - "seed": 1673172875, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [], - "updated": 1697406730478, - "link": null, - "locked": false, - "startBinding": { - "elementId": "dR4qQ3PD_QLV0ryNkyKWd", - "focus": 0.2, - "gap": 1 - }, - "endBinding": { - "elementId": "a_qkz1RazoNj4x4GHYcuH", - "focus": -0.2, - "gap": 1 - }, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - 100, - 0 - ] - ] - }, - { - "type": "rectangle", - "version": 207, - "versionNonce": 1150608616, - "isDeleted": false, - "id": "LOhtLU_Po1AEm9CBfp4u_", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 900, - "y": 400, - "strokeColor": "#e03131", - "backgroundColor": "#ffec99", - "width": 100, - "height": 102, - "seed": 63055499, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 3 - }, - "boundElements": [ - { - "id": "jApY3ioJZBzv2dnmL5one", - "type": "arrow" - }, - { - "type": "text", - "id": "zJybiJejRPv0zciaR-LSQ" - } - ], - "updated": 1697810239409, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 117, - "versionNonce": 1942567912, - "isDeleted": false, - "id": "zJybiJejRPv0zciaR-LSQ", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 920, - "y": 400, - "strokeColor": "#e03131", - "backgroundColor": "transparent", - "width": 70.25, - "height": 92, - "seed": 765058795, - "groupIds": [], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1697810239393, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 2, - "text": "Filter Out\nArchives \nvs \nHighlights\n?????", - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "LOhtLU_Po1AEm9CBfp4u_", - "originalText": "Filter Out\nArchives \nvs Highlights\n?????", - "lineHeight": 1.15, - "baseline": 88 - }, - { - "type": "arrow", - "version": 811, - "versionNonce": 1328774376, - "isDeleted": false, - "id": "jApY3ioJZBzv2dnmL5one", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 801, - "y": 374.45744019059214, - "strokeColor": "#e03131", - "backgroundColor": "transparent", - "width": 97, - "height": 87.98260951851927, - "seed": 1030954283, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [], - "updated": 1697810239460, - "link": null, - "locked": false, - "startBinding": { - "elementId": "a_qkz1RazoNj4x4GHYcuH", - "focus": -0.22863390520653276, - "gap": 1 - }, - "endBinding": { - "elementId": "LOhtLU_Po1AEm9CBfp4u_", - "focus": -0.6082496420727088, - "gap": 2 - }, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - 97, - 87.98260951851927 - ] - ] - }, - { - "type": "ellipse", - "version": 30, - "versionNonce": 1005067934, - "isDeleted": false, - "id": "glph8WlRikVqUqFhZRt_6", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 10, - "angle": 0, - "x": 900, - "y": 200, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 100, - "height": 100, - "seed": 2082260875, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [ - { - "type": "text", - "id": "EKPOew2cGxac7Cj9upaGd" - } - ], - "updated": 1697787552077, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 35, - "versionNonce": 1831150146, - "isDeleted": false, - "id": "EKPOew2cGxac7Cj9upaGd", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 10, - "angle": 0, - "x": 923.3342550270359, - "y": 219.64466094067262, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 53.62081182727338, - "height": 55.199999999999996, - "seed": 1887391019, - "groupIds": [], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1697787552077, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 2, - "text": "filters \nout \n%@#%", - "textAlign": "center", - "verticalAlign": "top", - "containerId": "glph8WlRikVqUqFhZRt_6", - "originalText": "filters out %@#%", - "lineHeight": 1.15, - "baseline": 52 - }, - { - "type": "rectangle", - "version": 242, - "versionNonce": 2062191900, - "isDeleted": false, - "id": "Ee21b_fzlWn-59X2VHcz0", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 30, - "angle": 0, - "x": 1300, - "y": 560, - "strokeColor": "#e03131", - "backgroundColor": "transparent", - "width": 100, - "height": 100, - "seed": 1809435307, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 3 - }, - "boundElements": [ - { - "id": "YmTEF9kSNEjbCOxzQPmDG", - "type": "arrow" - }, - { - "type": "text", - "id": "KyXyzpw95hjd2wZgk2gAW" - } - ], - "updated": 1697596987081, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 119, - "versionNonce": 1094137124, - "isDeleted": false, - "id": "KyXyzpw95hjd2wZgk2gAW", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 30, - "angle": 0, - "x": 1306.8524662263972, - "y": 573.2, - "strokeColor": "#e03131", - "backgroundColor": "transparent", - "width": 86.29506754720585, - "height": 73.6, - "seed": 229912491, - "groupIds": [], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1697596988094, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 2, - "text": "insert if \ndownloaded\ncheck in \njson???", - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "Ee21b_fzlWn-59X2VHcz0", - "originalText": "insert if downloaded \ncheck in json???", - "lineHeight": 1.15, - "baseline": 70 - }, - { - "type": "arrow", - "version": 1124, - "versionNonce": 2045609054, - "isDeleted": false, - "id": "YmTEF9kSNEjbCOxzQPmDG", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 30, - "angle": 0, - "x": 1171.5384608362697, - "y": 401, - "strokeColor": "#e03131", - "backgroundColor": "transparent", - "width": 126.46153916373032, - "height": 164.39999973733677, - "seed": 1732328779, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [], - "updated": 1697787574793, - "link": null, - "locked": false, - "startBinding": { - "elementId": "Z5ZhiZ27UbEx92YbEJsoG", - "gap": 1, - "focus": 0.20000000141971935 - }, - "endBinding": { - "elementId": "Ee21b_fzlWn-59X2VHcz0", - "gap": 2, - "focus": -0.1999999943211225 - }, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - 126.46153916373032, - 164.39999973733677 - ] - ] - }, - { - "type": "rectangle", - "version": 210, - "versionNonce": 1079092699, - "isDeleted": false, - "id": "cI4uwia4E3DTUqKzwPHkh", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1300, - "y": 300, - "strokeColor": "#2f9e44", - "backgroundColor": "transparent", - "width": 100, - "height": 100, - "seed": 1036425643, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 3 - }, - "boundElements": [ - { - "id": "p7caH73nEGis-lgs5qYNx", - "type": "arrow" - } - ], - "updated": 1697406730478, - "link": null, - "locked": false - }, - { - "type": "arrow", - "version": 906, - "versionNonce": 1667791189, - "isDeleted": false, - "id": "p7caH73nEGis-lgs5qYNx", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 1200, - "y": 360, - "strokeColor": "#2f9e44", - "backgroundColor": "transparent", - "width": 98, - "height": 1.7391562323609833e-7, - "seed": 549203019, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [], - "updated": 1697406730478, - "link": null, - "locked": false, - "startBinding": { - "elementId": "Z5ZhiZ27UbEx92YbEJsoG", - "focus": 0.20000000141971935, - "gap": 1 - }, - "endBinding": { - "elementId": "cI4uwia4E3DTUqKzwPHkh", - "focus": -0.1999999943211225, - "gap": 2 - }, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - 98, - -1.7391562323609833e-7 - ] - ] - }, - { - "type": "rectangle", - "version": 245, - "versionNonce": 1320480670, - "isDeleted": false, - "id": "qwP9-edB4wuVsXXoSoipA", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 20, - "angle": 0, - "x": 1500, - "y": 100, - "strokeColor": "#e03131", - "backgroundColor": "transparent", - "width": 100, - "height": 100, - "seed": 2106543461, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 3 - }, - "boundElements": [ - { - "id": "roqw8MYuXl8PRkF6FVHwc", - "type": "arrow" - }, - { - "type": "text", - "id": "BgJVH37LcKWoZmGfUs0DX" - } - ], - "updated": 1697787561951, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 99, - "versionNonce": 1460265282, - "isDeleted": false, - "id": "BgJVH37LcKWoZmGfUs0DX", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 20, - "angle": 0, - "x": 1511.75, - "y": 122.4, - "strokeColor": "#e03131", - "backgroundColor": "transparent", - "width": 76.5, - "height": 55.199999999999996, - "seed": 1926159947, - "groupIds": [], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1697787561951, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 2, - "text": "download \nset index/s\n", - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "qwP9-edB4wuVsXXoSoipA", - "originalText": "download set index/s\n", - "lineHeight": 1.15, - "baseline": 52 - }, - { - "type": "arrow", - "version": 1380, - "versionNonce": 1609649118, - "isDeleted": false, - "id": "roqw8MYuXl8PRkF6FVHwc", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 20, - "angle": 0, - "x": 1380, - "y": 160, - "strokeColor": "#e03131", - "backgroundColor": "transparent", - "width": 120, - "height": 0, - "seed": 1399478469, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [], - "updated": 1697787561951, - "link": null, - "locked": false, - "startBinding": { - "elementId": "FMCX3AwK8Y4iNO4U9JEBf", - "focus": 0.2, - "gap": 1 - }, - "endBinding": { - "elementId": "qwP9-edB4wuVsXXoSoipA", - "focus": -0.2, - "gap": 1 - }, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - 120, - 0 - ] - ] - }, - { - "type": "rectangle", - "version": 286, - "versionNonce": 1700270500, - "isDeleted": false, - "id": "hGmwIQz-a7svP0GPSAx-C", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 20, - "angle": 0, - "x": 780, - "y": 560, - "strokeColor": "#e03131", - "backgroundColor": "#ffc9c9", - "width": 100, - "height": 102, - "seed": 392435819, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 3 - }, - "boundElements": [ - { - "id": "FPNboEUhgNWbnRojpjQv9", - "type": "arrow" - }, - { - "type": "text", - "id": "qiPhLeeohrvmSaEGW822C" - }, - { - "id": "kyPGWIK76r88PY5EhxZ7K", - "type": "arrow" - } - ], - "updated": 1697596962922, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 240, - "versionNonce": 1142178852, - "isDeleted": false, - "id": "qiPhLeeohrvmSaEGW822C", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 20, - "angle": 0, - "x": 786.4146727521602, - "y": 565, - "strokeColor": "#e03131", - "backgroundColor": "transparent", - "width": 87.17065449567954, - "height": 92, - "seed": 1337709323, - "groupIds": [], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1697596964988, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 2, - "text": "Check just \nlast stream \nto see if a \nnew stream \nhas been", - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "hGmwIQz-a7svP0GPSAx-C", - "originalText": "Check just last stream to see if a new stream has been", - "lineHeight": 1.15, - "baseline": 88 - }, - { - "type": "arrow", - "version": 1262, - "versionNonce": 282302530, - "isDeleted": false, - "id": "FPNboEUhgNWbnRojpjQv9", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 20, - "angle": 0, - "x": 735.0084655287711, - "y": 401.00000000000006, - "strokeColor": "#e03131", - "backgroundColor": "transparent", - "width": 43.50520536796182, - "height": 157.66178260481314, - "seed": 646134187, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [], - "updated": 1697787578352, - "link": null, - "locked": false, - "startBinding": { - "elementId": "a_qkz1RazoNj4x4GHYcuH", - "focus": 0.4556448531787256, - "gap": 1 - }, - "endBinding": { - "elementId": "hGmwIQz-a7svP0GPSAx-C", - "focus": -0.5781553743123582, - "gap": 1.9999999999997726 - }, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - 43.50520536796182, - 157.66178260481314 - ] - ] - }, - { - "type": "ellipse", - "version": 140, - "versionNonce": 2025853781, - "isDeleted": false, - "id": "aEttoF0O5NJx0HwHDmWAL", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 800, - "y": -120, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 200.00000000000003, - "height": 160, - "seed": 1753915125, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [ - { - "type": "text", - "id": "4Vaku7yENkd-adL8sJTFM" - } - ], - "updated": 1697407200454, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 293, - "versionNonce": 1248649397, - "isDeleted": false, - "id": "4Vaku7yENkd-adL8sJTFM", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 840, - "y": -60, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 121.98380225728626, - "height": 57.599999999999994, - "seed": 864122741, - "groupIds": [], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1697407200454, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 3, - "text": "downlaod with\nstreamlink or\ngql stream?", - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "aEttoF0O5NJx0HwHDmWAL", - "originalText": "downlaod with streamlink or gql stream?", - "lineHeight": 1.2, - "baseline": 55 - }, - { - "type": "ellipse", - "version": 180, - "versionNonce": 306273256, - "isDeleted": false, - "id": "VAHmHAHAkt4RCez-0E02v", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 560, - "y": -140, - "strokeColor": "#e03131", - "backgroundColor": "#ffc9c9", - "width": 200.00000000000003, - "height": 205, - "seed": 1415229653, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [ - { - "type": "text", - "id": "Ob5TMS-wonMCOGgY4MCok" - }, - { - "id": "kyPGWIK76r88PY5EhxZ7K", - "type": "arrow" - } - ], - "updated": 1697810222051, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 440, - "versionNonce": 1694021864, - "isDeleted": false, - "id": "Ob5TMS-wonMCOGgY4MCok", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 600, - "y": -100, - "strokeColor": "#e03131", - "backgroundColor": "transparent", - "width": 121.98380225728626, - "height": 134.4, - "seed": 948253435, - "groupIds": [], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1697810220848, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 3, - "text": "be ablbe to \ncheck if last\nstream == \ncurrent json \n[0] or if \nstatus is \nRECORDING", - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "VAHmHAHAkt4RCez-0E02v", - "originalText": "be ablbe to check if last stream == current json [0] or if status is RECORDING", - "lineHeight": 1.2, - "baseline": 131 - }, - { - "type": "rectangle", - "version": 239, - "versionNonce": 1266706690, - "isDeleted": false, - "id": "FMCX3AwK8Y4iNO4U9JEBf", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 20, - "angle": 0, - "x": 1280, - "y": 100, - "strokeColor": "#e03131", - "backgroundColor": "transparent", - "width": 100, - "height": 100, - "seed": 1643242747, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 3 - }, - "boundElements": [ - { - "id": "83kIM6Ct4mYOlUju-Bwit", - "type": "arrow" - }, - { - "type": "text", - "id": "ghbirsAF2Sn3FUzeij7cE" - }, - { - "id": "roqw8MYuXl8PRkF6FVHwc", - "type": "arrow" - } - ], - "updated": 1697787561951, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 136, - "versionNonce": 2044207134, - "isDeleted": false, - "id": "ghbirsAF2Sn3FUzeij7cE", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 20, - "angle": 0, - "x": 1285.0725506312913, - "y": 122.4, - "strokeColor": "#e03131", - "backgroundColor": "transparent", - "width": 89.85489873741751, - "height": 55.199999999999996, - "seed": 1040289179, - "groupIds": [], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1697787561951, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 2, - "text": "Read From \njson what to \ndownload", - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "FMCX3AwK8Y4iNO4U9JEBf", - "originalText": "Read From json what to download", - "lineHeight": 1.15, - "baseline": 52 - }, - { - "type": "arrow", - "version": 1137, - "versionNonce": 1196423362, - "isDeleted": false, - "id": "83kIM6Ct4mYOlUju-Bwit", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 20, - "angle": 0, - "x": 1148.1306114929785, - "y": 299, - "strokeColor": "#e03131", - "backgroundColor": "transparent", - "width": 118.47349659499923, - "height": 96.06202237304129, - "seed": 391324219, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [], - "updated": 1697787561951, - "link": null, - "locked": false, - "startBinding": { - "elementId": "Z5ZhiZ27UbEx92YbEJsoG", - "focus": -0.5801825286732619, - "gap": 1 - }, - "endBinding": { - "elementId": "FMCX3AwK8Y4iNO4U9JEBf", - "focus": -0.01694914910096106, - "gap": 13.714285714359676 - }, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - 118.47349659499923, - -96.06202237304129 - ] - ] - }, - { - "type": "ellipse", - "version": 53, - "versionNonce": 1354784309, - "isDeleted": false, - "id": "qSSKbiVA4FH6b4yDHvveq", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 1020, - "y": -140, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 240, - "height": 192, - "seed": 1884498837, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [ - { - "type": "text", - "id": "uKWUfmDQptwozO4_v2BfQ" - } - ], - "updated": 1697407200455, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 226, - "versionNonce": 367054741, - "isDeleted": false, - "id": "uKWUfmDQptwozO4_v2BfQ", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 1060, - "y": -80, - "strokeColor": "#1e1e1e", - "backgroundColor": "#ffec99", - "width": 159.5155197964245, - "height": 76.8, - "seed": 1402662677, - "groupIds": [], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1697407200455, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 3, - "text": "make not just for\nme but if mass \nstorage to yt is \nwanted", - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "qSSKbiVA4FH6b4yDHvveq", - "originalText": "make not just for me but if mass storage to yt is wanted", - "lineHeight": 1.2, - "baseline": 74 - }, - { - "type": "ellipse", - "version": 17, - "versionNonce": 360853250, - "isDeleted": false, - "id": "MLT0DcoUtZKHMoUF4m4ce", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 10, - "angle": 0, - "x": 1300, - "y": -120, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 280, - "height": 180, - "seed": 1403031989, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [ - { - "type": "text", - "id": "Y4MeQphnRfz4uS_W3lO9c" - } - ], - "updated": 1697787612317, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 8, - "versionNonce": 507361822, - "isDeleted": false, - "id": "Y4MeQphnRfz4uS_W3lO9c", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 10, - "angle": 0, - "x": 1346.169576854397, - "y": -78.13961030678928, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 187.6709475589728, - "height": 96, - "seed": 1258221787, - "groupIds": [], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1697787612317, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 3, - "text": "be able to run daily\n and get all new not\njust 1 last streams \ninplcae of needing \nwebsite", - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "MLT0DcoUtZKHMoUF4m4ce", - "originalText": "be able to run daily and get all new not just 1 last streams inplcae of needing website", - "lineHeight": 1.2, - "baseline": 93 - }, - { - "type": "ellipse", - "version": 13, - "versionNonce": 1514573153, - "isDeleted": false, - "id": "-kwdiiP9V2H7h51kF8eyx", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 1660, - "y": -120, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 240, - "height": 178, - "seed": 1482828367, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [ - { - "type": "text", - "id": "jeAsfWzkX92wuL8oUzzZ4" - } - ], - "updated": 1697493741150, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 97, - "versionNonce": 466246753, - "isDeleted": false, - "id": "jeAsfWzkX92wuL8oUzzZ4", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 1700.3879356022367, - "y": -88.53250352560272, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 159.51850131075523, - "height": 115.19999999999999, - "seed": 1233983919, - "groupIds": [], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1697493793158, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 3, - "text": "integrate new \ndloader and \nstreamlink \ndloader\nwith the channel \njsons????", - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "-kwdiiP9V2H7h51kF8eyx", - "originalText": "integrate new dloader and streamlink dloader\nwith the channel jsons????", - "lineHeight": 1.2, - "baseline": 112 - }, - { - "type": "ellipse", - "version": 36, - "versionNonce": 232115887, - "isDeleted": false, - "id": "FryUaz2llgUwNT9Z1yl1c", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 1940, - "y": -120, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 200, - "height": 180, - "seed": 451164239, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [ - { - "type": "text", - "id": "XNPdbxhQUZkMBYkmwOHwp" - } - ], - "updated": 1697494046956, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 69, - "versionNonce": 856389409, - "isDeleted": false, - "id": "XNPdbxhQUZkMBYkmwOHwp", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 1978.798689599237, - "y": -87.73961030678927, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 121.98126456421636, - "height": 115.19999999999999, - "seed": 308485089, - "groupIds": [], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1697494081292, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 3, - "text": "have ol₫ \ndloader have \ninq optionsto\npull frrom \njsons??\n", - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "FryUaz2llgUwNT9Z1yl1c", - "originalText": "have ol₫ dloader have inq optionsto pull frrom jsons??\n", - "lineHeight": 1.2, - "baseline": 112 - }, - { - "type": "ellipse", - "version": 134, - "versionNonce": 1805980824, - "isDeleted": false, - "id": "s7llQesX7gY0muJK9XplX", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 300, - "y": -160, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 220, - "height": 205, - "seed": 659082728, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [ - { - "type": "text", - "id": "Lu6Hyq9PR_lECeEj1-Cje" - } - ], - "updated": 1697810159285, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 236, - "versionNonce": 837446888, - "isDeleted": false, - "id": "Lu6Hyq9PR_lECeEj1-Cje", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 339.84325406947977, - "y": -124.67844507162113, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 140.75, - "height": 134.4, - "seed": 2016597992, - "groupIds": [], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1697810161284, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 3, - "text": "get a way to \nfigure out if \nfull Vods been \ndownloaded and \nset downloaded \nto False in \njson", - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "s7llQesX7gY0muJK9XplX", - "originalText": "get a way to figure out if full Vods been downloaded and set downloaded to False in json", - "lineHeight": 1.2, - "baseline": 131 - }, - { - "type": "ellipse", - "version": 20, - "versionNonce": 985367854, - "isDeleted": false, - "id": "5KvwcOTt4Utr7Hp3k_LsV", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 280, - "y": 80, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 160, - "height": 160, - "seed": 733677042, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "boundElements": [ - { - "type": "text", - "id": "NDHYFtzWtYf1suyV2eUb9" - } - ], - "updated": 1698010752320, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 57, - "versionNonce": 446704622, - "isDeleted": false, - "id": "NDHYFtzWtYf1suyV2eUb9", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 320, - "y": 120, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "width": 93.83724126593184, - "height": 76.8, - "seed": 419601390, - "groupIds": [], - "frameId": null, - "roundness": null, - "boundElements": [], - "updated": 1698010752671, - "link": null, - "locked": false, - "fontSize": 16, - "fontFamily": 3, - "text": "be able to\njsut gest \nlast tream\nto DL??", - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "5KvwcOTt4Utr7Hp3k_LsV", - "originalText": "be able to jsut gest last tream to DL??", - "lineHeight": 1.2, - "baseline": 74 - }, - { - "id": "JiQ1-7jJPXlacU1Vv9AiM", - "type": "ellipse", - "x": -60, - "y": -220, - "width": 340, - "height": 314, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 2 - }, - "seed": 1914136988, - "version": 83, - "versionNonce": 631975452, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "m7yt-1PXqffGhIHQwPCOX" - } - ], - "updated": 1699068480811, - "link": null, - "locked": false - }, - { - "id": "m7yt-1PXqffGhIHQwPCOX", - "type": "text", - "x": -2.8101427820367917, - "y": -111.01576464628798, - "width": 225.2039799606472, - "height": 96, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "groupIds": [], - "frameId": null, - "roundness": null, - "seed": 370480284, - "version": 218, - "versionNonce": 349637276, - "isDeleted": false, - "boundElements": null, - "updated": 1699068480811, - "link": null, - "locked": false, - "text": "make a way to figure out\na way to see if download\nhas Completeed 100%.\nmaybe find orig size \nthen compare??", - "fontSize": 16, - "fontFamily": 3, - "textAlign": "center", - "verticalAlign": "middle", - "baseline": 92, - "containerId": "JiQ1-7jJPXlacU1Vv9AiM", - "originalText": "make a way to figure out a way to see if download has Completeed 100%.\nmaybe find orig size then compare??", - "lineHeight": 1.2 - } - ], - "appState": { - "gridSize": 20, - "viewBackgroundColor": "#f5faff" - }, - "files": {} -} \ No newline at end of file diff --git a/zextra_Funcs_/Chapters Aysinc working.py b/zextra_Funcs_/Chapters Aysinc working.py deleted file mode 100644 index fddcd96..0000000 --- a/zextra_Funcs_/Chapters Aysinc working.py +++ /dev/null @@ -1,98 +0,0 @@ -# async with GQL things is working for chapters. needs gql main call vars to work properly - -import json - -import httpx - -gql_client: str = "kd1unb4b3q4t58fwlpcbzcbnm76a8fp" -GQL_URL = "https://gql.twitch.tv/gql" -GQL_HEADERS = {"Client-ID": ""} - - -class GQLException(Exception): - pass - - -class GQLItemError(Exception): - pass - - -# We use Twitch's private client ID for GQL calls -def set_client_id(client_id: str): - global GQL_HEADERS - GQL_HEADERS["Client-ID"] = client_id - - -def _process_query_errors(resp): - j = resp.json() - if 400 <= resp.status_code < 500 or "errors" in j: - raise GQLException(j) - - -def gql_post(json=None, data=None): - global GQL_URL, GQL_HEADERS - resp = httpx.post(GQL_URL, json=json, data=data, headers=GQL_HEADERS) - _process_query_errors(resp) - return resp - - -def gql_query(query=None, data=None): - return gql_post(json={"query": query}, data=data) - - -# VOD chapters query -GET_VIDEO_CHAPTERS = """{{ -video(id: {id}) {{ - moments(first:100, momentRequestType: VIDEO_CHAPTER_MARKERS, after: {after}) {{ - edges {{ cursor node {{ - description type positionMilliseconds durationMilliseconds -}} }} }} }} }} -""" - -chapter_page = 'null' -with open('C:/Users/970EVO-Gamer/AppData/Local/Stream-Downloader-Util/jsons/deadlyslob.json', 'r') as f: - data = json.load(f) - -chapters = [] -gql_queries = [] -for index, items in enumerate(data): - - query = GET_VIDEO_CHAPTERS.format( - id=items.get('id'), after=chapter_page - ) - gql_queries.append((index, query)) - - -import asyncio - -import httpx - -semaphore = asyncio.Semaphore(10) # Funky outcomes sometimes 10,50,100 all error. - -async def fetch(GQL_URL, gql_query, GQL_HEADERS): - async with semaphore: - async with httpx.AsyncClient() as client: - response = await client.post(GQL_URL, json={"query": gql_query[1]}, headers=GQL_HEADERS) - _process_query_errors(response) - return gql_query[0], response.json() # Return the pairing object with the response - -async def fetch_all(GQL_URL, queries, GQL_HEADERS): - tasks = [fetch(GQL_URL, gql_query, GQL_HEADERS) for gql_query in queries] - results = await asyncio.gather(*tasks) - return dict(results) - - - -# Fetch all responses -responses = asyncio.run(fetch_all(GQL_URL, gql_queries, GQL_HEADERS)) - -chapter_list = [] -# Print the responses -for index, response in responses.items(): - video = response.get('data', {}).get('video') - if video is not None: - edges = video.get('moments', {}).get('edges') - if edges is not None and len(edges) > 0: # Check if edges is not an empty list - chapter_list.append((index, response)) - -print(chapter_list) \ No newline at end of file diff --git a/zextra_Funcs_/Original_gql_file.py b/zextra_Funcs_/Original_gql_file.py deleted file mode 100644 index fdfa38a..0000000 --- a/zextra_Funcs_/Original_gql_file.py +++ /dev/null @@ -1,274 +0,0 @@ - - -import json -import os -import pprint - -import requests - -gql_client: str = "kd1unb4b3q4t58fwlpcbzcbnm76a8fp" -GQL_URL = "https://gql.twitch.tv/gql" -GQL_HEADERS = {"Client-ID": ""} - -class GQLException(Exception): - pass - - -class GQLItemError(Exception): - pass - -# We use Twitch's private client ID for GQL calls -def set_client_id(client_id: str): - global GQL_HEADERS - GQL_HEADERS["Client-ID"] = client_id - - -def _process_query_errors(resp): - j = resp.json() - if 400 <= resp.status_code < 500 or "errors" in j: - raise GQLException(j) - - -def gql_post(json=None, data=None): - global GQL_URL, GQL_HEADERS - resp = requests.post(GQL_URL, json=json, data=data, headers=GQL_HEADERS) - _process_query_errors(resp) - return resp - - -def gql_query(query=None, data=None): - return gql_post(json={"query":query}, data=data) - -# GQL Query forms -# Channel VODs query -GET_CHANNEL_VIDEOS_QUERY = """ -{{ user(login: "{channel_id}") {{ - videos( first: {first}, sort: {sort}, after: {after} ) {{ - totalCount - edges {{ cursor - node {{ - id title publishedAt broadcastType status lengthSeconds viewCount - game {{ id name }} - creator {{ id login displayName }} -}} }} }} }} }} -""" - -VIDEO_ACCESS_QUERY = """ -{{ videoPlaybackAccessToken( - id: {video_id}, - params: {{ platform:"web", playerBackend:"mediaplayer", playerType:"site" }} - ) {{ signature value }} -}} -""" - -# Single Channel info query -GET_CHANNEL_QUERY = """ -{{ user(login: "{channel_id}") {{ - id login displayName - description createdAt - roles {{ isAffiliate isPartner }} - stream {{ - id title type viewersCount createdAt game {{ id name }} -}} }} }} -""" - -# VOD chapters query -GET_VIDEO_CHAPTERS = """{{ -video(id: {id}) {{ - moments(first:100, momentRequestType: VIDEO_CHAPTER_MARKERS, after: {after}) {{ - edges {{ cursor node {{ - description type positionMilliseconds durationMilliseconds -}} }} }} }} }} -""" - -set_client_id(gql_client) - -streamer_user_name = 'workthespace' - - -# get videos of multiple types -# past streams = ARCHIVE, segment of stream = HIGHLIGHT, upload = UPLOAD, premiere = PAST_PREMIERE - - -# Sort by View Count -# query = GET_CHANNEL_VIDEOS_QUERY.format( -# channel_id=user_id, -# after=pagination, first=100, -# sort="VIEWS" -# ) - -def query_channel_vods( - streamer_user_name: str, - num_of_streams: int=100, - sort_by: str="TIME" - ): - """ - Args: - streamer_user_name (str): User Name of the streamer. - num_of_streams (int, optional): MAX No. of VODs returned - . Defaults to 100. - sort_by (CAPstr, optional): TIME/VIEWS/TRENDING. Defaults to "TIME". - - - Returns: - GQL Map: dict of streams info - """ - pagination = "null" - - query = GET_CHANNEL_VIDEOS_QUERY.format( - channel_id=streamer_user_name, - after=pagination, first=num_of_streams, - sort=sort_by - ) - return query - -# gets last Vod. -# query = GET_CHANNEL_VIDEOS_QUERY.format( -# channel_id=user_id, -# after=pagination, first=1, -# sort="TIME" -# ) - - -query = query_channel_vods(streamer_user_name, 100, "TIME") -resp = gql_query(query=query).json() - -# for item in resp: -# print(item['1']) - - -# pprint.pprint(resp) - -# # Loop over the dictionaries in the list -# for item in resp: -# # Get the 'title' field -# title = item['title'] - -# # Filter out non-alphabet characters from the title -# filtered_title = ''.join(c for c in title if c.isalpha() or c.isspace()) - -# # Replace the 'title' field with the filtered title -# item['title'] = filtered_title - - - - - -class Vod: - """Creates a Vod Class instance - """ - def __init__(self, node): - self.creatorId = node['creator']['id'] - self.login = node['creator']['login'] - self.displayName = node['creator']['displayName'] - self.id = node['id'] - self.title = node['title'] - self.publishedAt = node['publishedAt'] - self.broadcastType = node['broadcastType'] - self.status = node['status'] - self.lengthSeconds = node['lengthSeconds'] - self.viewCount = node['viewCount'] - if node.get('game'): # Check if 'game' exists in the node and is not None - self.gameId = node['game']['id'] - self.gameName = node['game']['name'] - else: - self.gameId = "N/A" - self.gameName = "N/A" - self.url = f"https://www.twitch.tv/videos/{self.id}" - self.not_downloaded = True - - def __repr__(self): - # ID by STREAMER at DATETIME, LENGTH vodbot description - return f"Vod({self.id}, {self.login}, {self.broadcastType}, {self.status}, {self.publishedAt}, {self.lengthSeconds}s, {self.title})" - - -# for loops that 1 filter out ineligible characters in 'title' then creates vod instance/s. -vods = [Vod({**edge['node'], 'title': ''.join(c for c in edge['node']['title'] if c.isalnum() or c.isspace())}) for edge in resp['data']['user']['videos']['edges']] - - -file_path = fr'jsons/{streamer_user_name}.json' - -# Convert Vod instances to dictionaries -vods_dict = [vars(vod) for vod in vods] - -file_check_path = os.path.exists(file_path) - - - - -first_dict_check = vods_dict[0] -first_gql_index_id = first_dict_check['id'] -gql_status_check = first_dict_check['status'] -print(first_gql_index_id) - - -# Writing to json. -if file_check_path: - with open(file_path, 'r') as f: - json_dicts = json.load(f) - - # vars for the if checks. - first_json_dict = json_dicts[0] - first_json_index_id = first_json_dict['id'] - - if first_gql_index_id != first_json_index_id: - new_dict = first_dict_check - json_dicts.insert(0, new_dict) - json_dicts.pop(-1) # Deletes Last entry. - with open(file_path, 'w') as f: - json.dump(json_dicts, f, indent=4) - - -if not file_check_path: - with open(file_path, 'w') as json_file: - json.dump(vods_dict, json_file, indent=4) - -# Now you can print each Vod instance -for vod in vods: - print(vod) - -# # And you can find out how many there are -# # print(len(vods)) - - - - - - - -# # # d = str(resp) -# # # dd = d.split("{\'cursor\'") -# # with open(file_path, 'w') as json_file: -# # json.dump(vods, json_file, indent=4) - - -class Vod: - """Creates a Vod Class instance - """ - def __init__(self, node): - self.creatorId = node['creator']['id'] - self.login = node['creator']['login'] - self.displayName = node['creator']['displayName'] - self.id = node['id'] - self.title = node['title'] - self.publishedAt = node['publishedAt'] - self.broadcastType = node['broadcastType'] - self.status = node['status'] - self.lengthSeconds = node['lengthSeconds'] - self.viewCount = node['viewCount'] - if node.get('game'): # Check if 'game' exists in the node and is not None - self.gameId = node['game']['id'] - self.gameName = node['game']['name'] - else: - self.gameId = "N/A" - self.gameName = "N/A" - self.url = f"https://www.twitch.tv/videos/{self.id}" - self.not_downloaded = True - - def __repr__(self): - # ID by STREAMER at DATETIME, LENGTH vodbot description - return f"Vod({self.id}, {self.login}, {self.broadcastType}, {self.status}, {self.publishedAt}, {self.lengthSeconds}s, {self.title})" - - -# # INIT- for loops that 1 filter out ineligible characters in 'title' then creates vod instance/s. -# vods = [Vod({**edge['node'], 'title': ''.join(c for c in edge['node']['title'] if c.isalnum() or c.isspace())}) for edge in resp['data']['user']['videos']['edges']] diff --git a/zextra_Funcs_/Testcode.py b/zextra_Funcs_/Testcode.py deleted file mode 100644 index cb0e8ba..0000000 --- a/zextra_Funcs_/Testcode.py +++ /dev/null @@ -1,4 +0,0 @@ -import json -with open(r'C:\Users\970EVO-Gamer\AppData\Local\Stream-Downloader-Util\download_links.txt', "r") as r: - hll = json.load(r) -print(hll['_Version']) \ No newline at end of file diff --git a/zextra_Funcs_/__init__.py b/zextra_Funcs_/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/zextra_Funcs_/getChaptersCall.py b/zextra_Funcs_/getChaptersCall.py deleted file mode 100644 index ddd1053..0000000 --- a/zextra_Funcs_/getChaptersCall.py +++ /dev/null @@ -1,14 +0,0 @@ -'''chapters = [] -for index, items in enumerate(data): - - query = GET_VIDEO_CHAPTERS.format( - id=items.get('id'), after=chapter_page - ) - resp = gql_query(query=query).json() - - # if not resp["data"]["video"]: - # raise GQLItemError(f"Failed to find moments for video `{v['id']}`.") - - resp = resp["data"]["video"]["moments"] - chapters.append((index, resp)) -''' \ No newline at end of file diff --git a/zextra_Funcs_/just a test.py b/zextra_Funcs_/just a test.py deleted file mode 100644 index e69de29..0000000 diff --git a/zextra_Funcs_/pops_index_of_spesified.py b/zextra_Funcs_/pops_index_of_spesified.py deleted file mode 100644 index 22ba17c..0000000 --- a/zextra_Funcs_/pops_index_of_spesified.py +++ /dev/null @@ -1,39 +0,0 @@ -import json - -import pretty_errors - -id = "jsons/deadlyslob" - -file_path = rf"{id}.json" - -with open(file_path, "r") as f: - data = json.load(f) - -ids = [(vod["url"], vod["publishedAt"], vod["gameName"], vod["title"]) for vod in data] - -for id in ids: - print(id) - - -target_id = "RECORDING" - -# Loop over the dictionaries in the list -for i, d in enumerate(data): - # If the 'id' field of the dictionary is the target ID, print the index and break the loop - if d["id"] == target_id: - print(f"The target ID is at index {i} in the list.") - # data.pop(i) - # data.insert(i, {"hello world!": "world"}) - # with open(file_path, 'w') as f: - # json.dump(data, f, indent=4) - break - - -# Idents index of list via the 'status' within dicts. -# Loop over the dictionaries in the list -for i, d in enumerate(data): - # If the 'id' field of the dictionary is the target ID, print the index and break the loop - if d["status"] == target_id: - print(f"The target ID is at index {i} in the list.") - print(data[i]) - break diff --git a/zextra_Funcs_/read_dld_file_length.py b/zextra_Funcs_/read_dld_file_length.py deleted file mode 100644 index 2feb129..0000000 --- a/zextra_Funcs_/read_dld_file_length.py +++ /dev/null @@ -1,10 +0,0 @@ -def read_dld_vod_filelength(): - dload_predicted_size = '' - dld_filepath = r'E:\DeleteStreams\FFMPEG__re-Muxed\Kotton - 18-11-2023 Selling Base Today Archonexus pt 2 500 BrutalCassandra mods RimWorld.mp4' - slinkDir = 'C:/ffmpeg/' - string = f'ffprobe -i "{dld_filepath}" -v quiet -show_entries format=duration -of default=noprint_wrappers=1:nokey=1' - dld_vid_size = subprocess.Popen(string, stdout=subprocess.PIPE, text=True, cwd=slinkDir) - out_pt = dld_vid_size.stdout.read() - # print(str(out_pt.strip()).split("'")[1]) - print(int(float(out_pt))) - print(utill.decode_seconds_to_hms(int(float(out_pt)))) \ No newline at end of file diff --git a/zextra_Funcs_/replace_0index_in_json.py b/zextra_Funcs_/replace_0index_in_json.py deleted file mode 100644 index e2ce581..0000000 --- a/zextra_Funcs_/replace_0index_in_json.py +++ /dev/null @@ -1,52 +0,0 @@ -import json - -import pretty_errors - -id = "deadlyslob" - -file_path = rf"{id}.json" - -# with open(file_path, 'r') as f: -# data = json.load(f) - -# ids = [(vod['url'], vod['publishedAt'], vod['gameName'], vod['title']) for vod in data] - -# for id in ids: -# print(id) - - -# def convert_seconds(total_seconds): -# hours = total_seconds // 3600 -# minutes = (total_seconds % 3600) // 60 -# seconds = total_seconds % 60 -# return f"{hours}:{minutes}:{seconds}" - -# print(convert_seconds(29553)) - - -# Load the JSON file into a Python list of dictionaries -# with open(file_path, 'r') as f: -# list_of_dicts = json.load(f) - -# The new dictionary you want to insert -new_dict = { - "creatorId": "12225555", - "login": "hasan", - "displayName": "hasan", - "id": "2555555", - "title": "Just Live", - "publishedAt": "2023-10-13T11:03:44Z", - "broadcastType": "ARCHIVE", - "status": "RECORDING", - "lengthSeconds": 35222, - "gameId": "22222", - "gameName": "Just Chatting", - "url": "https://www.twitch.tv/videos/2555555", -} - -# Insert the new dictionary at the beginning of the list -list_of_dicts.insert(0, new_dict) - -# Write the updated list back to the JSON file -with open(file_path, "w") as f: - json.dump(list_of_dicts, f, indent=4) diff --git a/zextra_Funcs_/requests tests.py b/zextra_Funcs_/requests tests.py deleted file mode 100644 index e5ef543..0000000 --- a/zextra_Funcs_/requests tests.py +++ /dev/null @@ -1,109 +0,0 @@ -import json -from pydoc import html - -import requests -from bs4 import BeautifulSoup, SoupStrainer - -# from requests_html import HTMLSession - -url = 'https://www.twitch.tv/hasanabi/videos?filter=archives' -# url = 'https://httpbin.org/headers' - -headers = { - "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/118.0", - 'Accept-Language': 'en-GB,en;q=0.5', - 'Referer': 'https://www.google.com', - 'DNT': '1' -} - -r = requests.get(url, headers=headers) - -# Parse the HTML response -soup = BeautifulSoup(r.text, 'html.parser',parse_only=SoupStrainer('head')) - -s = soup.prettify(formatter='html') - -# Find the video object by its tag name and get its 'name' attribute -script_tag = soup.head.find("script", {"type": "application/ld+json"}) -kii = str(script_tag) -lol = kii.split('{"@type"') - -for item in lol: - print('\n', item) - - -# t= soup. - -# print(r.text) - - - - -# import json -# from pydoc import html - -# import requests -# from bs4 import BeautifulSoup, SoupStrainer - -# # from requests_html import HTMLSession - -# # url = 'https://www.twitch.tv/hasanabi/videos?filter=archives' -# # # url = 'https://httpbin.org/headers' - - - -# GET_CHANNEL_VIDEOS_QUERY = """ -# {{ user(login: "{channel_id}") {{ -# videos( first: {first}, sort: {sort}, after: {after} ) {{ -# totalCount -# edges {{ cursor -# node {{ -# id title publishedAt broadcastType status lengthSeconds -# game {{ id name }} -# creator {{ id login displayName }} -# }} }} }} }} }} -# """ - - -# query = GET_CHANNEL_VIDEOS_QUERY.format( -# channel_id='deadlyslob', -# sort="TIME" -# ) - - - -# # headers = { -# # "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/118.0", -# # 'Accept-Language': 'en-GB,en;q=0.5', -# # 'Referer': 'https://www.google.com', -# # 'DNT': '1' -# # } - -# # r = requests.get(url, headers=headers) - -# url = "https://gql.twitch.tv/gql" -# headers = { -# 'Client-ID': 'kd1unb4b3q4t58fwlpcbzcbnm76a8fp', -# "Authorization": "Bearer " + 'kd1unb4b3q4t58fwlpcbzcbnm76a8fp' -# } -# params = {'user_id': '123456'} - - -# url = f"http://usher.ttvnw.net/vod/deadlyslob" - -# resp = requests.get(url, timeout=5, params={ -# "nauth": access_token['value'], -# "nauthsig": access_token['signature'], -# "allow_source": "true", -# "player": "twitchweb", -# }) - - -# response = requests.get(url, headers=headers) - -# print(response) - -# # GQL Query forms -# # Channel VODs query - - diff --git a/zextra_Funcs_/tessettt.py b/zextra_Funcs_/tessettt.py deleted file mode 100644 index f44b9b6..0000000 --- a/zextra_Funcs_/tessettt.py +++ /dev/null @@ -1,145 +0,0 @@ - - - -# import os - -# dir = r'F:/Music/Musizz/My Shared Folder/' - - -# for files in os.listdir(dir): -# print(files) - -from urllib.parse import urlencode - -import requests - -gql_client: str = "kd1unb4b3q4t58fwlpcbzcbnm76a8fp" -GQL_URL = "https://gql.twitch.tv/gql" -GQL_HEADERS = {"Client-ID": ""} - -class GQLException(Exception): - pass - - -class GQLItemError(Exception): - pass - - -# We use Twitch's private client ID for GQL calls -def set_client_id(client_id: str): - global GQL_HEADERS - GQL_HEADERS["Client-ID"] = client_id - - -def _process_query_errors(resp): - j = resp.json() - if 400 <= resp.status_code < 500 or "errors" in j: - raise GQLException(j) - - -def gql_post(json=None, data=None): - global GQL_URL, GQL_HEADERS - print(f'{GQL_URL, json, data, GQL_HEADERS =}') - resp = requests.post(GQL_URL, json=json, data=data, headers=GQL_HEADERS) - _process_query_errors(resp) - return resp - - -def gql_query(query=None, data=None): - return gql_post(json={"query":query}, data=data) - - -# GQL Query forms -# Channel VODs query -GET_CHANNEL_VIDEOS_QUERY = """ -{{ user(login: "{channel_id}") {{ - videos( first: {first}, sort: {sort}, after: {after} ) {{ - totalCount - edges {{ cursor - node {{ - id title publishedAt broadcastType status lengthSeconds - game {{ id name }} - creator {{ id login displayName }} -}} }} }} }} }} -""" -# Channel Clips query -# period can be LAST_DAY, LAST_WEEK, LAST_MONTH, or ALL_TIME -GET_CHANNEL_CLIPS_QUERY = """ -{{ user(login: "{channel_id}") {{ - clips( - first: {first}, after: {after}, - criteria: {{ period: ALL_TIME, sort: VIEWS_DESC }} - ) {{ - pageInfo {{ hasNextPage }} - edges {{ cursor node {{ - id slug title createdAt viewCount - durationSeconds videoOffsetSeconds - video {{ id }} - game {{ id name }} - broadcaster {{ id displayName login }} - curator {{ id displayName login }} -}} }} }} }} }} -""" -# Single VOD query -GET_VIDEO_QUERY = """ -{{ video(id: "{video_id}") {{ - id title publishedAt - broadcastType lengthSeconds - game {{ id name }} creator {{ id login displayName }} -}} }} -""" -# Single Clip query -GET_CLIP_QUERY = """ -{{ clip(slug: "{clip_slug}") {{ - id slug title createdAt viewCount durationSeconds videoOffsetSeconds - game {{ id name }} video {{ id }} - videoQualities {{ frameRate quality sourceURL }} - broadcaster {{ id displayName login }} - curator {{ id displayName login }} -}} }} -""" -# Single Channel info query -GET_CHANNEL_QUERY = """ -{{ user(login: "{channel_id}") {{ - id login displayName - description createdAt - roles {{ isAffiliate isPartner }} - stream {{ - id title type viewersCount createdAt game {{ id name }} -}} }} }} -""" -# IRC Chat query -GET_VIDEO_COMMENTS_QUERY = """ -{{ video(id: "{video_id}") {{ - comments(contentOffsetSeconds: 0, after: {after}) {{ - edges {{ cursor node {{ - contentOffsetSeconds - commenter {{ displayName }} - message {{ userColor fragments {{ mention {{ displayName }} text }} }} -}} }} }} }} }} -""" -# VOD chapters query -GET_VIDEO_CHAPTERS = """{{ -video(id: {id}) {{ - moments(first:100, momentRequestType: VIDEO_CHAPTER_MARKERS, after: {after}) {{ - edges {{ cursor node {{ - description type positionMilliseconds durationMilliseconds -}} }} }} }} }} -""" - - -VIDEO_ACCESS_QUERY = """ -{{ videoPlaybackAccessToken( - id: {video_id}, - params: {{ platform:"web", playerBackend:"mediaplayer", playerType:"site" }} - ) {{ signature value }} -}} -""" - -messages = [] -pagination = "null" - -query = GET_VIDEO_COMMENTS_QUERY.format( - video_id="2010087465", first=100, after=pagination -) -resp = gql_query(query=query).json() \ No newline at end of file From d5b8ed2d5b597262dc1230e92ff1fca74c47045d Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Wed, 17 Apr 2024 10:59:20 +1000 Subject: [PATCH 74/77] combine project removal --- .gitignore | 6 ++++-- combinevideo.py | 48 ------------------------------------------------ 2 files changed, 4 insertions(+), 50 deletions(-) delete mode 100644 combinevideo.py diff --git a/.gitignore b/.gitignore index 83c0cad..4640736 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,7 @@ /versionfile.txt/ file_extentions/ hall.ico -.vscode +# .vscode CTK_test.py __pycache__ utility_dir\__pycache__ @@ -12,4 +12,6 @@ new_mass_gql/jsons - Shortcut.lnk new_mass_gql/jsons_symlink debugging /media/hidden media -zextra_Funcs_ \ No newline at end of file +zextra_Funcs_ +newDownloadTool-exclaidraw.excalidraw +combinevideo.py \ No newline at end of file diff --git a/combinevideo.py b/combinevideo.py deleted file mode 100644 index 1f340b5..0000000 --- a/combinevideo.py +++ /dev/null @@ -1,48 +0,0 @@ -# ffmpeg -f concat -safe 0 -i mylist.txt -c copy "output.mp4" -import os -import subprocess - -from helpers import funcs - -combine_return = funcs.multi_choice_dialog(mssg="Combine Video Files", choice_s=["Yes", "Cancel"]) - -if combine_return == "Cancel": - print("restart") - pass - - -print("Select Main Video File\n") - -video_file_list = [] -def gather_video_files(video_file_list): - video_file = funcs.openFile() - video_file_list.append(f'file "{video_file}"') - if len(video_file_list) >= 2: - [print(funcs.shorten_path_name(item)) for item in video_file_list] - continue_appending = funcs.multi_choice_dialog(mssg="Append More Files?", choice_s=["Yes", "Cancel"]) - if continue_appending == "Cancel": - return video_file_list - print("Choose video file to append\n") - return gather_video_files(video_file_list) - else: - print("Choose video file to append\n") - [print(funcs.shorten_path_name(item)) for item in video_file_list] - return gather_video_files(video_file_list) - -vid_list = gather_video_files(video_file_list) - - -save_path = funcs.saveFile(kwargs=os.path.basename(vid_list[0])) - -cpy = subprocess.Popen(rf'ffmpeg -f concat -safe 0 -i "{vid_list}" -c copy "{save_path}"', universal_newlines=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd="c:/Program Files/Streamlink/ffmpeg/") - -stdout, stderr = cpy.communicate() -print(stdout) - -# .txt Eg, it need to be in the cwd of the video??? -# file 'Kotton - 25-10-2023 Not Sure If Surviving or Thriving 500 BrutalCassandra mods_RimWorld.mp4' -# file '2Kotton - 25-10-2023 Not Sure If Surviving or Thriving 500 BrutalCassandra mods_RimWorld.mp4' - - - -print(vid_list) \ No newline at end of file From 84a1193e8be47004f6ec0aa466b1b3e951493379 Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Wed, 17 Apr 2024 11:03:17 +1000 Subject: [PATCH 75/77] reqs upto date --- requirements.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/requirements.txt b/requirements.txt index e183f6f..d7bfa9a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,8 @@ -beautifulsoup4==4.12.2 -httpx==0.25.2 -inquirer==3.1.4 +beautifulsoup4==4.12.3 +httpx==0.27.0 +inquirer==3.2.4 m3u8==3.6.0 -numpy==1.26.2 +numpy==1.26.4 pretty_errors==1.2.25 psutil==5.9.6 pyperclip==1.8.2 From ae1dea70cb757552576e4a43247903cb55826778 Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Wed, 17 Apr 2024 11:08:37 +1000 Subject: [PATCH 76/77] removed debug logger --- Main.py | 2 +- helpers/get_vods_sizes_m3u8.py | 8 ++++---- init_dir/init_files.py | 34 +++++++++++++++++----------------- startup.py | 2 +- 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/Main.py b/Main.py index 029e996..a92d69c 100644 --- a/Main.py +++ b/Main.py @@ -204,7 +204,7 @@ def get_vid_resolutions(slinkDir, url_, queue, auth_String=""): for line in iter(stream_reso.stdout.readline, ''): # print(line.rstrip()) if 'error: No play' in line.rstrip(): - logging.info("File: Stream-Downloader-Util/Main.py | Line: 208 | get_vid_resolutions ~ line rw_stream %s", line.rstrip()) + # logging.info("File: Stream-Downloader-Util/Main.py | Line: 208 | get_vid_resolutions ~ line rw_stream %s", line.rstrip()) raise ValueError elif 'error: This plugin' in line.rstrip(): os.system('cls') diff --git a/helpers/get_vods_sizes_m3u8.py b/helpers/get_vods_sizes_m3u8.py index d75dfd1..52abb8d 100644 --- a/helpers/get_vods_sizes_m3u8.py +++ b/helpers/get_vods_sizes_m3u8.py @@ -71,10 +71,10 @@ def get_playlist_uris( print("\nMax attempts reached, request failed, Bandwidth == 0") return {"Failed retrieving Bandwidth ": "N/A"} elif bandwidth == 0: # Maybe a Temp Twitch Bug sometimes m3u8 Bandwidth Fails to populate retrying fixes - logging.info(f'{os.path.basename(__file__)} | data | ' '%s', data) - logging.info(f'{os.path.basename(__file__)} | get_variant_url | ' '%s', stream_info) - logging.info(f'{os.path.basename(__file__)} | bandwidth | ' '%s', bandwidth) - print(f"M3u8 Bandwidth == 0 Error, Attempt {attempt} failed, retrying...") + # logging.info(f'{os.path.basename(__file__)} | data | ' '%s', data) + # logging.info(f'{os.path.basename(__file__)} | get_variant_url | ' '%s', stream_info) + # logging.info(f'{os.path.basename(__file__)} | bandwidth | ' '%s', bandwidth) + print(f"M3u8 Bandwidth field == 0 (Twitch Backend Error), Attempt {attempt} failed, retrying...") attempt += 1 return get_playlist_uris( attempt=attempt, diff --git a/init_dir/init_files.py b/init_dir/init_files.py index ea15836..d7db90c 100644 --- a/init_dir/init_files.py +++ b/init_dir/init_files.py @@ -9,23 +9,23 @@ version_number = 5.0 -def logger_setup(): - appdata_path = os.getenv("LOCALAPPDATA") - - settings_file = os.path.join(str( - appdata_path), - "Stream-Downloader-Util" - ) - if not os.path.exists(f'{settings_file}/debugging'): #FIXME Set to save in Appdata - os.mkdir(f'{settings_file}/debugging') - root_logger = logging.getLogger() - root_logger.setLevel(logging.DEBUG) - root_file_handler = logging.FileHandler(f'{settings_file}/debugging/{datetime.now().strftime('%Y-%m-%d')}.log', delay=True) - root_file_handler.setLevel(logging.DEBUG) - formatter = logging.Formatter('%(levelname)s:%(asctime)s %(name)s %(message)s') - root_file_handler.setFormatter(formatter) - root_logger.addHandler(root_file_handler) - root_logger.propagate = False +# def logger_setup(): +# appdata_path = os.getenv("LOCALAPPDATA") + +# settings_file = os.path.join(str( +# appdata_path), +# "Stream-Downloader-Util" +# ) +# if not os.path.exists(f'{settings_file}/debugging'): #FIXME Set to save in Appdata +# os.mkdir(f'{settings_file}/debugging') +# root_logger = logging.getLogger() +# root_logger.setLevel(logging.DEBUG) +# root_file_handler = logging.FileHandler(f'{settings_file}/debugging/{datetime.now().strftime('%Y-%m-%d')}.log', delay=True) +# root_file_handler.setLevel(logging.DEBUG) +# formatter = logging.Formatter('%(levelname)s:%(asctime)s %(name)s %(message)s') +# root_file_handler.setFormatter(formatter) +# root_logger.addHandler(root_file_handler) +# root_logger.propagate = False def initSettings(): diff --git a/startup.py b/startup.py index 919ea57..39d3e70 100644 --- a/startup.py +++ b/startup.py @@ -90,7 +90,7 @@ def helpstr(): t2.start() init_files.version_check() - init_files.logger_setup() + # init_files.logger_setup() question = "Start Commands" responses = [ From fe6c4fc511614546891fbd9ca3c7ce9cfd0428bf Mon Sep 17 00:00:00 2001 From: NSMY <95662519+NSMY@users.noreply.github.com> Date: Wed, 17 Apr 2024 11:18:39 +1000 Subject: [PATCH 77/77] formatting --- helpers/funcs.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/helpers/funcs.py b/helpers/funcs.py index 3787bbb..24c6f73 100644 --- a/helpers/funcs.py +++ b/helpers/funcs.py @@ -438,11 +438,15 @@ def kill_process(process): for child in parent.children(recursive=True): child.kill() parent.kill() - print("Subprocess killed") + print("\nSubprocess killed\n") except psutil.NoSuchProcess as e: - print("Subprocess already closed:", e) + print("\nSubprocess already closed:", e, "\n") finally: from startup import main_start + winsound.PlaySound( + sound="C:\\Windows\\Media\\Windows Proximity Notification.wav", + flags=winsound.SND_FILENAME, + ) main_start()