TV shows automatic organizer #12056

Open
opened 2026-02-21 22:16:46 -05:00 by deekerman · 3 comments
Owner

Originally created by @MrZed001 on GitHub (Apr 25, 2021).

qBittorrent version and Operating System

v4.3.4.1, Windows x64

What is the problem

Many download TV shows and need to put them manually under show folder (or set category, subcategory ... and even then it is messy)
A very easy task to be automated. And a big feature.

What is the expected behavior

The scene has very strict regulations in TV show file and folder naming
tv.show.name.s[0]1e[0]4[.episode.name].(resolution)....

A new built-in category like "TV show" or "Show-organizer" could be a solution.
If assigned to torrent then

  • need a "TV show" main dir (where all the shows are saved). Set in the settings or the first time someone assigns "TV show" category to a torrent. Like "x:\TVshows"
  • torrent main dir becomes the tv.show.name (in the torrent main dir, or from single file). Like "x:\TVshows\tv.show.name"
  • Selectable behavior:
    • every episode into one subdir like "x:\TVshows\tv.show.name\Season1\Episode4" (where 4 cames from e04)
    • every season into one subdir like "x:\TVshows\tv.show.name\Season1" (where 1 cames from s01)
    • all seasons all episodes into the show main dir: "x:\TVshows\tv.show.name"
  • if filename already exists (only in every season or all season option can happen) then add the removed dir part to the beginning of the filename
  • if torrent do not match the required (scene) structure refuse the category change.

Only by assigning this category you can have a clean TV show folder with all your shows organized.
And so the following dir structure (every season example) will be built, without the user need to manual change anything:

TV shows

  • show1
    • season 1
      • file.s01e01
      • file.s01e02
    • season 2
      • file.s02e01
      • file.s02e02
  • show2
    • season 1
      • file.s01e01
      • file.s01e02
        etc..

Possible new features based on this feature:

To the "Automatically add torrents from" feature add a separate "Automatically add TV show torrents from" subdir
All torrents copied into this dir automatically get the TV show category (and its files and folders organised like setting it manually)

Originally created by @MrZed001 on GitHub (Apr 25, 2021). ### qBittorrent version and Operating System v4.3.4.1, Windows x64 ### What is the problem Many download TV shows and need to put them manually under show folder (or set category, subcategory ... and even then it is messy) A very easy task to be automated. And a big feature. ### What is the expected behavior The scene has very strict regulations in TV show file and folder naming tv.show.name.s[0]1e[0]4[.episode.name].(resolution).... A new built-in category like "TV show" or "Show-organizer" could be a solution. If assigned to torrent then - need a "TV show" main dir (where all the shows are saved). Set in the settings or the first time someone assigns "TV show" category to a torrent. Like "x:\TVshows\" - torrent main dir becomes the tv.show.name (in the torrent main dir, or from single file). Like "x:\TVshows\tv.show.name\" - Selectable behavior: - every **episode** into one subdir like "x:\TVshows\tv.show.name\Season1\Episode4\" (where 4 cames from e04) - every **season** into one subdir like "x:\TVshows\tv.show.name\Season1" (where 1 cames from s01) - all seasons **all episodes** into the show main dir: "x:\TVshows\tv.show.name\" - if filename already exists (only in every season or all season option can happen) then add the removed dir part to the beginning of the filename - if torrent do not match the required (scene) structure refuse the category change. Only by assigning this category you can have a clean TV show folder with all your shows organized. And so the following dir structure (every season example) will be built, without the user need to manual change anything: TV shows - show1 - season 1 - file.s01e01 - file.s01e02 - season 2 - file.s02e01 - file.s02e02 - show2 - season 1 - file.s01e01 - file.s01e02 etc.. ### Possible new features based on this feature: To the "Automatically add torrents from" feature add a separate "Automatically add TV show torrents from" subdir All torrents copied into this dir automatically get the TV show category (and its files and folders organised like setting it manually)
Author
Owner

@FranciscoPombal commented on GitHub (Apr 26, 2021):

Sounds more like something that's too domain-specific and should be implemented as a custom script to be run with Preferences -> Downloads -> Run external program on completion

@FranciscoPombal commented on GitHub (Apr 26, 2021): Sounds more like something that's too domain-specific and should be implemented as a custom script to be run with `Preferences -> Downloads -> Run external program on completion`
Author
Owner

@MrZed001 commented on GitHub (Apr 26, 2021):

