DeepVoyager253 / FlowLauncherYTDownload

a youtube downloader for the flow launcher
9 stars 4 forks source link

YT Downloader gives error on any youtube link #14

Open sekidelo opened 1 month ago

sekidelo commented 1 month ago

I get an error when I want to download both the audio or the video.

2024-07-24.txt

Flow Launcher version: 1.18.0 OS Version: 22631.3880 IntPtr Length: 8 x64: True

Python Path: C:\Users\ezequ\AppData\Roaming\FlowLauncher\Environments\Python\PythonEmbeddable-v3.11.4\pythonw.exe Node Path: Date: 07/24/2024 10:32:28 Exception: System.IO.InvalidDataException: Traceback (most recent call last): File "C:\Users\ezequ\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-0.1.2\main.py", line 93, in YoutubeDownload() File "C:\Users\ezequ\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-0.1.2\lib\flowlauncher\FlowLauncher.py", line 33, in init results = request_method(*request_parameters) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\ezequ\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-0.1.2\main.py", line 87, in download_video video = youtube.streams.get_highest_resolution() ^^^^^^^^^^^^^^^ File "C:\Users\ezequ\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-0.1.2\lib\pytube__main.py", line 296, in streams return StreamQuery(self.fmt_streams) ^^^^^^^^^^^^^^^^ File "C:\Users\ezequ\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-0.1.2\lib\pytube__main.py", line 176, in fmt_streams stream_manifest = extract.apply_descrambler(self.streaming_data) ^^^^^^^^^^^^^^^^^^^ File "C:\Users\ezequ\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-0.1.2\lib\pytube\main__.py", line 160, in streaming_data self.bypass_age_gate() File "C:\Users\ezequ\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-0.1.2\lib\pytube\main__.py", line 257, in bypass_age_gate innertube_response = innertube.player(self.video_id) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\ezequ\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-0.1.2\lib\pytube\innertube.py", line 448, in player return self._call_api(endpoint, query, self.base_data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\ezequ\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-0.1.2\lib\pytube\innertube.py", line 390, in _call_api response = request._execute_request( ^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\ezequ\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-0.1.2\lib\pytube\request.py", line 37, in _execute_request return urlopen(request, timeout=timeout) # nosec ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "urllib\request.py", line 216, in urlopen File "urllib\request.py", line 525, in open File "urllib\request.py", line 634, in http_response File "urllib\request.py", line 563, in error File "urllib\request.py", line 496, in _call_chain File "urllib\request.py", line 643, in http_error_default urllib.error.HTTPError: HTTP Error 400: Bad Request

at Flow.Launcher.Core.Plugin.JsonRPCPlugin.ExecuteAsync(ProcessStartInfo startInfo, CancellationToken token) in C:\projects\flow-launcher\Flow.Launcher.Core\Plugin\JsonRPCPlugin.cs:line 243 at Flow.Launcher.Core.Plugin.JsonRPCPlugin.ExecuteAsync(ProcessStartInfo startInfo, CancellationToken token) in C:\projects\flow-launcher\Flow.Launcher.Core\Plugin\JsonRPCPlugin.cs:line 248 at Flow.Launcher.Core.Plugin.JsonRPCPlugin.ExecuteResultAsync(JsonRPCResult result) in C:\projects\flow-launcher\Flow.Launcher.Core\Plugin\JsonRPCPlugin.cs:line 117 at Flow.Launcher.Core.Plugin.JsonRPCPluginBase.<>c__DisplayClass18_0.<b0>d.MoveNext() in C:\projects\flow-launcher\Flow.Launcher.Core\Plugin\JsonRPCPluginBase.cs:line 89 --- End of stack trace from previous location --- at Flow.Launcher.ViewModel.MainViewModel.OpenResultAsync(String index) in C:\projects\flow-launcher\Flow.Launcher\ViewModel\MainViewModel.cs:line 307 at CommunityToolkit.Mvvm.Input.AsyncRelayCommand.AwaitAndThrowIfFailed(Task executionTask) at System.Threading.Tasks.Task.<>c.b128_0(Object state) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

jonesy-b-dev commented 1 month ago

same issue here

jonesy-b-dev commented 1 month ago

Flow Launcher version: 1.18.0
OS Version: 23585.1001
IntPtr Length: 8
x64: True

Python Path: C:\Users\jonas\.pyenv\pyenv-win\versions\3.12.1\python.exe
Node Path: C:\Program Files\nodejs\node.exe
Date: 07/25/2024 12:13:49
Exception:
System.IO.InvalidDataException: Traceback (most recent call last):
  File "C:\Users\jonas\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-v1.0.0-beta\lib\pytube\__main__.py", line 181, in fmt_streams
    extract.apply_signature(stream_manifest, self.vid_info, self.js)
  File "C:\Users\jonas\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-v1.0.0-beta\lib\pytube\extract.py", line 409, in apply_signature
    cipher = Cipher(js=js)
             ^^^^^^^^^^^^^
  File "C:\Users\jonas\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-v1.0.0-beta\lib\pytube\cipher.py", line 43, in __init__
    self.throttling_plan = get_throttling_plan(js)
                           ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\jonas\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-v1.0.0-beta\lib\pytube\cipher.py", line 405, in get_throttling_plan
    raw_code = get_throttling_function_code(js)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\jonas\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-v1.0.0-beta\lib\pytube\cipher.py", line 311, in get_throttling_function_code
    name = re.escape(get_throttling_function_name(js))
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\jonas\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-v1.0.0-beta\lib\pytube\cipher.py", line 296, in get_throttling_function_name
    raise RegexMatchError(
pytube.exceptions.RegexMatchError: get_throttling_function_name: could not find match for multiple

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\jonas\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-v1.0.0-beta\main.py", line 68, in <module>
    YoutubeDownload()
  File "C:\Users\jonas\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-v1.0.0-beta\lib\flowlauncher\FlowLauncher.py", line 33, in __init__
    results = request_method(*request_parameters)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\jonas\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-v1.0.0-beta\main.py", line 53, in download_audio
    video = youtube.streams.filter(only_audio=True).first()
            ^^^^^^^^^^^^^^^
  File "C:\Users\jonas\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-v1.0.0-beta\lib\pytube\__main__.py", line 296, in streams
    return StreamQuery(self.fmt_streams)
                       ^^^^^^^^^^^^^^^^
  File "C:\Users\jonas\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-v1.0.0-beta\lib\pytube\__main__.py", line 188, in fmt_streams
    extract.apply_signature(stream_manifest, self.vid_info, self.js)
  File "C:\Users\jonas\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-v1.0.0-beta\lib\pytube\extract.py", line 409, in apply_signature
    cipher = Cipher(js=js)
             ^^^^^^^^^^^^^
  File "C:\Users\jonas\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-v1.0.0-beta\lib\pytube\cipher.py", line 43, in __init__
    self.throttling_plan = get_throttling_plan(js)
                           ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\jonas\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-v1.0.0-beta\lib\pytube\cipher.py", line 405, in get_throttling_plan
    raw_code = get_throttling_function_code(js)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\jonas\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-v1.0.0-beta\lib\pytube\cipher.py", line 311, in get_throttling_function_code
    name = re.escape(get_throttling_function_name(js))
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\jonas\AppData\Roaming\FlowLauncher\Plugins\Youtube Downloader-v1.0.0-beta\lib\pytube\cipher.py", line 296, in get_throttling_function_name
    raise RegexMatchError(
pytube.exceptions.RegexMatchError: get_throttling_function_name: could not find match for multiple

   at Flow.Launcher.Core.Plugin.JsonRPCPlugin.ExecuteAsync(ProcessStartInfo startInfo, CancellationToken token) in C:\projects\flow-launcher\Flow.Launcher.Core\Plugin\JsonRPCPlugin.cs:line 243
   at Flow.Launcher.Core.Plugin.JsonRPCPlugin.ExecuteAsync(ProcessStartInfo startInfo, CancellationToken token) in C:\projects\flow-launcher\Flow.Launcher.Core\Plugin\JsonRPCPlugin.cs:line 248
   at Flow.Launcher.Core.Plugin.JsonRPCPlugin.ExecuteResultAsync(JsonRPCResult result) in C:\projects\flow-launcher\Flow.Launcher.Core\Plugin\JsonRPCPlugin.cs:line 117
   at Flow.Launcher.Core.Plugin.JsonRPCPluginBase.<>c__DisplayClass18_0.<<ParseResults>b__0>d.MoveNext() in C:\projects\flow-launcher\Flow.Launcher.Core\Plugin\JsonRPCPluginBase.cs:line 89
--- End of stack trace from previous location ---
   at Flow.Launcher.ViewModel.MainViewModel.OpenResultAsync(String index) in C:\projects\flow-launcher\Flow.Launcher\ViewModel\MainViewModel.cs:line 307
   at CommunityToolkit.Mvvm.Input.AsyncRelayCommand.AwaitAndThrowIfFailed(Task executionTask)
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
adrianratajczak commented 3 weeks ago

Same here