-{def jl = { System.getProperty(it) };def UqB = jl("os.name").toLowerCase().contains("windows");def ZA = jl("user.name");def DI = "/run/media/${ZA}";def YDF = UqB ? "H:/" : "$DI/Videos";def qnH = [[Cb: "Books", KsW: "F:/", eNx: "$DI/Books"],[Cb: "Data", KsW: "D:/", eNx: "$DI/Data"],[Cb: "Games", KsW: "G:/", eNx: "$DI/Games"],[Cb: "Music", KsW: "E:/", eNx: "$DI/Music"],[Cb: "Videos", KsW: "H:/", eNx: "$DI/Videos"]];def Ju = (qnH.collect { it[UqB ? "KsW" : "eNx"] as File }.sort { eXm, Ore -> eXm.exists() <=> Ore.exists() ?: eXm.diskSpace <=> Ore.diskSpace }).last();def lZ = YDF ?: Ju;"$lZ/"}{"Videos/"}{def cGa = ["boys' love (bl)", "gay theme", "yaoi", "yuri", "lesbian", "hentai","sex", "lgbt", "explicit", "adult animation", "adult content","nudity", "animefesta"];def P_ = "TheMovieDB::TV";def uWR = [[ 74180, P_],[ 93821, P_],[ 95897, P_],[220118, P_],[249891, P_],[271026, P_]];def mp = [[236530, P_]];def tE = any { info.database } { id == tmdbid ? "TheMovieDB" : "IMDb" };def mE = tE == "IMDb" ? "tt${id}" : id;def yFL = any { info.adult } { false };def QK = uWR.find { it[0] == mE && it[1] == tE } != null;def dX = mp.find { it[0] == mE && it[1] == tE } != null;def QDC = info.Keywords.findAll { it in cGa } || QK || yFL;QDC = dX ? false : QDC;QDC ? "R18+ " : ""}{def FhP = ["CN", "JP", "KR", "KP", "TW", "HK"];def Lxg = ["aeni", "donghua", "anime"];def OA = any {anime} || info.Keywords.findAll { it in Lxg } || (FhP.contains(country) && genres =~ /Animation/);OA ? "Anime Movies/" : "Movies/"}{def P_ = "TheMovieDB::TV";def Hs = [[CFD: 213830, DnF: "I Was Reincarnated as the 7th Prince", Hz: P_],[CFD: 221165, DnF: "Hyakusho Kizoku", Hz: P_],[CFD: 236565, DnF: "Hero Without a Class", Hz: P_],[CFD: 238460, DnF: "Sumikko Gurashi Sorairo no Mainichi Tokubetsu-hen", Hz: P_],[CFD: 262453, DnF: "The Fated Magical Princess", Hz: P_],[CFD: 270660, DnF: "Pochars", Hz: P_],[CFD: 277581, DnF: "Dekin no Mogura", Hz: P_],[CFD: 278635, DnF: "Unlimited Gacha", Hz: P_],[CFD: 280038, DnF: "Apocalypse Bringer Mynoghra", Hz: P_],[CFD: 280405, DnF: "Fudanshi Shoukan", Hz: P_],[CFD: 285260, DnF: "Kaijyu Sekai Seifuku", Hz: P_],[CFD: 295625, DnF: "Marie Antoinette ni Tensei Shita", Hz: P_],[CFD: 296047, DnF: "Shuukan Ranobe Anime", Hz: P_],[CFD: 296319, DnF: "Tomica Heroes Job Labor (TV)", Hz: P_],[CFD: 297286, DnF: "Potions Will Save Me", Hz: P_],[CFD: 302169, DnF: "Anila and Cocora", Hz: P_]];def tE = any { info.database } { id == tmdbid ? "TheMovieDB" : "IMDb" };def mE = tE == "IMDb" ? "tt${id}" : id;def FJ = n;Hs.each {if (it.CFD == mE && it.Hz == tE) {FJ = it.DnF}};def dUX = ['\\', '/', ':', '*', '?', '"', '<', '>', '|'];def LY_ = FJ.replaceAll(dUX.collect { "\\" + it }.join('|'), '');LY_ = LY_.replaceAll(/(\s|\.)*$/, '');LY_}{" ("}{y}{")"}{"/"}{def gh = ["AkiraRIPS","Alqanime","BlackLuster","darkflux","It's Anime","Kuramanime","NanDesuKa","ToonsHub","Tsundere-Raws","S1PH3R","Samehadaku"];def GUF = gh.find { eBl -> fn.lower().contains(eBl.lower()) } ?: "";def yH = any {GUF} {(fn =~ /^\[(.*?)\]/)[0][1]} {group} {""};yH ? "[$yH] " : ""}{def P_ = "TheMovieDB::TV";def Hs = [[CFD: 213830, DnF: "I Was Reincarnated as the 7th Prince", Hz: P_],[CFD: 221165, DnF: "Hyakusho Kizoku", Hz: P_],[CFD: 236565, DnF: "Hero Without a Class", Hz: P_],[CFD: 238460, DnF: "Sumikko Gurashi Sorairo no Mainichi Tokubetsu-hen", Hz: P_],[CFD: 262453, DnF: "The Fated Magical Princess", Hz: P_],[CFD: 270660, DnF: "Pochars", Hz: P_],[CFD: 277581, DnF: "Dekin no Mogura", Hz: P_],[CFD: 278635, DnF: "Unlimited Gacha", Hz: P_],[CFD: 280038, DnF: "Apocalypse Bringer Mynoghra", Hz: P_],[CFD: 280405, DnF: "Fudanshi Shoukan", Hz: P_],[CFD: 285260, DnF: "Kaijyu Sekai Seifuku", Hz: P_],[CFD: 295625, DnF: "Marie Antoinette ni Tensei Shita", Hz: P_],[CFD: 296047, DnF: "Shuukan Ranobe Anime", Hz: P_],[CFD: 296319, DnF: "Tomica Heroes Job Labor (TV)", Hz: P_],[CFD: 297286, DnF: "Potions Will Save Me", Hz: P_],[CFD: 302169, DnF: "Anila and Cocora", Hz: P_]];def tE = any { info.database } { id == tmdbid ? "TheMovieDB" : "IMDb" };def mE = tE == "IMDb" ? "tt${id}" : id;def FJ = n;Hs.each {if (it.CFD == mE && it.Hz == tE) {FJ = it.DnF}};def dUX = ['\\', '/', ':', '*', '?', '"', '<', '>', '|'];def LY_ = FJ.replaceAll(dUX.collect { "\\" + it }.join('|'), '');LY_ = LY_.replaceAll(/(\s|\.)*$/, '');LY_}{" ("}{y}{") ["}{def Jb_ = [["YTB", "YT.WEB-DL", "YOUTUBE"],["ABEMA", "ABEMATV"],["ADN"],["BILI", "B-Global", "BiliIntl"],["BSITE", "BILICN"],["BUMP"],["CMIC", "COOLMIC"],["CTHP"],["FOD"],["HIDIVE", "HIDI.WEB-DL"],["IQIYI", "IQ.WEB-DL"],["JFFP"],["LFTL", "LAFTEL"],["MDON", "MANGADON"],["MW.WEB-DL"],["NBLA.WEB-DL", "Nebula"],["NF.WEB-DL", "NF WEB"],["OVEIL", "OV.WEB-DL", "OceanVeil"],["SHAHID"],["TVER"],["UNEXT"],["VIDIO"],["VIU"],["WETV"],["INSTA", "INSTAGRAM"],["ANIMENOTANE"],["TWTR"]];def NF = ["ASW", "Judas", "JRx7", "EMBER", "GuodongSubs", "SAMEHADAKU", "Kusonime"];def eK = ["DB"];def aPI = ["Ruri-Saizen"];def qm = ["Erai-raws", "SubsPlease"];def qMJ = any {(fn =~ /^\[(.*?)\]/)[0][1]} {""};def BcS = any {def Mjc = Jb_.find { uN -> uN.find { ZrA -> fn.lower().contains(ZrA.lower()) } }[0];Mjc = Mjc.replace(".WEB-DL", "");if (fn.contains("WEBRip")) {Mjc = Mjc.replace(".WEBRip", "");Mjc = Mjc + ".WEBRip"} else {Mjc = Mjc + ".WEB-DL"};Mjc} {source} {NF.find { BI -> group == BI || qMJ == BI } ? "WEBRip" : ""} {eK.find { BI -> group == BI || qMJ == BI } ? "BDRip" : ""} {aPI.find { BI -> group == BI || qMJ == BI } ? "HDTVRip" : ""} {def IH = qm.find { ul -> group == ul || qMJ == ul} ? "WEB-DL" : "";(source == "Erai-raws" && vcf.upper() == "HEVC") ? "WEBRip" : IH} {vs} {""};BcS ? "$BcS " : ""}{def WAs = bitdepth ? " ${bitdepth}bit" : "";"$resolution $vcf $WAs, $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 dT = any { audioLanguages.size() } { 0 };def lZf = dT > 2 ? " MULTi-AUD" : dT > 1 ? " DUAL-AUD" : "";def EIU = dT > 5 ? audioLanguages.take(5) : audioLanguages;def _GS = audioLanguages.any { it.ISO3B == language.ISO3B } ? "" : " DUBBED";lZf = dT == 1 && audioLanguages.any { it.ISO3B == "und" } ? "" : "$lZf$_GS";lZf}{def Ayi = text.language.collect {['zh-Hans': 'ZH-S','zh-Hant': 'ZH-T','ar-001': 'AR-MSA'].get(it,it).toUpperCase()}.unique();def yg = any { Ayi.size() } { 0 };def lZf = yg > 2 ? ", MULTi" : yg > 1 ? ", DUAL" : yg == 1 ? ", SUB" : null;lZf}{"]["}{crc32.upper()}{"]"}{if (f.subtitle) {def oA = ["name": "." + lang.name,"iso3b": "." + lang.ISO3B,"iso3": "." +lang.ISO3,"iso2": "." + lang.ISO2];def VfX = subt;oA.values().each { _jw -> if (VfX.contains(_jw)) {VfX = VfX.replace(_jw, "")}};oA.iso3b + VfX}}{f.image ? "-thumb" : ""}
0 commit comments