SamTV12345 / PodFetch

A sleek and efficient podcast downloader.
https://samtv12345.github.io/PodFetch
Apache License 2.0
347 stars 25 forks source link

More download options (folder structure, images, .nfo files etc) #315

Open thegreenmilecornant opened 1 year ago

thegreenmilecornant commented 1 year ago

Clear and concise description of the problem

Hi!

Just stumbled upon your excellent app while looking for help on my podgrab setup. Seems to me that PodFetch has a brighter future.

What I'm looking for is a way to organize my podcast downloading so that Jellyfin can organize it neatly. Jellyfin doesn't have Podcast metadata downloading (yet), hence the data need to be perfectly sorted to get it right.

I guess the use case is broader than just Jellyfin-users. I'd probably want to organize my library neatly as a non-Jellyfin user as well.

What I want is;

Suggested solution

Additional settings available for the user.

Alternative

No response

Additional context

No response

Validations

SamTV12345 commented 1 year ago

Thanks for the issue. #1 can now be controlled in the settings menu. You just need to flip the switch for direct folder mapping. Regarding the other things I'll take a look in a week.

bastgau commented 1 year ago

I think that the folder structure is currently complicated.

Using the name of podcasts and episodes in the directory names is not really easy.

Creating a directory / file tree based on GUID or hash will be more relevant.

On my side I try to link PodFech with home Assistant and the file system used is not very easy to use.

SamTV12345 commented 1 year ago

I did that before and then people told me that they can't really find their podcast episodes when their Jellyfin is a bunch of UUIDs

bastgau commented 1 year ago

Hello.

Maybe not the same usage as me 😂

The directory name could be stored in database as a metadata. By default it will be the podcast name and could be modified.

Regarding episode directory, it could be stored in database too and modified manually only via an SQL request.

No change for a normal user but could be a solution for the advanced users ...

bastgau commented 1 year ago

I confirm that the current folder structure is not compliant with Jellyfin. :(

SamTV12345 commented 1 year ago

I confirm that the current folder structure is not compliant with Jellyfin. :(

What do you mean with not compliant?

bastgau commented 1 year ago

The episodes are not correctly classified. A few titles are named "podcast".

I will check how the structure should be and give us somes examples.

bastgau commented 1 year ago

Currently the structure for a podcast is a main directory containing :

-rw-r--r-- 1 root root  264106 Sep 21 22:36 image.jpeg
drwxr-xr-x 2 root root    4096 Sep 21 22:35 'La Revue de Presse du 23082023'
drwxr-xr-x 2 root root    4096 Sep 21 22:35 'La Revue de Presse du 24082023'
drwxr-xr-x 2 root root    4096 Sep 21 22:35 'La Revue de Presse du 25082023'

And in each episode directory, we found :

-rw-r--r-- 1 root root  264106 Sep 21 22:35 image.jpeg
-rw-r--r-- 1 root root 5895789 Sep 21 22:35 podcast.mp3

For Jellyfin, the structure should be an unique directory containing all episode files and a picture file named : cover.jpeg

-rw-r--r-- 1 root root  264106 Sep  2 17:33  cover.jpeg # podcast picture
-rw-r--r-- 1 root root 6421985 Sep  2 17:33 'La Revue de Presse du 01092023.mp3' # episode audio
-rw-r--r-- 1 root root 6421985 Sep  2 17:33 'La Revue de Presse du 01092023.jpeg' # episode picture
-rw-r--r-- 1 root root 6946413 Sep  4 07:00 'La Revue de Presse du 04092023.mp3'
-rw-r--r-- 1 root root 6946413 Sep  4 07:00 'La Revue de Presse du 04092023.jpeg'
-rw-r--r-- 1 root root 6596692 Sep  5 07:00 'La Revue de Presse du 05092023.mp3'
-rw-r--r-- 1 root root 6596692 Sep  5 07:00 'La Revue de Presse du 05092023.jpeg'
-rw-r--r-- 1 root root 6336621 Sep  6 07:00 'La Revue de Presse du 06092023.mp3'
-rw-r--r-- 1 root root 6336621 Sep  6 07:00 'La Revue de Presse du 06092023.jpeg'
-rw-r--r-- 1 root root 5917927 Sep  7 07:00 'La Revue de Presse du 07092023.mp3'
-rw-r--r-- 1 root root 5917927 Sep  7 07:00 'La Revue de Presse du 07092023.jpeg'

The episode picture won't be used by Jellyfin but it is relevant to keep it for other usage.

With this structure, all episodes will be considered as tracks of an album.

bastgau commented 1 year ago

Maybe it will be interesting to add the in the episode name :

'2023-09-07 13:09 : La Revue de Presse du 07092023.mp3' instead of 'La Revue de Presse du 07092023.mp3'

Without this date, the order of the episodes could be lost.

However, the best way will be to give the possibility of indicating how we want to store the episodes when we add a new podcast (or in general option)

For my proposition, the configuration will be :

podcast directory = /{podcast_title}/
podcast picture = /cover.jpeg
episode name = /{episode_pubdate} - {episode_title}.mp3
episode picture = /{episode_pubdate} - {episode_title}.jpeg

The configuration for the actual structure will be :

podcast directory = /{podcast_title}/
podcast picture = /image.jpeg
episode name = /{title}/podcast.mp3
episode picture = /{title}/image.jpeg

Another user could decide to use the following configuration :

podcast directory = /my_podcast/
podcast picture = /image.jpeg
episode name = /{episode_guid}/audio.mp3
episode picture = /{episode_guid}/cover.jpeg

Tell me if I'm not clear.