Page 1 of 1
Matching All Episodes of the same source vs mixed issue.
Posted: 05 Sep 2020, 19:54
by DevXen
So I'm trying to match all the sources of a single season. and if the match say what it is: DVDRip, BDRip, Etc. But if they are different between them, I want it to show Mixed. and if there is no source Listed, it should just say No Source.
So i'm using this:
Code: Select all
{def sources = model.findAll{ it.n == n && it.s == s }.source.minus(null).unique(); sources.size() >= 1 ? sources.size() == 1 ? "["+any{(csv('C:/FileBot Settings/Movies/MovieSource.csv').get(source))}{source}+"]" : '[Mixed]' : '[No Source]'}
It seems to work great except not when the case is different. so HDTV, and hdtv in the same folder returns [Mixed] instead of HDTV. and i'm not sure how to fix it, i'd assume it is the unique() in it. but taking that out didn't help. or if i could map that also to my CSV file so it can match hdtv to HDTV. then i'd guess that would work too. But i haven't been able to figure out how to get that to work either. boo.
the problem would also happen with any mixed case files, DVDRIP/DVDRip/BDRip/BDRIP/BdRip/etc
Any Suggestions?
The CSV File is so I can map my own source names and casing. also Pay no attention to the MovieSources.csv figure i'd use the same for movies and tv shows)
Thanks,
-Dev
Re: Matching All Episodes of the same source vs mixed issue.
Posted: 06 Sep 2020, 03:11
by rednoah
Have you tried replacing .unique() with .unique{ it.upper() } yet?
Re: Matching All Episodes of the same source vs mixed issue.
Posted: 06 Sep 2020, 03:56
by DevXen
That seems to be working. i'm not sure why i didn't think to turn it all uppercase. Thank you.
Also, I did start to notice something today. my {Source} is bringing back: NF.WEB-DL, HULU.WEB-DL, AMZN.WEB-DL, Etc.
Obviously thats where they came from in the file name. But thats causing issues with my script.
is there a way to disable that so it uses the normal {source} (not VS I think WEBRip, and WEB-DL Should be separate. haha.)
and or is there way to separate it so i can keep that streaming provider information. and the source. just separate them into 2 locations?
Re: Matching All Episodes of the same source vs mixed issue.
Posted: 06 Sep 2020, 04:07
by rednoah
Using
vs instead of
source will give you more standardized values:
viewtopic.php?t=11265
Re: Matching All Episodes of the same source vs mixed issue.
Posted: 06 Sep 2020, 04:14
by DevXen
Yeah. I don't agree with many of the VS normalizations, Is why I'm not using that. Really I'm just trying to get rid of all my .replace()'s I have in my script for my sources and move them to an easier to manage csv file. But this adding the streaming as part of the {source} is new.
Re: Matching All Episodes of the same source vs mixed issue.
Posted: 06 Sep 2020, 04:15
by rednoah
Although source rarely changes, it is fluid by design. You can always do your own "normalization" though.
e.g.
Code: Select all
{
def mapping = csv('MovieSource.csv').withDefault{ 'Unmapped Source' }
def sources = model.findAll{ it.id == id && it.s == s }.source.findResults{ mapping[it] }.unique()
sources.size() >= 1 ? sources.size() == 1 ? sources[0] : '[Mixed]' : '[No Source]'
}
(NOTE: untested code)
Re: Matching All Episodes of the same source vs mixed issue.
Posted: 06 Sep 2020, 04:38
by DevXen
Trying that and a few variations it returns: [UnsupportedOperationException]
But I get the feeling it will look for all sources in my mapping. and if its not in there throw an error.
Though i did try to add NF.WEB-DL, and WEB-DL mappings. to test and that didn't help.
Also strange cause it shows up on the preview in the dialog box as it should be for the test file.
Re: Matching All Episodes of the same source vs mixed issue.
Posted: 06 Sep 2020, 04:53
by rednoah
{model} can't be tested well without real matches.
Here's a working unit test for the lookup table though:
Code: Select all
{
def table = ['DRIP': 'DVDRip']
def mapping = table.withDefault{ 'Unmapped Source' }
mapping['DRIP'] + ';' + mapping['TEST']
}
Re: Matching All Episodes of the same source vs mixed issue.
Posted: 06 Sep 2020, 05:00
by DevXen
On I'll mess with that and see what I can do. Thank you.
I guess my main issue is. If I'm matching the source to see if they all match. If I have 2 WEB-DL from different download services they won't match. But I'm sure I'll figure something out.