Re: Release Groups {group}
Posted: 09 Oct 2017, 22:36
SUJAIDR
This works great for me with only one exception: Groups like "D-Z0N3" or "FTW-HD" are recognized by the {group} binding but your group resolver will remove the part before the "-" - I'll try to fix it when I find some time tomorrowkim wrote: ↑19 Jun 2017, 18:31 You can try my "group" resolver
if in the builtin "group", group-jshdfjhvsdf.ext or sdkjhdvfsdsf-group.ext it will get it
plus some more... "filters"
Code: Select all
{ def dn = call{(file.parentFile.name).match(/(?:\-\w+(?=\[\w+\])|\-\w+$)/)}; def nn = call{fn.match(/(?:(?=(?:19|20)+[0-9]+)\w.+$)/)}; def g = call{(file.parentFile.name+'.'+fn).find(/\-/) ? call{group.replaceAll(/\bDK\b|\bFS\b/,'')} : null}; def gg = '-'+g; def gb = call{fn.match(/(?:^\w{3,}(?=[-]))/)}; def fm = call{fn.match(/(?:(?:\-(?!\bDL\b|\bRip\b|\bES\b|\bHD\b)\w+$)|(?:\-(?!\bDL\b|\bRip\b|\bES\b|\bHD\b)\w+[\.\_]\w+[\-]\w+$)|(?:\-\w+(?=\.cd[0-9]|\-trailer|\.part[0-9]|\.dan|\.eng))|(?:\-(?!\bDL\b|\bRip\b|\bES\b|\bHD\b)\w+[\-\.\_](?!\b720p\b|\b1080p\b)\w+$)|(?:\-\w+[\.]+\w+(?=\.cd[0-9]))|(?:\-(?!\bDL\b|\bRip\b|\bES\b|\bHD\b)\w+(?=\[\w+\]$)))/)}; if(g!=null && dn!=null && gg.equalsIgnoreCase(dn)) return '-'+g; if(g!=null && dn!=null) return dn; if(nn==null && dn!=null) return dn; if(g!=null && (fm!=null||gb!=null) && (gg.equalsIgnoreCase(fm) || g.equalsIgnoreCase(gb))) return '-'+g; if(g!=null && g!= '' && (fm!=null && gb!=null)) return '-'+g; if(g==null && fm!=null && nn!=null) return ''+fm; if(gb!=null && fm!=null && nn!=null) return '-'+gb; if(gb!=null && g==null && fm==null && g==null && dn==null && nn==null) return '-'+gb; if(g!=null && fm!=null && g!=fm) return fm; if(g==null && fm==null && gb!=null && dn==null && nn==null) return '-'+gb; if(g==null && fm!=null && gb!=null && dn==null && nn==null) return '-'+gb; if(fm!=null) return fm}
angreed wrote: ↑24 Oct 2017, 23:10This works great for me with only one exception: Groups like "D-Z0N3" or "FTW-HD" are recognized by the {group} binding but your group resolver will remove the part before the "-" - I'll try to fix it when I find some time tomorrowkim wrote: ↑19 Jun 2017, 18:31 You can try my "group" resolver
if in the builtin "group", group-jshdfjhvsdf.ext or sdkjhdvfsdsf-group.ext it will get it
plus some more... "filters"
Code: Select all
{ def dn = call{(file.parentFile.name).match(/(?:\-\w+(?=\[\w+\])|\-\w+$)/)}; def nn = call{fn.match(/(?:(?=(?:19|20)+[0-9]+)\w.+$)/)}; def g = call{(file.parentFile.name+'.'+fn).find(/\-/) ? call{group.replaceAll(/\bDK\b|\bFS\b/,'')} : null}; def gg = '-'+g; def gb = call{fn.match(/(?:^\w{3,}(?=[-]))/)}; def fm = call{fn.match(/(?:(?:\-(?!\bDL\b|\bRip\b|\bES\b|\bHD\b)\w+$)|(?:\-(?!\bDL\b|\bRip\b|\bES\b|\bHD\b)\w+[\.\_]\w+[\-]\w+$)|(?:\-\w+(?=\.cd[0-9]|\-trailer|\.part[0-9]|\.dan|\.eng))|(?:\-(?!\bDL\b|\bRip\b|\bES\b|\bHD\b)\w+[\-\.\_](?!\b720p\b|\b1080p\b)\w+$)|(?:\-\w+[\.]+\w+(?=\.cd[0-9]))|(?:\-(?!\bDL\b|\bRip\b|\bES\b|\bHD\b)\w+(?=\[\w+\]$)))/)}; if(g!=null && dn!=null && gg.equalsIgnoreCase(dn)) return '-'+g; if(g!=null && dn!=null) return dn; if(nn==null && dn!=null) return dn; if(g!=null && (fm!=null||gb!=null) && (gg.equalsIgnoreCase(fm) || g.equalsIgnoreCase(gb))) return '-'+g; if(g!=null && g!= '' && (fm!=null && gb!=null)) return '-'+g; if(g==null && fm!=null && nn!=null) return ''+fm; if(gb!=null && fm!=null && nn!=null) return '-'+gb; if(gb!=null && g==null && fm==null && g==null && dn==null && nn==null) return '-'+gb; if(g!=null && fm!=null && g!=fm) return fm; if(g==null && fm==null && gb!=null && dn==null && nn==null) return '-'+gb; if(g==null && fm!=null && gb!=null && dn==null && nn==null) return '-'+gb; if(fm!=null) return fm}