+{def inv = { System.getProperty(it) };def Vql = inv("os.name").toLowerCase().contains("windows");def HM = inv("user.name");def ogf = "/run/media/${HM}";def yY = Vql ? "H:/" : "$ogf/Videos";def qp = [[gZ: "Books", SB: "F:/", ldL: "$ogf/Books"],[gZ: "Data", SB: "D:/", ldL: "$ogf/Data"],[gZ: "Games", SB: "G:/", ldL: "$ogf/Games"],[gZ: "Music", SB: "E:/", ldL: "$ogf/Music"],[gZ: "Videos", SB: "H:/", ldL: "$ogf/Videos"]];def xh = (qp.collect { it[Vql ? "SB" : "ldL"] as File }.sort { ysg, UIh -> ysg.exists() <=> UIh.exists() ?: ysg.diskSpace <=> UIh.diskSpace }).last();def Pk = yY ?: xh;"$Pk/"}{"Videos/"}{def XSW = ["boys' love (bl)", "gay theme", "yaoi", "yuri", "lesbian", "hentai","sex", "lgbt", "explicit", "adult animation", "adult content","nudity"];def Ek = "TheMovieDB::TV";def tR = [[ 74180, Ek],[ 93821, Ek],[ 95897, Ek],[220118, Ek],[271026, Ek]];def Pbd = [[236530, Ek]];def svR = any { info.database } { id == tmdbid ? "TheMovieDB" : "IMDb" };def lFQ = svR == "IMDb" ? "tt${id}" : id;def AAh = any { info.adult } { false };def ab = tR.find { it[0] == lFQ && it[1] == svR } != null;def Jy = Pbd.find { it[0] == lFQ && it[1] == svR } != null;def hr = info.Keywords.findAll { it in XSW } || ab || AAh;hr = Jy ? false : hr;hr ? "R18+ " : ""}{def OFe = ["CN", "JP", "KR", "KP", "TW", "HK"];def Il = ["aeni", "donghua", "anime"];def TOp = any {anime} || info.Keywords.findAll { it in Il } || (OFe.contains(country) && genres =~ /Animation/);TOp ? "Anime Movies/" : "Movies/"}{def Ek = "TheMovieDB::TV";def ueh = [[jq: 68854, q_Y: "From Me to You", Dte: Ek],[jq: 219816, q_Y: "Fate/Grand Order: Fujimaru Ritsuka Doesn't Get It", Dte: Ek],[jq: 245561, q_Y: "Okitsura", Dte: Ek],[jq: 248707, q_Y: "Neko Oji The Guy That Got Reincarnated As a Cat", Dte: Ek],[jq: 259559, q_Y: "Headhunted to Another World", Dte: Ek],[jq: 261301, q_Y: "Botsuraku Kizoku", Dte: Ek],[jq: 262141, q_Y: "Can You Keep a Secret", Dte: Ek],[jq: 270657, q_Y: "Tono to Inu", Dte: Ek],[jq: 276204, q_Y: "Bogus Skill Fruitmaster", Dte: Ek]];def svR = any { info.database } { id == tmdbid ? "TheMovieDB" : "IMDb" };def lFQ = svR == "IMDb" ? "tt${id}" : id;def Rke = n;ueh.each {if (it.jq == lFQ && it.Dte == svR) {Rke = it.q_Y}};def kp = ['\\', '/', ':', '*', '?', '"', '<', '>', '|'];def jc = Rke.replaceAll(kp.collect { "\\" + it }.join('|'), '');jc = jc.replaceAll(/(\s|\.)*$/, '');jc}{" ("}{y}{")"}{"/"}{def aF = ["Alqanime","BlackLuster","Kuramanime","NanDesuKa","ToonsHub","Tsundere-Raws","Samehadaku"];def jw = aF.find { kF -> fn.lower().contains(kF.lower()) } ?: "";def Lm = any {(fn =~ /^\[(.*?)\]/)[0][1]} {jw} {group} {""};Lm ? "[$Lm] " : ""}{def Ek = "TheMovieDB::TV";def ueh = [[jq: 68854, q_Y: "From Me to You", Dte: Ek],[jq: 219816, q_Y: "Fate/Grand Order: Fujimaru Ritsuka Doesn't Get It", Dte: Ek],[jq: 245561, q_Y: "Okitsura", Dte: Ek],[jq: 248707, q_Y: "Neko Oji The Guy That Got Reincarnated As a Cat", Dte: Ek],[jq: 259559, q_Y: "Headhunted to Another World", Dte: Ek],[jq: 261301, q_Y: "Botsuraku Kizoku", Dte: Ek],[jq: 262141, q_Y: "Can You Keep a Secret", Dte: Ek],[jq: 270657, q_Y: "Tono to Inu", Dte: Ek],[jq: 276204, q_Y: "Bogus Skill Fruitmaster", Dte: Ek]];def svR = any { info.database } { id == tmdbid ? "TheMovieDB" : "IMDb" };def lFQ = svR == "IMDb" ? "tt${id}" : id;def Rke = n;ueh.each {if (it.jq == lFQ && it.Dte == svR) {Rke = it.q_Y}};def kp = ['\\', '/', ':', '*', '?', '"', '<', '>', '|'];def jc = Rke.replaceAll(kp.collect { "\\" + it }.join('|'), '');jc = jc.replaceAll(/(\s|\.)*$/, '');jc}{" ("}{y}{")"}{" ["}{def uO = [["ABEMA"],["ADN"],["BBC"],["BILI", "B-Global", "BiliIntl", "B-Site", "BiliCN"],["BOOKCUBE"],["COOLMIC"],["HIDIVE", "HIDI.WEB-DL"],["IQIYI", "IQ.WEB-DL"],["JFFP"],["LAFTEL", "LFTL"],["MDON", "MANGADON"],["MW.WEB-DL"],["NF.WEB-DL", "NF WEB"],["SHAHID"],["TVER"],["UNEXT"],["WETV"],["YTB", "YT.WEB-DL", "YOUTUBE"]];def jTX = ["ASW", "Judas", "JRx7", "EMBER", "KawaSubs", "GuodongSubs", "SAMEHADAKU"];def Zu = ["Erai-raws", "SubsPlease"];def Hmg = any {(fn =~ /^\[(.*?)\]/)[0][1]} {""};def XUX = any {def Wbj = uO.find { KV -> KV.find { HiJ -> fn.lower().contains(HiJ.lower()) } }[0];Wbj = Wbj.replace(".WEB-DL", "");Wbj ? "${Wbj}.WEB-DL" : ""} {source} {jTX.find { PP -> group == PP || Hmg == PP } ? "WEBRip" : ""} {def eE = Zu.find { El -> group == El || Hmg == El} ? "WEB-DL" : "";(source == "Erai-raws" && vcf.upper() == "HEVC") ? "WEBRip" : eE} {vs} {""};XUX ? "$XUX " : ""}{def xd = bitdepth ? " ${bitdepth}bit" : "";"$resolution $vcf $xd, $ac"}{" "}{af.format(8: 'DD+ 7.1',7: '6.1',6: 'DD 5.1',5: '5.0',3: '2.1',2: '2.0',1: '1.0')}{def Ptf = " Dub";def gj = audioLanguages.any { it.ISO3B == language.ISO3B } ? "" : Ptf;gj = audioLanguages.size() == 1 && audioLanguages.any { it.ISO3B == "und" } ? "" : gj;gj}{def AQo = any { audioLanguages.size() } { 0 };def gj = AQo > 2 ? " MAud" : AQo > 1 ? " DAud" : null;def Bkk = AQo > 5 ? audioLanguages.take(5) : audioLanguages;gj ? gj + Bkk.joining(" ", " (", "").upper() + (AQo > 5 ? " ...)" : ")") : ""}{def Wo = any { textLanguages.size() } { 0 };def gj = Wo > 2 ? ", MSub" : Wo > 1 ? ", DSub" : null;def Bkk = Wo > 5 ? textLanguages.take(5) : textLanguages;gj ? gj + Bkk.joining(" ", " (", "").upper() + (Wo > 5 ? " ...)" : ")") : ""}{"]["}{crc32.upper()}{"]"}{if (f.subtitle) {def GD = ["name": "." + lang.name,"iso3b": "." + lang.ISO3B,"iso3": "." +lang.ISO3,"iso2": "." + lang.ISO2];def xxR = subt;GD.values().each { coI -> if (xxR.contains(coI)) {xxR = xxR.replace(coI, "")}};GD.iso3b + xxR}}{f.image ? "-thumb" : ""}
0 commit comments