After completion yes, a very simple program in any language could easily organise and move the TV torrent files to the desired structure ... only that would mean that this torrent is no longer seeding.
Extreme contra productive result.

Yes, it is specific. But very VERY big part of the torrent's downloaded are TV Shows.
Users ask for this feature for a decade. The scene supports it too, has strict naming regulations.

Lazy users throw everything somewhere and then forgot about it, deleting downloaded files, etc.
In most cases the users download dir is a big mess. A pile of junk.

Also heavy users like it organised (the "whales"). It is a lot of manual work for them too. They seed for multiple trackers if they can.
Even that sometimes can not be done like with current qBit and issue #439 still open after 8 years.
Old utorrent 2.2 could do it. Even more it had a mass move function selecting all files (in main and subdirs) and with one click setting them all on the torrent main (or any other) dir.

Also I think it is an easy task, really, mainly string slicing. With one trigger: Category change.
Category already moving content of torrents to it's dir.
The files inside the torrent can be moved from subdirs to main dir with the little "\" dir trick (so it is not impossible, tested in Win64)
A little check mechanism is needed when there is the same filename in more subdirs. Like:
\s01e01\nfo.txt -> \nfo.txt
\s01e02\nfo.txt -> \s01e02.nfo.txt ... Add the deleted (first subdir's) name in front of the filename (and subdir names are unique so no conflict anymore).

I would really love to help develop this feature but c++ is not in the languages I speak.

@MrZed001 commented on GitHub (Apr 26, 2021): After completion yes, a very simple program in any language could easily organise and move the TV torrent files to the desired structure ... only that would mean that **this torrent is no longer seeding**. Extreme contra productive result. Yes, it is specific. But very VERY big part of the torrent's downloaded are TV Shows. Users ask for this feature for a decade. The scene supports it too, has strict naming regulations. Lazy users throw everything somewhere and then forgot about it, deleting downloaded files, etc. In most cases the users download dir is a big mess. A pile of junk. Also heavy users like it organised (the "whales"). It is a lot of manual work for them too. They seed for multiple trackers if they can. Even that sometimes can not be done like with current qBit and issue #439 still open after 8 years. Old utorrent 2.2 could do it. Even more it had a mass move function selecting all files (in main and subdirs) and with one click setting them all on the torrent main (or any other) dir. Also I think it is an easy task, really, mainly string slicing. With one trigger: Category change. Category already moving content of torrents to it's dir. The files inside the torrent can be moved from subdirs to main dir with the little "\\" dir trick (so it is not impossible, tested in Win64) A little check mechanism is needed when there is the same filename in more subdirs. Like: \s01e01\nfo.txt -> \nfo.txt \s01e02\nfo.txt -> \s01e02.nfo.txt ... Add the deleted (first subdir's) name in front of the filename (and subdir names are unique so no conflict anymore). I would really love to help develop this feature but c++ is not in the languages I speak.
Author
Owner

@xavier2k6 commented on GitHub (May 24, 2025):

ANNOUNCEMENT!

For anybody coming across this "Feature Request" & would like/love to see a potential implementation in the future!
Here are some options available to you:

  1. Please select/click the 👍 &/orreactions in the original/opening post of this ticket.

  2. Please feel free (If you have the "skillset") to create a "Pull Request" implementing what's being requested in this ticket.
    (new/existing contributors/developers are always welcome)


DO:

  • Provide constructive feedback.
  • Display how other projects implemented same/similar etc.

DO NOT:

  • Add a "Bump", "me too", "2nd/3rd" etc. or "criticizing" comment(s).
    (These will be disregarded/hidden as "spam/abuse/off-topic" etc. as they don't provide anything constructive.)
@xavier2k6 commented on GitHub (May 24, 2025): ## ANNOUNCEMENT! For anybody coming across this **_"Feature Request"_** & would like/love to see a potential implementation in the future! **Here are some options available to you:** 1. Please select/click the 👍 **&/or** ❤ `reactions` in the original/opening post of this ticket. 2. Please feel free _(If you have the "skillset")_ to create a **_"Pull Request"_** implementing what's being requested in this ticket. **_(new/existing contributors/developers are always welcome)_** ____ **DO:** * Provide constructive feedback. * Display how other projects implemented same/similar etc. **DO NOT:** * Add a "Bump", "me too", "2nd/3rd" etc. or "criticizing" comment(s). **(These will be disregarded/hidden as "spam/abuse/off-topic" etc. as they don't provide anything constructive.)**
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/qBittorrent#12056
No description provided.