TVDB policy regarding out of order series

Talk about the Ultimate Question of Life, The Universe, and Everything
cheaters
Posts: 214
Joined: 09 Oct 2016, 02:01

Re: TVDB policy regarding out of order series

Post by cheaters »

Thanks for this. I am finally getting around to it again.
rednoah wrote: 15 Nov 2021, 02:09
:arrow: In this case, you'll want to use the --filter option to exclude "SNL Poland", or include "Saturday Night Live" exclusively. Please read FAQ #2 for details.

e.g. exclude "SNL Poland"

Code: Select all

--filter "none{ n =~ /SNL Poland/ }"
e.g. include "Saturday Night Live"

Code: Select all

--filter "n =~ /Saturday Night Live/"
:?: How would the format of this filter look if there were more than one show I wanted to inlcude? If I wanted to include "Saturday Night Live" AND "NOVA"? I don't see any examples of this in the FAQ.

:idea: :?:

Code: Select all

--filter "n =~ /Saturday Night Live/NOVA/"
User avatar
rednoah
The Source
Posts: 22898
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: TVDB policy regarding out of order series

Post by rednoah »

e.g. standard regular expression patterns:

Code: Select all

Saturday Night Live|NOVA

Code: Select all

--filter "n =~ /Saturday Night Live|NOVA/"

:idea: Note that =~ only checks for substring occurrence. You may want to use ==~ for an exact from-beginning-to-end match.
:idea: Please read the FAQ and How to Request Help.
cheaters
Posts: 214
Joined: 09 Oct 2016, 02:01

Re: TVDB policy regarding out of order series

Post by cheaters »

@rednoah,

That worked really well for those two series but everything else fails now, including movies. This is obviously far more complicated than just adding --filter and some arguments. It requires a complete rebuild of my script.

Don't know why I was expecting it to only apply to shows that have conflicts... hmm. Guess that logic is not built in. :lol:

How can this be useful in automation when we either have to include every show we want or exclude every show we don't?

Code: Select all

[2022-01-07 10:53:56.848] Process as Movie [RSS Movies]
[2022-01-07 10:53:56.851] Group: {Movie=true} => [10_fil.srt, 11_Finnish.srt, 12_French.srt, 13_German.srt, 14_Greek.srt, 15_Hebrew.srt, 16_hin.srt, 17_Hungarian.srt, 18_Indonesian.srt, 19_Italian.srt, 20_Japanese.srt, 21_Korean.srt, 22_Spanish.srt, 23_may.srt, 24_nor.srt, 25_Polish.srt, 26_Portuguese.srt, 27_Portuguese.srt, 28_Romanian.srt, 29_Russian.srt, 2_English.srt, 30_Swedish.srt, 31_tam.srt, 32_tel.srt, 33_Thai.srt, 34_Turkish.srt, 3_Arabic.srt, 4_Chinese.srt, 5_Chinese.srt, 6_Czech.srt, 7_Danish.srt, 8_Dutch.srt, 9_Spanish.srt, The.Tender.Bar.2021.1080p.WEBRip.x265.mp4]
[2022-01-07 10:53:56.904] Rename movies using [TheMovieDB]
[2022-01-07 10:53:56.911] Auto-detect movie from context [/Volumes/SeedDrive/complete/The.Tender.Bar.2021.1080p.WEBRip.x265/The.Tender.Bar.2021.1080p.WEBRip.x265.mp4]
[2022-01-07 10:54:00.547] Apply filter [n ==~ /Saturday Night Live|NOVA/] on [2] options
[2022-01-07 10:54:00.559] Exclude [The Tender Bar (2021)]
[2022-01-07 10:54:00.560] Exclude [The Bar (2017)]
[2022-01-07 10:54:00.560] [0] options remaining
[2022-01-07 10:54:00.561] Movie not found: /Volumes/SeedDrive/complete/The.Tender.Bar.2021.1080p.WEBRip.x265/The.Tender.Bar.2021.1080p.WEBRip.x265.mp4
[2022-01-07 10:54:00.561] Auto-detect movie from context [/Volumes/SeedDrive/complete/The.Tender.Bar.2021.1080p.WEBRip.x265/Subs/10_fil.srt]
[2022-01-07 10:54:01.157] Apply filter [n ==~ /Saturday Night Live|NOVA/] on [11] options
[2022-01-07 10:54:01.160] Exclude [The Tender Bar (2021)]
User avatar
rednoah
The Source
Posts: 22898
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: TVDB policy regarding out of order series

Post by rednoah »

jprokos wrote: 07 Jan 2022, 16:59 How can this be useful in automation when we either have to include every show we want or exclude every show we don't?
--filter is not limited to those two specific approaches. But being able to exclude some series in advance is useful if you get consistent mismatches, e.g. old CSI episodes getting matched instead of new CSI episodes. It's useful for automation because you only have to write your include list / exclude list only once, and then get new episodes processed more reliably. And that include / exclude list could be auto-generated depending on your setup.



:idea: Personally, for automation, I'd recommend using --filter in some sort of more generic way, where you include / exclude episodes based on some generic series properties, e.g. exclude shows from before 2010, exclude non-English shows, exclude certain genres, exclude shows with low popularity, exclude episodes with an airdate that is many years ago, etc. Depending on the kinds of mismatches you specifically encounter. Your --filter is thus highly tailored to your specific use case and the content you expect to process. If you want to process both movies and episodes, then your --filter expression must account for both cases.



:arrow: You'll likely want run different amc script commands with different specialized options for different use cases. That will require you to write your own shell script code to guess which is which, and that will be more or less easy depending on how much information your setup can pass along.



:arrow: If you're exclusively processing new episodes (i.e. you must configure your automated setup accordingly) then the age filter approach will work well:
rednoah wrote: 01 Aug 2012, 13:04 Advanced Fine-Tuning
You can (and should) force Movie / Series / Anime mode by setting --def ut_label, and you can further define your own --filter rules to fine-tune matching to your exact needs, and avoid mismatches. For example, if one show is confused with another due to bad naming or missing data you can simply exclude the bad one, or if you only process recently aired episodes, then you could exclude episodes that have not aired recently from matching.

e.g. if you only process recently aired episodes you can virtually guarantee 100% auto-detection accuracy by adding simple filter rules such as these:

Code: Select all

--filter "age < 5" --def "ut_label=TV"
e.g. if you're a typical user, and find a simple age filter too restrictive, then this slightly augmented age filter rule might be the magic bullet that fixes all your problems, by applying the age filter only on newly aired episodes of currently airing shows (but not older episodes of currently airing shows) and otherwise accepting all episodes of shows that are not currently airing:

Code: Select all

--filter "age < 5 || 5 <= model.age.min()" --def "ut_label=TV"
--filter rules are extremely flexible so more complex scenarios, such as applying certain filters only for certain labels or files, is fully supported.
:idea: Please read the FAQ and How to Request Help.
Post Reply