casualsnek / onthespot

qt based music downloader written in python
GNU General Public License v2.0
745 stars 54 forks source link

Does not seem able to parse podcast episodes #30

Open emptythevoid opened 1 year ago

emptythevoid commented 1 year ago

Attempting to add a podcast episode URL will report that it has been added to the download queue, but it does not appear. Attempting to add the episode again will report that "The Episode is being parsed and will be added to download queue shortly." This does not seem to complete and the episode never appears in the Progress tab.

casualsnek commented 1 year ago

Can you share link to podcast that you tried? I will have a look at it !

emptythevoid commented 1 year ago

Absolutely! https://open.spotify.com/show/3oEPsPKDhPVoNNL7pH5db6

I've tried feeding it a single episode, as well as the entire show. I'd be happy to help test or provide more information. Thank you for looking at it. :)

Jugrnot commented 1 year ago

Unfortunately, I'm experiencing the exact same issue with the latest release. No matter what URL I feed it from spotify, I receive the same result. States it will be parsed and downloaded shortly, nothing ever happens. Cmd prompt output is only:

[2022-12-02 19:10:07,602 :: /home/jugrnot/onthespot/utils/utils.py -> 186: get_url_data() :: INFO] -> Parse result for url 'https://open.spotify.com/show/3oEPsPKDhPVoNNL7pH5db6'-> podcast, 3oEPsPKDhPVoNNL7pH5db6

casualsnek commented 1 year ago

Hey, this should be fixed now on development branch, can you test if it works for you ?

emptythevoid commented 1 year ago

After compiling, I'm getting an error. I've checked the compilation log and it looks like music-tag==0.4.3 was met, so I'm not sure what's happened.

Using ffmpeg at : /usr/bin/ffmpeg [2023-05-22 13:58:51,723 :: runtimedata.py -> 48: handle_exception() :: CRITICAL] -> Uncaught exception Traceback (most recent call last): File "init.py", line 3, in File "PyInstaller/loader/pyimod02_importers.py", line 499, in exec_module File "gui/mainui.py", line 9, in File "PyInstaller/loader/pyimod02_importers.py", line 499, in exec_module File "utils/spotify.py", line 7, in ModuleNotFoundError: No module named 'music_tag' [79238] Failed to execute script 'init' due to unhandled exception!

emptythevoid commented 1 year ago

Ah, looks like my system needs me to run sudo apt install python3.10-venv before compilation. I will report back

emptythevoid commented 1 year ago

Okay I'm an idiot.

Anyway, I attempted to add a URL of a podcast and got a notice that it was being added to the download queue, but the terminal output shows this:

[2023-05-22 14:38:01,848 :: spotutils :: /home/greg/onthespot-dev/onthespot-development/src/onthespot/utils/spotify.py -> 291: get_episode_info() :: INFO] -> Get episode info for episode by id '7hWvZS4kBQf6v5S4gDDS06' [2023-05-22 14:38:02,384 :: worker.utility :: /home/greg/onthespot-dev/onthespot-development/src/onthespot/worker/utility.py -> 169: run() :: INFO] -> PQP parsing podcast episode : Brené with Paul Leonardi and Tsedal Neeley on The Digital Mindset, Part 2 of 2:7hWvZS4kBQf6v5S4gDDS06 [2023-05-22 14:38:02,385 :: runtimedata :: /home/greg/onthespot-dev/onthespot-development/src/onthespot/runtimedata.py -> 51: handle_exception() :: CRITICAL] -> Uncaught exception Traceback (most recent call last): File "/home/greg/onthespot-dev/onthespot-development/src/onthespot/gui/mainui.py", line 305, in __add_item_to_downloads 'force_album_after_extra_path_as_root': item['dl_params']['force_album_after_extra_path_as_root'], KeyError: 'force_album_after_extra_path_as_root'

emptythevoid commented 1 year ago

I removed line 305 from main.py and re-ran it. The podcast successfully downloaded. This particular one shows that it wanted to save as an ogg, but the output file has an .mp3 extension, so it confused my default player. Renaming it to .ogg allowed the podcast to play!!

casualsnek commented 1 year ago

Can you try again ? This should now be fixed in development branch !

Jugrnot commented 1 year ago

Apologies it took me so long to get back to this. Was able to test the latest release and unfortunately continue to receive the Uncaught exception error. Tested on Windows with both the prebuilt binary and building from source, same error.

[2023-07-06 21:19:05,724 :: worker.utility :: worker\utility.py -> 170: run() :: INFO] -> PQP parsing podcast episode : 134- Deviant:6dkFc33Bx371sYq0USBKNu [2023-07-06 21:19:05,725 :: runtimedata :: runtimedata.py -> 49: handle_exception() :: CRITICAL] -> Uncaught exception Traceback (most recent call last): File "worker\utility.py", line 184, in run UnboundLocalError: local variable 'enqueue_part_cfg' referenced before assignment

dhjw commented 11 months ago

I see the issue in utility.py. There are a number of If / elif sections for album, artist, podcast, episode, playlist and track. All sections except podcast and episode have a statement enqueue_part_cfg = { ... }. All sections except playlist appear to have the same statement. So a fix would be to add the statement to the podcast and episode sections, after the logger.info line like the others, or remove it from the album, artist and track sections and set it at the top before the if statements and update or overwrite it in the playlist section.