From 7dc9a5a6e3251adeca9e11489c7326a1817c7cd8 Mon Sep 17 00:00:00 2001 From: kaoru2 <120291360+kaoru2@users.noreply.github.com> Date: Fri, 10 May 2024 16:19:27 +0800 Subject: [PATCH] chore(src/pt): Remove AnimesVision (#3222) --- src/pt/animesvision/AndroidManifest.xml | 23 - src/pt/animesvision/build.gradle | 7 - .../res/mipmap-hdpi/ic_launcher.png | Bin 3005 -> 0 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 1626 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 4429 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 8715 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 12535 -> 0 bytes .../pt/animesvision/AVFilters.kt | 1508 ----------------- .../pt/animesvision/AVUrlActivity.kt | 43 - .../pt/animesvision/AnimesVision.kt | 281 --- .../pt/animesvision/dto/AnimesVisionDto.kt | 41 - .../extractors/AnimesVisionExtractor.kt | 16 - .../pt/animesvision/extractors/JsDecoder.kt | 40 - 13 files changed, 1959 deletions(-) delete mode 100644 src/pt/animesvision/AndroidManifest.xml delete mode 100644 src/pt/animesvision/build.gradle delete mode 100644 src/pt/animesvision/res/mipmap-hdpi/ic_launcher.png delete mode 100644 src/pt/animesvision/res/mipmap-mdpi/ic_launcher.png delete mode 100644 src/pt/animesvision/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 src/pt/animesvision/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 src/pt/animesvision/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/AVFilters.kt delete mode 100644 src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/AVUrlActivity.kt delete mode 100644 src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/AnimesVision.kt delete mode 100644 src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/dto/AnimesVisionDto.kt delete mode 100644 src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/extractors/AnimesVisionExtractor.kt delete mode 100644 src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/extractors/JsDecoder.kt diff --git a/src/pt/animesvision/AndroidManifest.xml b/src/pt/animesvision/AndroidManifest.xml deleted file mode 100644 index 8164a545f..000000000 --- a/src/pt/animesvision/AndroidManifest.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/src/pt/animesvision/build.gradle b/src/pt/animesvision/build.gradle deleted file mode 100644 index f6dd8a2d9..000000000 --- a/src/pt/animesvision/build.gradle +++ /dev/null @@ -1,7 +0,0 @@ -ext { - extName = 'AnimesVision' - extClass = '.AnimesVision' - extVersionCode = 25 -} - -apply from: "$rootDir/common.gradle" diff --git a/src/pt/animesvision/res/mipmap-hdpi/ic_launcher.png b/src/pt/animesvision/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index ed2a0a0045c8569a03b8d4f2df5527c9ba3873cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3005 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 diff --git a/src/pt/animesvision/res/mipmap-mdpi/ic_launcher.png b/src/pt/animesvision/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index a8b447412401c82eeeddd57420bc0a68b59eb8d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1626 zcmV-g2BrClP)WaBlqnK1!f-OARxt?jzbb1Eg}dfR($Thfr&U{$g&vQ` z=(}-X;NNHXw*LG4b1eVGo=4BiWHOsttu7^cR#~l9jt?OOph!#{+q zQlqcWjpV_pxYp80wrOanJB|m&%|OfVmoaK|CLP1$()n7X3>)d4hFtf^(A{8xGI1~z zdL#N>y>R_`6|v){z}Zj-m3bJt>Z_q0ItKCt6YRfLLpM4Lj;jscdz{u*^x3`ROE!SG zxHzu^*$>ahp3k-*Yw}Fw=jTJC(W3r*J#JX-SdsSv)^FI1cZ*hG^7I^Bss9yEJ+~Ys z9~a?Z{9Jn=;tzs-*+0UAGA-Y4@Z2yZx9xZ5pyBPQ;O87Sx`t zMSk9k*jDm6mgl{M&D+1gYq<-sdfi7Te*1Oo+Px2#8(Xnr*N5PDnFWQ(4Asns z(7Uq)F;k}?#+V3qb0ciqH(}7;gYcX_gYJtpaGa`!X+sIn+Y1o4J&jGcx$jeH0A%)K zg-nhg51#y$!Lm=Ar%l)iA9rCZqdKD6?n4V>yfNb0-ME zF_<>)z<|qzfm0U9<~<7A(&wcE=!_{iu>Sy_Ui>n?+Pf1qXX~-AtPCG+D8>hycXB+>k379i`7R(2#(6hf3uFDsoeQZ8t z9bLf4;pnfeg>v>>^c1gyW@Q09ZEbL!JP!5D9CYR{Mf~>_us!>vGyt7WXN@x^V@T?7 zT&g>XtOs+@Me_Cf)hoEqJOrGbLuy(&Y#r@rxBdmSmdrjqPAF8dAoFR+Nh5A*Zo$YA z!%%BE16x}Q;>Kpf(b`DA2tYY#2$_k}QTZH+HJm z5pBjKIGQh@uglvk*%~ng;P(MS6P!SO0n71VJv9G*U){_ATCFx{KOj^=C_`_t{=!eV zZNX9OZIErs|1Lg^Gq zkU;4gate`ek<1PRi*5uXFUeNIl}Z(|1EGL02oD{A^>r#1-9Y_> z1o7-|A*E6&=m0BBFtHLEtPmSpN9GT}Dq2eKEHUc-m$LyV6pDyBAOv8-xrVF2wjK4906uLeT@bfwaFv#WdPsqG>5&sFS=@en%J{fz+&N5Oc$n6C` zp(Q3YxgeE56p`(03M6DXivwY#ivO)ta5*W3r2IjO!~diZ06nH9C4m$@DGE~P%1tzW zG}3*f&~>q!r1bblp9%`JPE3ze;mTX$qqU+>0cgHc2)a7?pS9v>35%GU{{uuUlp#Lo YAO0y=i{}S?egFUf07*qoM6N<$f|&{UR{#J2 diff --git a/src/pt/animesvision/res/mipmap-xhdpi/ic_launcher.png b/src/pt/animesvision/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index de9e87f4a1937d530c0fa45188bf4505a4014a10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4429 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 diff --git a/src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/AVFilters.kt b/src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/AVFilters.kt deleted file mode 100644 index 5cf40998d..000000000 --- a/src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/AVFilters.kt +++ /dev/null @@ -1,1508 +0,0 @@ -package eu.kanade.tachiyomi.animeextension.pt.animesvision - -import eu.kanade.tachiyomi.animesource.model.AnimeFilter -import eu.kanade.tachiyomi.animesource.model.AnimeFilterList - -object AVFilters { - - internal open class SelectFilter( - displayName: String, - val vals: Array>, - ) : AnimeFilter.Select( - displayName, - vals.map { it.first }.toTypedArray(), - ) { - inline val selected get() = vals[state].second - } - - internal open class CheckBoxFilterList(name: String, values: List) : AnimeFilter.Group(name, values) - private class CheckBoxVal(name: String) : AnimeFilter.CheckBox(name, false) - - private inline fun AnimeFilterList.parseCheckbox( - options: Array>, - ): String { - return (first { it is R } as CheckBoxFilterList).state - .asSequence() - .filter { it.state } - .map { checkbox -> options.find { it.first == checkbox.name }!!.second } - .filter(String::isNotBlank) - .joinToString(",") - } - - private inline fun AnimeFilterList.getSelected(): String { - return (first { it is R } as SelectFilter).selected - } - - internal class TypeFilter : SelectFilter("Tipo", TYPES) - internal class StatusFilter : SelectFilter("Status", STATUS) - internal class LanguageFilter : SelectFilter("Idioma", LANGUAGES) - internal class SortFilter : SelectFilter("Ordenar", ORDERS) - internal class InitialYearFilter : SelectFilter("Ano Inicial", INITIAL_YEAR) - internal class LastYearFilter : SelectFilter("Ano Final", LAST_YEAR) - internal class FansubFilter : SelectFilter("Fansubs", FANSUBS) - internal class SeasonFilter : SelectFilter("Temporada", SEASONS) - internal class StudioFilter : SelectFilter("Estúdio", STUDIOS) - internal class ProducerFilter : SelectFilter("Produtora", PRODUCERS) - - internal class GenresFilter : CheckBoxFilterList( - "Gêneros", - GENRES.map { CheckBoxVal(it.first) }, - ) - - internal val FILTER_LIST get() = AnimeFilterList( - TypeFilter(), - StatusFilter(), - LanguageFilter(), - SortFilter(), - InitialYearFilter(), - LastYearFilter(), - FansubFilter(), - SeasonFilter(), - StudioFilter(), - ProducerFilter(), - GenresFilter(), - ) - - data class FilterSearchParams( - val type: String = "", - val status: String = "", - val language: String = "", - val sort: String = "padrao", - val initial_year: String = "1917", - val last_year: String = "2024", - val fansub: String = "", - val season: String = "", - val studio: String = "", - val producer: String = "", - val genres: String = "", - ) - - internal fun getSearchParameters(filters: AnimeFilterList): FilterSearchParams { - if (filters.isEmpty()) return FilterSearchParams() - - return FilterSearchParams( - filters.getSelected(), - filters.getSelected(), - filters.getSelected(), - filters.getSelected(), - filters.getSelected(), - filters.getSelected(), - filters.getSelected(), - filters.getSelected(), - filters.getSelected(), - filters.getSelected(), - filters.parseCheckbox(GENRES), - ) - } - - private val EVERY = Pair("Todos", "") - private val TYPES = arrayOf( - EVERY, - Pair("Animes", "1"), - Pair("Filmes", "2"), - Pair("Doramas", "4"), - Pair("Cartoons", "5"), - Pair("Live Actions", "6"), - ) - - private val STATUS = arrayOf( - EVERY, - Pair("Finalizado", "1"), - Pair("Sendo exibido", "2"), - Pair("Ainda não exibido", "3"), - ) - - private val LANGUAGES = arrayOf( - EVERY, - Pair("Legendados", "1"), - Pair("Dublados", "2"), - ) - - private val ORDERS = arrayOf( - Pair("Padrão", ""), - Pair("Adicionado Recentemente", "adicionado_recentemente"), - Pair("Atualizado Recentemente", "atualizado_recentemente"), - Pair("Título de A-Z", "titulo_az"), - Pair("Mais visualizados", "mais_visualizados"), - ) - - private val INITIAL_YEAR = (1917..2024).map { - Pair(it.toString(), it.toString()) - }.toTypedArray() - - private val LAST_YEAR = INITIAL_YEAR.reversed().toTypedArray() - - private val SEASONS = arrayOf( - EVERY, - Pair("Inverno 2024", "167"), - Pair("Outono 2023 ", "166"), - Pair("Verão 2023", "165"), - Pair("Primavera 2023", "164"), - Pair("Inverno 2022", "157"), - Pair("Primavera 2022", "159"), - Pair("Verão 2022", "161"), - Pair("Outono 2022", "162"), - Pair("Inverno 2021", "1"), - Pair("Primavera 2021", "152"), - Pair("Verão 2021", "155"), - Pair("Outono 2021", "156"), - Pair("Inverno 2020", "5"), - Pair("Primavera 2020", "4"), - Pair("Verão 2020", "3"), - Pair("Outono 2020", "2"), - Pair("Inverno 2019", "23"), - Pair("Primavera 2019", "18"), - Pair("Verão 2019", "7"), - Pair("Outono 2019", "6"), - Pair("Inverno 2018", "75"), - Pair("Primavera 2018", "73"), - Pair("Verão 2018", "69"), - Pair("Outono 2018", "67"), - Pair("Inverno 2017", "131"), - Pair("Primavera 2017", "128"), - Pair("Verão 2017", "126"), - Pair("Outono 2017", "76"), - Pair("Inverno 2016", "139"), - Pair("Primavera 2016", "138"), - Pair("Verão 2016", "137"), - Pair("Outono 2016", "134"), - Pair("Inverno 2015", "147"), - Pair("Primavera 2015", "146"), - Pair("Verão 2015", "145"), - Pair("Outono 2015", "144"), - Pair("Inverno 2014", "151"), - Pair("Primavera 2014", "150"), - Pair("Verão 2014", "149"), - Pair("Outono 2014", "148"), - Pair("Verão 2013", "154"), - Pair("Outono 2013", "153"), - Pair("Inverno 2007", "140"), - Pair("Primavera 2007", "141"), - Pair("Verão 2007", "142"), - Pair("Outono 2007", "143"), - Pair("Inverno 2006", "132"), - Pair("Primavera 2006", "133"), - Pair("Verão 2006", "135"), - Pair("Outono 2006", "136"), - Pair("Inverno 2005", "125"), - Pair("Primavera 2005", "127"), - Pair("Verão 2005", "129"), - Pair("Outono 2005", "130"), - Pair("Inverno 2004", "121"), - Pair("Primavera 2004", "122"), - Pair("Verão 2004", "123"), - Pair("Outono 2004", "124"), - Pair("Inverno 2003", "117"), - Pair("Primavera 2003", "118"), - Pair("Verão 2003", "119"), - Pair("Outono 2003", "120"), - Pair("Inverno 2002", "113"), - Pair("Primavera 2002", "114"), - Pair("Verão 2002", "115"), - Pair("Outono 2002", "116"), - Pair("Inverno 2001", "110"), - Pair("Primavera 2001", "111"), - Pair("Verão 2001", "112"), - Pair("Outono 2001", "109"), - Pair("Inverno 2000", "105"), - Pair("Primavera 2000", "107"), - Pair("Verão 2000", "108"), - Pair("Outono 2000", "106"), - Pair("Inverno 1999", "101"), - Pair("Primavera 1999", "102"), - Pair("Verão 1999", "104"), - Pair("Outono 1999", "103"), - Pair("Inverno 1998", "97"), - Pair("Primavera 1998", "98"), - Pair("Verão 1998", "99"), - Pair("Outono 1998", "100"), - Pair("Inverno 1997", "95"), - Pair("Primavera 1997", "93"), - Pair("Verão 1997", "94"), - Pair("Outono 1997", "96"), - Pair("Inverno 1996", "89"), - Pair("Primavera 1996", "90"), - Pair("Verão 1996", "92"), - Pair("Outono 1996", "91"), - Pair("Inverno 1995", "85"), - Pair("Primavera 1995", "86"), - Pair("Verão 1995", "88"), - Pair("Outono 1995", "87"), - Pair("Inverno 1994", "81"), - Pair("Primavera 1994", "82"), - Pair("Verão 1994", "84"), - Pair("Outono 1994", "83"), - Pair("Inverno 1993", "77"), - Pair("Primavera 1993", "78"), - Pair("Verão 1993", "79"), - Pair("Outono 1993", "80"), - Pair("Inverno 1992", "68"), - Pair("Primavera 1992", "71"), - Pair("Verão 1992", "70"), - Pair("Outono 1992", "74"), - Pair("Inverno 1991", "63"), - Pair("Primavera 1991", "64"), - Pair("Verão 1991", "65"), - Pair("Outono 1991", "66"), - Pair("Inverno 1990", "60"), - Pair("Primavera 1990", "61"), - Pair("Outono 1990", "62"), - Pair("Inverno 1989", "56"), - Pair("Primavera 1989", "57"), - Pair("Verão 1989", "58"), - Pair("Outono 1989", "59"), - Pair("Inverno 1988", "52"), - Pair("Primavera 1988", "53"), - Pair("Verão 1988", "54"), - Pair("Outono 1988", "55"), - Pair("Inverno 1987", "48"), - Pair("Primavera 1987", "49"), - Pair("Verão 1987", "50"), - Pair("Outono 1987", "51"), - Pair("Inverno 1986", "43"), - Pair("Primavera 1986", "45"), - Pair("Verão 1986", "46"), - Pair("Outono 1986", "47"), - Pair("Inverno 1985", "39"), - Pair("Primavera 1985", "40"), - Pair("Verão 1985", "41"), - Pair("Outono 1985", "42"), - Pair("Inverno 1984", "36"), - Pair("Primavera 1984", "37"), - Pair("Outono 1984", "38"), - Pair("Inverno 1983", "32"), - Pair("Primavera 1983", "33"), - Pair("Verão 1983", "35"), - Pair("Outono 1983", "34"), - Pair("Inverno 1982", "30"), - Pair("Primavera 1982", "28"), - Pair("Verão 1982", "29"), - Pair("Outono 1982", "31"), - Pair("Inverno 1981", "24"), - Pair("Primavera 1981", "25"), - Pair("Verão 1981", "26"), - Pair("Outono 1981", "27"), - Pair("Outono 1980", "22"), - Pair("Inverno 1979", "19"), - Pair("Primavera 1979", "20"), - Pair("Inverno 1978", "16"), - Pair("Outono 1978", "17"), - ) - - private val FANSUBS = arrayOf( - EVERY, - Pair("AMA", "ama"), - Pair("ANSK", "ansk"), - Pair("Absolute", "absolute"), - Pair("Aenianos", "aenianos"), - Pair("Akogare", "akogare"), - Pair("Anipakku", "anipakku"), - Pair("Armagedon", "armagedon"), - Pair("Atlantida", "atlantida"), - Pair("BAS", "bas"), - Pair("Dollars", "dollars"), - Pair("Elite", "elite fansub"), - Pair("Eternal Animes", "eternal animes"), - Pair("Fênix Sub", "fênix sub"), - Pair("Hacchi", "hacchi"), - Pair("Hacchi", "hacchi"), - Pair("Infinite", "infinite"), - Pair("Kiyoteru", "kiyoteru"), - Pair("Kyoshiro", "kyoshiro"), - Pair("Lolicons Anônimos", "lolicons anonimos"), - Pair("Nippon", "nippon"), - Pair("Oficial", "oficial"), - Pair("Proxy", "proxy"), - Pair("SubVision", "subvision"), - ) - - private val STUDIOS = arrayOf( - EVERY, - Pair("3xCube", "329"), - Pair("8bit", "75"), - Pair("A-1 Pictures", "39"), - Pair("A-Real", "233"), - Pair("A.C.G.T.", "185"), - Pair("Acca effe", "301"), - Pair("Actas", "133"), - Pair("AIC ASTA", "146"), - Pair("AIC Build", "277"), - Pair("AIC Classic", "237"), - Pair("AIC Frontier", "221"), - Pair("AIC PLUS+", "159"), - Pair("AIC Spirits", "110"), - Pair("AIC", "88"), - Pair("Ajia-Do", "93"), - Pair("Albacrow", "290"), - Pair("Anima&Co.", "274"), - Pair("animate Film", "90"), - Pair("Animation Do", "327"), - Pair("Animation Staff Room", "310"), - Pair("Ankama Animations", "214"), - Pair("Annapuru", "156"), - Pair("APPP", "138"), - Pair("ARECT", "332"), - Pair("Arms", "101"), - Pair("Artland", "130"), - Pair("Artmic", "89"), - Pair("Arvo Animation", "67"), - Pair("Asahi Production", "179"), - Pair("Asatsu DK", "147"), - Pair("Ascension", "308"), - Pair("Ashi Production", "189"), - Pair("asread.", "36"), - Pair("Asura Film", "199"), - Pair("AtelierPontdarc", "6"), - Pair("AXsiZ", "70"), - Pair("B.CMAY PICTURES", "154"), - Pair("B&T", "260"), - Pair("Bakken Record", "309"), - Pair("Bandai Namco Pictures", "132"), - Pair("Barnum Studio", "300"), - Pair("Bee Media", "119"), - Pair("Bee Train", "94"), - Pair("BeSTACK", "192"), - Pair("Bibury Animation Studios", "144"), - Pair("BigFireBird Animation", "249"), - Pair("Blade", "126"), - Pair("Bones", "9"), - Pair("Bouncy", "203"), - Pair("Brain's Base", "96"), - Pair("Bridge", "105"), - Pair("C-Station", "242"), - Pair("C2C", "53"), - Pair("CANDY BOX", "177"), - Pair("Chaos Project", "235"), - Pair("Children's Playground Entertainment", "66"), - Pair("China Literature Limited", "225"), - Pair("CLAP", "335"), - Pair("CloverWorks", "150"), - Pair("Colored Pencil Animation", "92"), - Pair("CoMix Wave Films", "19"), - Pair("Connect", "44"), - Pair("Craftar Studios", "184"), - Pair("Creators in Pack", "208"), - Pair("CygamesPictures", "294"), - Pair("D.A.S.T.", "165"), - Pair("DandeLion Animation Studio", "161"), - Pair("Darts", "291"), - Pair("Daume", "35"), - Pair("David Production", "83"), - Pair("Digital Network Animation", "341"), - Pair("Diomedéa", "32"), - Pair("DLE", "111"), - Pair("DMM.futureworks", "153"), - Pair("Doga Kobo", "37"), - Pair("domerica", "272"), - Pair("Dongwoo A&E", "181"), - Pair("DRAWIZ", "320"), - Pair("Drive", "157"), - Pair("Dwango", "81"), - Pair("Dynamic Planning", "190"), - Pair("Dynamo Pictures", "173"), - Pair("E&G Films", "288"), - Pair("Egg Firm", "85"), - Pair("Eiken", "134"), - Pair("EKACHI EPILKA", "56"), - Pair("Emon", "125"), - Pair("EMT Squared", "164"), - Pair("Encourage Films", "86"), - Pair("ENGI", "4"), - Pair("Ezόla", "246"), - Pair("Fanworks", "155"), - Pair("feel.", "65"), - Pair("Felix Film", "231"), - Pair("Fifth Avenue", "169"), - Pair("Filmlink International", "140"), - Pair("FILMONY", "311"), - Pair("FLAGSHIP LINE", "64"), - Pair("G-angle", "240"), - Pair("G&G Entertainment", "304"), - Pair("Gainax Kyoto", "232"), - Pair("Gainax", "80"), - Pair("Gallop", "186"), - Pair("Gambit", "52"), - Pair("Gathering", "259"), - Pair("GEEK TOYS", "261"), - Pair("GEMBA", "280"), - Pair("Geno Studio", "26"), - Pair("GIFTanimation", "47"), - Pair("Giga Production", "302"), - Pair("Ginga Ya", "295"), - Pair("GoHands", "31"), - Pair("Gonzo", "116"), - Pair("Gosay Studio", "313"), - Pair("Graphinica", "63"), - Pair("Green Monster Team", "248"), - Pair("GRIZZLY", "337"), - Pair("Group TAC", "117"), - Pair("Grouper Productions", "183"), - Pair("Hal Film Maker", "14"), - Pair("Haoliners Animation League", "124"), - Pair("Hiro Media", "253"), - Pair("Hoods Drifters Studio", "265"), - Pair("Hoods Entertainment", "79"), - Pair("HORNETS", "298"), - Pair("Hotline", "198"), - Pair("HOTZIPANG", "158"), - Pair("I.Gzwei", "299"), - Pair("ILCA", "281"), - Pair("IMAGICA Lab.", "315"), - Pair("Imagineer", "166"), - Pair("Indivision", "57"), - Pair("Ishimori Entertainment", "333"), - Pair("Issen", "285"), - Pair("ixtl", "215"), - Pair("Iyasakadou Film", "247"), - Pair("J.C.Staff", "8"), - Pair("Japan Vistec", "123"), - Pair("K-Factory", "128"), - Pair("Kachidoki Studio", "278"), - Pair("Kamikaze Douga", "23"), - Pair("Karaku", "127"), - Pair("Khara", "238"), - Pair("Kigumi", "342"), - Pair("Kinema Citrus", "22"), - Pair("Kitty Film Mitaka Studio", "129"), - Pair("Kitty Films", "131"), - Pair("Knack Productions", "142"), - Pair("Kyoto Animation", "76"), - Pair("l-a-unch・BOX", "122"), - Pair("L²Studio", "102"), - Pair("LandQ studios", "257"), - Pair("Lapin Track", "229"), - Pair("Larx Entertainment", "40"), - Pair("Lay-duce", "171"), - Pair("Lerche", "49"), - Pair("Lesprit", "91"), - Pair("LEVELS", "321"), - Pair("LIDENFILMS Kyoto Studio", "58"), - Pair("LIDENFILMS Osaka Studio", "306"), - Pair("LIDENFILMS", "55"), - Pair("Life Work", "296"), - Pair("LMD", "137"), - Pair("M.S.C", "220"), - Pair("Madhouse", "45"), - Pair("Magia Doraglier", "314"), - Pair("Magic Bus", "234"), - Pair("Maho Film", "108"), - Pair("Manglobe", "100"), - Pair("MAPPA", "7"), - Pair("Marone", "251"), - Pair("Marvy Jack", "178"), - Pair("Marza Animation Planet", "330"), - Pair("Millepensee", "218"), - Pair("Minami Machi Bugyousho", "222"), - Pair("MMT Technology", "322"), - Pair("Mushi Production", "175"), - Pair("Namu Animation", "250"), - Pair("NAZ", "149"), - Pair("Nexus", "141"), - Pair("Nice Boat Animation", "317"), - Pair("Nihon Ad Systems", "293"), - Pair("Nippon Animation", "34"), - Pair("Nomad", "43"), - Pair("Nut", "262"), - Pair("Oh! Production", "254"), - Pair("Okuruto Noboru", "191"), - Pair("OLM Digital", "286"), - Pair("OLM Team Yoshioka", "339"), - Pair("OLM", "28"), - Pair("Orange", "95"), - Pair("Ordet", "269"), - Pair("Original Force", "324"), - Pair("P.A. Works", "98"), - Pair("P.I.C.S.", "312"), - Pair("Palm Studio", "118"), - Pair("Passione", "72"), - Pair("Pastel", "78"), - Pair("Picture Magic", "268"), - Pair("Pierrot Plus", "10"), - Pair("Pine Jam", "106"), - Pair("Platinum Vision", "263"), - Pair("Polygon Pictures", "77"), - Pair("PPM", "180"), - Pair("PRA", "87"), - Pair("Primastea", "282"), - Pair("Production +h.", "343"), - Pair("production doA", "136"), - Pair("Production GoodBook", "264"), - Pair("Production I.G", "21"), - Pair("Production IMS", "99"), - Pair("Production Reed", "197"), - Pair("Project No.9", "209"), - Pair("Purple Cow Studio Japan", "270"), - Pair("Quad", "338"), - Pair("Qualia Animation", "104"), - Pair("Radix", "160"), - Pair("RAMS", "245"), - Pair("Remic", "307"), - Pair("Revoroot", "284"), - Pair("Rising Force", "168"), - Pair("Robot Communications", "266"), - Pair("Rockwell Eyes", "244"), - Pair("Ruo Hong Culture", "319"), - Pair("Saetta", "305"), - Pair("Samsara Animation Studio", "318"), - Pair("Sanrio", "256"), - Pair("SANZIGEN", "170"), - Pair("Satelight", "46"), - Pair("Science SARU", "27"), - Pair("Seven Arcs Pictures", "202"), - Pair("Seven Arcs", "42"), - Pair("Seven Stone Entertainment", "292"), - Pair("Shaft", "30"), - Pair("Shanghai Foch Film and TV Culture Investment", "267"), - Pair("Shenying Animation", "336"), - Pair("Shin-Ei Animation", "84"), - Pair("Shinkuukan", "283"), - Pair("Shirogumi", "151"), - Pair("Shuka", "82"), - Pair("SIDO LIMITED", "303"), - Pair("Signal.MD", "73"), - Pair("SILVER LINK.", "1"), - Pair("Soft Garage", "213"), - Pair("Sola Digital Arts", "279"), - Pair("Soyep", "297"), - Pair("Space Neko Company", "115"), - Pair("Sprite Animation Studios", "287"), - Pair("Square Enix", "326"), - Pair("Steve N' Steven", "243"), - Pair("Stingray", "174"), - Pair("Studio 3Hz", "148"), - Pair("Studio 4°C", "172"), - Pair("Studio A-CAT", "120"), - Pair("Studio Animal", "331"), - Pair("Studio Bind", "74"), - Pair("Studio Blanc", "38"), - Pair("Studio Chizu", "210"), - Pair("Studio Colorido", "25"), - Pair("Studio Comet", "187"), - Pair("Studio Crocodile", "228"), - Pair("Studio Daisy", "323"), - Pair("Studio Deen", "12"), - Pair("Studio elle", "121"), - Pair("Studio Fantasia", "33"), - Pair("Studio Flad", "68"), - Pair("Studio Flag", "328"), - Pair("Studio Ghibli", "112"), - Pair("Studio Gokumi", "54"), - Pair("Studio Hibari", "205"), - Pair("Studio Jemi", "48"), - Pair("Studio Kafka", "334"), - Pair("Studio Kai", "193"), - Pair("Studio Kyuuma", "201"), - Pair("Studio LAN", "226"), - Pair("Studio Lings", "216"), - Pair("Studio Live", "230"), - Pair("Studio Matrix", "143"), - Pair("studio MOTHER", "340"), - Pair("Studio Nue", "217"), - Pair("Studio Palette", "71"), - Pair("Studio Pierrot", "2"), - Pair("Studio Ponoc", "206"), - Pair("Studio PuYUKAI", "196"), - Pair("Studio Rikka", "41"), - Pair("Studio Signal", "275"), - Pair("Studio Signpost", "11"), - Pair("Studio Unicorn", "252"), - Pair("Studio VOLN", "236"), - Pair("Studio World", "258"), - Pair("Sublimation", "51"), - Pair("Sunrise Beyond", "50"), - Pair("Sunrise", "29"), - Pair("SynergySP", "59"), - Pair("Tatsunoko Production", "17"), - Pair("Team TillDawn", "188"), - Pair("Team YokkyuFuman", "113"), - Pair("teamKG", "289"), - Pair("Tear Studio", "316"), - Pair("Telecom Animation Film", "182"), - Pair("Tencent Animation & Comics", "224"), - Pair("Tezuka Productions", "18"), - Pair("The Answer Studio", "139"), - Pair("Think Corporation", "255"), - Pair("TMS Entertainment", "13"), - Pair("TNK", "109"), - Pair("Todos", ""), - Pair("Toei Animation", "3"), - Pair("Toho Interactive Animation", "223"), - Pair("Tokyo Kids", "114"), - Pair("Tokyo Media Connections", "204"), - Pair("Tokyo Movie Shinsha", "135"), - Pair("Tomason", "195"), - Pair("Topcraft", "273"), - Pair("Trans Arts", "219"), - Pair("Tri-Slash", "211"), - Pair("Triangle Staff", "271"), - Pair("TriF Studio", "207"), - Pair("Trigger", "24"), - Pair("Trinet Entertainment", "200"), - Pair("TROYCA", "163"), - Pair("Twilight Studio", "241"), - Pair("TYO Animations", "107"), - Pair("Typhoon Graphics", "227"), - Pair("ufotable", "20"), - Pair("Vega Entertainment", "60"), - Pair("Venet", "145"), - Pair("View Works", "276"), - Pair("Visual Flight", "239"), - Pair("W-Toon Studio", "152"), - Pair("Wan Wei Mao Donghua", "325"), - Pair("WAO World", "167"), - Pair("White Fox", "97"), - Pair("Wit Studio", "16"), - Pair("Wolfsbane", "69"), - Pair("XEBEC M2", "103"), - Pair("Xebec", "15"), - Pair("XFLAG Pictures", "212"), - Pair("Yaoyorozu", "194"), - Pair("Yokohama Animation Lab", "5"), - Pair("Yostar Pictures", "176"), - Pair("Yumeta Company", "62"), - Pair("Zero-G", "61"), - Pair("Zexcs", "162"), - ) - - private val PRODUCERS = arrayOf( - EVERY, - Pair("12 Diary Holders", "67"), - Pair("1st PLACE", "432"), - Pair("3xCube", "482"), - Pair("5pb.", "358"), - Pair("81 Produce", "119"), - Pair("A-1 Pictures", "650"), - Pair("A-Craft", "567"), - Pair("A-Line", "467"), - Pair("A-Sketch", "129"), - Pair("A3", "361"), - Pair("ABC Animation", "2"), - Pair("Abe Shuuji Jimusho", "594"), - Pair("AbemaTV", "726"), - Pair("AC Create", "622"), - Pair("AC-Bu", "677"), - Pair("ADK Emotions", "489"), - Pair("ADK Marketing Solutions", "111"), - Pair("Adores", "500"), - Pair("Aeon Entertainment", "317"), - Pair("AG-ONE", "642"), - Pair("Age Global Networks", "241"), - Pair("Agent 21", "764"), - Pair("Ai Addiction", "274"), - Pair("AIC Rights", "466"), - Pair("AIC", "208"), - Pair("AKABEiSOFT2", "728"), - Pair("Akatsuki", "487"), - Pair("Akita Shoten", "442"), - Pair("Alchemist", "647"), - Pair("Amber Film Works", "712"), - Pair("AMG Entertainment", "632"), - Pair("AMG MUSIC", "519"), - Pair("Amuse", "316"), - Pair("Amusement Media Academy", "507"), - Pair("AN Entertainment", "435"), - Pair("Anima&Co.", "267"), - Pair("Animaruya", "434"), - Pair("animate Film", "256"), - Pair("Animatic", "297"), - Pair("Animation 21", "623"), - Pair("Animation Do", "459"), - Pair("Animatsu Entertainment", "638"), - Pair("Animax", "164"), - Pair("Anime Beans", "695"), - Pair("Anime Consortium Japan", "250"), - Pair("Anime R", "497"), - Pair("Aniplex", "4"), - Pair("Ankama", "453"), - Pair("Annapuru", "347"), - Pair("Aoni Entertainment", "375"), - Pair("Aoni Production", "641"), - Pair("APDREAM", "686"), - Pair("Apollon", "444"), - Pair("AQUA ARIS", "269"), - Pair("Aquamarine", "702"), - Pair("AQUAPLUS", "512"), - Pair("arma bianca", "532"), - Pair("Arquebuse", "645"), - Pair("Artist Management Office", "249"), - Pair("Artmic", "465"), - Pair("Asahi Broadcasting", "162"), - Pair("Asahi Production", "176"), - Pair("Asahi Shimbun", "276"), - Pair("Asatsu DK", "143"), - Pair("ASCII Media Works", "204"), - Pair("Ashi Production", "579"), - Pair("Ashisuto", "724"), - Pair("Asmik Ace", "144"), - Pair("AT-X", "22"), - Pair("Atelier Musa", "215"), - Pair("Atlus", "651"), - Pair("Audio Highs", "236"), - Pair("Audio Planning U", "568"), - Pair("Audio Tanaka", "303"), - Pair("Avex Entertainment", "141"), - Pair("Avex Pictures", "18"), - Pair("Avex Technologies", "755"), - Pair("AZ Creative", "494"), - Pair("Azumaker", "424"), - Pair("Bandai Channel", "527"), - Pair("Bandai Namco Arts", "98"), - Pair("Bandai Namco Entertainment", "78"), - Pair("Bandai Namco Games", "216"), - Pair("Bandai Namco Live Creative", "293"), - Pair("Bandai Namco Rights Marketing", "404"), - Pair("Bandai Spirits", "96"), - Pair("Bandai Visual", "48"), - Pair("Banpresto", "152"), - Pair("Barnum Studio", "376"), - Pair("Beijing Enlight Pictures", "570"), - Pair("Beijing IMMG", "680"), - Pair("Being", "495"), - Pair("Beyond C.", "339"), - Pair("Big Bang", "696"), - Pair("Big West", "401"), - Pair("BIGFACE", "477"), - Pair("BIGLOBE", "461"), - Pair("bilibili", "159"), - Pair("Bit grooove promotion", "12"), - Pair("Bit Promotion", "336"), - Pair("BloomZ", "631"), - Pair("BMG Japan", "485"), - Pair("BookLive", "592"), - Pair("Bouncy", "171"), - Pair("Brave Hearts", "572"), - Pair("Bridge", "451"), - Pair("Broccoli", "170"), - Pair("BS Asahi", "369"), - Pair("BS Fuji", "118"), - Pair("BS Japan", "454"), - Pair("BS NTV", "194"), - Pair("BS-TBS", "286"), - Pair("BS11", "108"), - Pair("Bulls Eye", "535"), - Pair("Bungeishunjuu", "640"), - Pair("Bushiroad Move", "186"), - Pair("Bushiroad Music", "181"), - Pair("Bushiroad", "95"), - Pair("Buzz Wave", "766"), - Pair("C & I entertainment", "698"), - Pair("C-one", "625"), - Pair("CA-Cygames Anime Fund", "541"), - Pair("Cammot", "251"), - Pair("Capcom", "281"), - Pair("CBC Television", "323"), - Pair("CBS", "163"), - Pair("chara-ani.com", "66"), - Pair("Chiba TV", "421"), - Pair("Children's Playground Entertainment", "380"), - Pair("China Animation Characters", "476"), - Pair("China Film Animation", "679"), - Pair("China Literature Limited", "475"), - Pair("Christmas Holly", "581"), - Pair("Chrono Gear Creative", "462"), - Pair("Chugai Mining", "212"), - Pair("Chukyo TV Broadcasting", "97"), - Pair("CIC", "731"), - Pair("Cloud22", "455"), - Pair("Coamix", "563"), - Pair("Cocoro Free", "636"), - Pair("Code", "87"), - Pair("COLOPL", "658"), - Pair("Comic Animation", "518"), - Pair("Comic Umenohone", "582"), - Pair("comico", "445"), - Pair("COMICSMART", "717"), - Pair("CoMix Wave Films", "377"), - Pair("Contents Seed", "116"), - Pair("Cosmic Ray", "299"), - Pair("Cospa", "193"), - Pair("CREi", "736"), - Pair("Crest", "777"), - Pair("Cromea", "254"), - Pair("Crunchyroll SC Anime Fund", "183"), - Pair("CTW", "656"), - Pair("CUCURI", "771"), - Pair("Culture Entertainment", "595"), - Pair("CyberAgent", "99"), - Pair("CyberConnect2", "763"), - Pair("CyberStep", "552"), - Pair("Cyclone Graphics", "242"), - Pair("Cygames", "165"), - Pair("d-rights", "209"), - Pair("D-techno", "121"), - Pair("D.A.S.T.", "659"), - Pair("D.N. Dream Partners", "418"), - Pair("Da Huoniao Donghua", "683"), - Pair("Dai Nippon Printing", "393"), - Pair("Daiichi Shokai", "270"), - Pair("Daiichikosho", "606"), - Pair("Darts", "585"), - Pair("Daume", "732"), - Pair("DAX Production", "76"), - Pair("Dear Stage inc.", "147"), - Pair("Deho Gallery", "711"), - Pair("Delfi Sound", "70"), - Pair("Delightworks", "734"), - Pair("DeNA", "104"), - Pair("Dentsu Meitetsu Communications", "753"), - Pair("Dentsu", "26"), - Pair("Digital Frontier", "379"), - Pair("Digital Works", "730"), - Pair("Directions", "86"), - Pair("DIVE II Entertainment", "34"), - Pair("DMM Music", "106"), - Pair("DMM pictures", "62"), - Pair("DMM.com Labo", "573"), - Pair("DMM.com", "313"), - Pair("DMM.futureworks", "327"), - Pair("Docomo Anime Store", "127"), - Pair("Dream Creation", "300"), - Pair("Dream Force", "537"), - Pair("Dream Shift", "546"), - Pair("Drecom", "665"), - Pair("Duckbill Entertainment", "437"), - Pair("dugout", "16"), - Pair("Dwango", "68"), - Pair("Dynamic Planning", "569"), - Pair("Dynamo Pictures", "520"), - Pair("e-notion", "610"), - Pair("E&G Films", "217"), - Pair("Earth Star Entertainment", "328"), - Pair("eBooK Initiative Japan", "646"), - Pair("Echoes", "302"), - Pair("Egg Firm", "79"), - Pair("ELF-IN", "271"), - Pair("EMI", "387"), - Pair("Emon", "229"), - Pair("Enoki Films", "357"), - Pair("ensky", "513"), - Pair("entama", "130"), - Pair("Enterbrain", "153"), - Pair("Epicross", "463"), - Pair("eStream", "776"), - Pair("Eswood", "333"), - Pair("Evil Line Records", "312"), - Pair("Exa International", "314"), - Pair("Exit Tunes", "306"), - Pair("Eye Move", "372"), - Pair("F.M.F", "329"), - Pair("f4samurai", "363"), - Pair("FABTONE", "720"), - Pair("famima.com", "390"), - Pair("FanFan Inc.", "262"), - Pair("Fanworks", "539"), - Pair("FBC", "562"), - Pair("feng", "285"), - Pair("Fields", "291"), - Pair("FILMONY", "673"), - Pair("Flex Comix", "158"), - Pair("flying DOG", "23"), - Pair("Forecast Communications", "268"), - Pair("Fosun Entertainment Japan", "768"), - Pair("Free-Will", "257"), - Pair("Front Line", "604"), - Pair("Front Wing", "185"), - Pair("Frontier Works", "20"), - Pair("Fuji Creative", "123"), - Pair("Fuji TV", "7"), - Pair("Fuji&gumi Games", "706"), - Pair("Fujimi Shobo", "234"), - Pair("Fujio Production", "714"), - Pair("Fujipacific Music", "259"), - Pair("Fujishouji", "545"), - Pair("Fukuoka Broadcasting System", "385"), - Pair("FuRyu", "120"), - Pair("Futabasha", "491"), - Pair("FUTURE LEAP", "657"), - Pair("G-mode", "471"), - Pair("G&G Entertainment", "601"), - Pair("GAGA", "470"), - Pair("Gainax", "528"), - Pair("Gakken", "597"), - Pair("Gallop", "587"), - Pair("Gamegate", "308"), - Pair("GANSIS", "311"), - Pair("GDH", "213"), - Pair("Genco", "64"), - Pair("Geneon Universal Entertainment", "94"), - Pair("Gentosha Comics", "207"), - Pair("Gigno Systems", "373"), - Pair("Global Solutions", "175"), - Pair("Glovision", "56"), - Pair("Gonzo", "620"), - Pair("Good Smile Company", "148"), - Pair("Good Smile Film", "246"), - Pair("GOON TRAX", "719"), - Pair("GRANTdesign", "634"), - Pair("Graphinica", "243"), - Pair("GREE Entertainment", "205"), - Pair("Green Bunny", "578"), - Pair("Greenwood", "586"), - Pair("Group TAC", "222"), - Pair("GYAO!", "128"), - Pair("Gzbrain", "635"), - Pair("Hakoniwa Academy Student Council", "427"), - Pair("Hakuhodo DY Media Partners", "51"), - Pair("Hakuhodo DY Music & Pictures", "115"), - Pair("Hakusensha", "53"), - Pair("Hal Film Maker", "63"), - Pair("Half H.P Studio", "107"), - Pair("Haoliners Animation League", "230"), - Pair("Happinet Pictures", "58"), - Pair("Happy Elements", "433"), - Pair("Harappa", "509"), - Pair("Harmony Gold", "499"), - Pair("Hawkeye", "684"), - Pair("Hayakawa Shobou", "508"), - Pair("Heart Company", "112"), - Pair("HeART-BIT", "739"), - Pair("Heewon Entertainment", "664"), - Pair("Heiwa", "457"), - Pair("Heroz", "618"), - Pair("High Kick Entertainment", "210"), - Pair("Highlights Entertainment", "406"), - Pair("Hikari TV", "543"), - Pair("Hiroshima Television", "90"), - Pair("HJ Holdings", "746"), - Pair("HOBBY BASE Yellow Submarine", "556"), - Pair("Hobby Japan", "289"), - Pair("Hobibox", "332"), - Pair("Hochi Shimbun", "577"), - Pair("Hokkaido Azmacy", "740"), - Pair("Hokkaido Cultural Broadcasting", "630"), - Pair("Hoods Entertainment", "514"), - Pair("HoriPro International", "648"), - Pair("HoriPro", "378"), - Pair("Hotline", "103"), - Pair("HOTZIPANG", "325"), - Pair("Houbunsha", "72"), - Pair("Hulu", "381"), - Pair("I was a Ballerina", "264"), - Pair("I Will", "588"), - Pair("i0+", "177"), - Pair("ibis Capital Partners", "699"), - Pair("Ichigo Animation", "517"), - Pair("Ichijinsha", "360"), - Pair("Idea Factory", "138"), - Pair("ILCA", "749"), - Pair("Ima Group", "479"), - Pair("IMAGICA Lab.", "155"), - Pair("ImaginAsian Entertainment", "770"), - Pair("Imagine", "296"), - Pair("INCS toenter", "114"), - Pair("Index", "551"), - Pair("Infinite", "192"), - Pair("iQIYI", "748"), - Pair("it's", "157"), - Pair("Iwatobi High School Swimming Club", "741"), - Pair("J.C.Staff", "506"), - Pair("Japan Home Video", "619"), - Pair("Japan Sleeve", "596"), - Pair("Japan Volleyball Association", "765"), - Pair("jeux d'eau", "362"), - Pair("Jinnan Studio", "160"), - Pair("JM Animation", "338"), - Pair("JR East Marketing & Communications", "42"), - Pair("JTB Entertainment", "179"), - Pair("JTB Next Creation", "554"), - Pair("Jumondo", "287"), - Pair("Just Production", "391"), - Pair("JY Animation", "292"), - Pair("K-Factory", "627"), - Pair("Kadokawa Animation", "727"), - Pair("Kadokawa Contents Gate", "167"), - Pair("Kadokawa Daiei Studio", "515"), - Pair("Kadokawa Media (Taiwan)", "671"), - Pair("Kadokawa Media House", "113"), - Pair("Kadokawa Pictures Japan", "65"), - Pair("Kadokawa Shoten", "57"), - Pair("Kadokawa", "11"), - Pair("Kakao Japan", "492"), - Pair("Kamikaze Douga", "745"), - Pair("Kanetsu Investment", "174"), - Pair("Kanon Sound", "188"), - Pair("Kansai Telecasting", "228"), - Pair("KBS", "150"), - Pair("KDDI", "550"), - Pair("KEN ON", "417"), - Pair("KENMedia", "218"), - Pair("Khara", "414"), - Pair("Kids Station", "219"), - Pair("King Records", "74"), - Pair("Kinoshita Group Holdings", "247"), - Pair("Kinoshita Koumuten", "350"), - Pair("Kinoshita Management", "589"), - Pair("Kinyosha", "602"), - Pair("Kitty Films", "231"), - Pair("Kiyosumi High School Mahjong Club", "607"), - Pair("KJJ Animation", "682"), - Pair("KLab", "83"), - Pair("KlockWorx", "55"), - Pair("Kobunsha", "742"), - Pair("Kodansha", "36"), - Pair("Koei Tecmo Games", "663"), - Pair("Konami Digital Entertainment", "729"), - Pair("Konami", "468"), - Pair("KSS", "9"), - Pair("Kyoraku Industrial Holdings", "59"), - Pair("Lantis", "49"), - Pair("Lawson Entertainment", "45"), - Pair("Lawson HMV Entertainment", "41"), - Pair("Legs", "166"), - Pair("Level-5", "480"), - Pair("Liber Entertainment", "284"), - Pair("Libre", "574"), - Pair("LIDENFILMS", "662"), - Pair("LINE Corporation", "415"), - Pair("LinkedBrain", "549"), - Pair("Live Viewing Japan", "616"), - Pair("Lucent Pictures Entertainment", "576"), - Pair("Lucky Paradise", "750"), - Pair("m.o.e.", "536"), - Pair("M.S.C", "469"), - Pair("Mad Box", "681"), - Pair("Madhouse", "713"), - Pair("Mag Garden", "25"), - Pair("MAGES.", "73"), - Pair("Magic Bus", "187"), - Pair("Magic Capsule", "61"), - Pair("MAGNET", "85"), - Pair("Maho Film", "722"), - Pair("Mainichi Broadcasting System", "14"), - Pair("Manga Productions", "345"), - Pair("Marine Entertainment", "516"), - Pair("Marubeni", "456"), - Pair("Marui Group", "195"), - Pair("Marvel Entertainment", "410"), - Pair("Marvelous AQL", "309"), - Pair("Marvelous", "149"), - Pair("Media Do", "279"), - Pair("Media Factory", "137"), - Pair("Media Rings", "674"), - Pair("MediaLink Entertainment Limited", "538"), - Pair("MediaNet Pictures", "140"), - Pair("Medicos Entertainment", "226"), - Pair("Mellow Head", "599"), - Pair("Melonbooks", "639"), - Pair("Memory-Tech", "252"), - Pair("Micro Magazine Publishing", "109"), - Pair("Milestone Music Publishing", "202"), - Pair("Milky Cartoon", "621"), - Pair("Mill Creek Entertainment", "349"), - Pair("Mime Corporation", "156"), - Pair("Minami Machi Bugyousho", "305"), - Pair("Miracle Bus", "238"), - Pair("Miracle Robo", "237"), - Pair("Mirai-Kojo", "555"), - Pair("Mixer", "690"), - Pair("Miyagi Television Broadcasting", "383"), - Pair("Miyazaki Broadcasting", "633"), - Pair("Mobcast", "321"), - Pair("Möbius Tone", "708"), - Pair("Moonbell", "548"), - Pair("Movic", "28"), - Pair("Muse Communication", "168"), - Pair("Music Brains", "775"), - Pair("Music Ray'n", "203"), - Pair("My Theater D.D.", "407"), - Pair("Myrica Music", "184"), - Pair("NADA Holdings", "439"), - Pair("Nagoya Broadcasting Network", "398"), - Pair("Naver Webtoons", "474"), - Pair("NAZ", "557"), - Pair("NBCUniversal Entertainment Japan", "13"), - Pair("NEC Avenue", "443"), - Pair("Nelke Planning", "685"), - Pair("Nelvana", "426"), - Pair("NetEase", "399"), - Pair("Netflix", "84"), - Pair("NewGin", "580"), - Pair("Nexon", "122"), - Pair("NHK Enterprises", "134"), - Pair("NHK-BS2", "628"), - Pair("NHK", "30"), - Pair("NHN PlayArt", "478"), - Pair("NIANTIC", "386"), - Pair("NichiNare", "227"), - Pair("Nichion", "190"), - Pair("Nihon Ad Systems", "81"), - Pair("Nihon Falcom", "522"), - Pair("Nihon Keizai Koukokusha", "413"), - Pair("Nikkatsu", "341"), - Pair("Nintendo", "697"), - Pair("Nippon Animation", "335"), - Pair("Nippon Columbia", "92"), - Pair("Nippon Cultural Broadcasting", "105"), - Pair("Nippon Ichi Software", "412"), - Pair("Nippon Shuppan Hanbai (Nippan) K.K.", "490"), - Pair("Nippon Television Music", "364"), - Pair("Nippon Television Network", "77"), - Pair("Nishinippon Broadcasting", "504"), - Pair("Nitroplus", "180"), - Pair("North Stars Pictures", "342"), - Pair("Notes", "126"), - Pair("NTT Docomo", "253"), - Pair("NTT Plala", "182"), - Pair("OB Planning", "125"), - Pair("Office ENDLESS", "273"), - Pair("OLM", "502"), - Pair("Omnibus Japan", "133"), - Pair("On The Run", "304"), - Pair("On-Lead", "762"), - Pair("ONEMUSIC", "436"), - Pair("Orange", "605"), - Pair("Orchid Seed", "359"), - Pair("Overlap", "337"), - Pair("Palm Studio", "221"), - Pair("Parco", "609"), - Pair("Pazzy Entertainment", "561"), - Pair("pH Studio", "294"), - Pair("Pia", "591"), - Pair("Pierrot Plus", "611"), - Pair("Pink Pineapple", "511"), - Pair("Pioneer LDC", "298"), - Pair("Planet", "721"), - Pair("Plum", "488"), - Pair("Plus One", "735"), - Pair("Po10tial", "751"), - Pair("Polygon Pictures", "688"), - Pair("Pony Canyon Enterprise", "38"), - Pair("Pony Canyon", "35"), - Pair("PPP", "703"), - Pair("PRA", "233"), - Pair("Production Ace", "290"), - Pair("Production I.G", "19"), - Pair("Q-Tec", "244"), - Pair("Qiying Animation", "744"), - Pair("QREAZY", "759"), - Pair("Quaras", "629"), - Pair("Quatre Stella", "761"), - Pair("RAB Aomori Broadcasting", "738"), - Pair("Radio Osaka", "608"), - Pair("Radix", "422"), - Pair("Raku High Student Council", "351"), - Pair("Rakuonsha", "5"), - Pair("Rakuten", "521"), - Pair("RAY", "161"), - Pair("Remic", "603"), - Pair("Rex Entertainment", "704"), - Pair("Rialto Entertainment", "486"), - Pair("RightTracks", "670"), - Pair("Rironsha", "278"), - Pair("Robot Communications", "343"), - Pair("Romantica club !!", "747"), - Pair("Rondo Robe", "223"), - Pair("Royal Limousine", "530"), - Pair("Ryukyu Asahi Broadcasting", "348"), - Pair("S-TAR7", "716"), - Pair("Saban Brands", "689"), - Pair("Sakura Create", "69"), - Pair("Sammy", "154"), - Pair("Sankyo Planning", "752"), - Pair("Sanrio", "295"), - Pair("Sanyo Bussan", "669"), - Pair("SANZIGEN", "472"), - Pair("Sapporo Television Broadcasting", "382"), - Pair("Satelight", "531"), - Pair("Sav! The World Productions", "31"), - Pair("SB Creative", "409"), - Pair("Scarlet", "769"), - Pair("Science SARU", "60"), - Pair("Sega Interactive", "718"), - Pair("Sega", "322"), - Pair("Seikaisha", "737"), - Pair("Seven", "566"), - Pair("Shaft", "756"), - Pair("Shanghai Animation Film Studio", "450"), - Pair("Shanghai Tiantan Culture & Media", "438"), - Pair("Shelty", "558"), - Pair("Shimogumi", "593"), - Pair("Shin-Ei Animation", "320"), - Pair("Shinchosha", "501"), - Pair("Shinshokan", "245"), - Pair("Shizuoka Daiichi Television", "384"), - Pair("Shochiku Music Publishing", "767"), - Pair("Shochiku", "21"), - Pair("Shogakukan Music & Digital Entertainment", "542"), - Pair("Shogakukan-Shueisha Productions", "91"), - Pair("Shogakukan", "82"), - Pair("Shounen Gahousha", "334"), - Pair("Shout! Factory", "612"), - Pair("Show Corporation", "452"), - Pair("Showgate", "50"), - Pair("Shueisha", "6"), - Pair("Shufunotomo", "151"), - Pair("Shun Produce", "263"), - Pair("SILVER LINK.", "694"), - Pair("SKY Perfect Well Think", "353"), - Pair("SKY PerfecTV!", "275"), - Pair("Slow Curve", "272"), - Pair("SME Visual Works", "255"), - Pair("Smile Company", "40"), - Pair("Smiral Animation", "330"), - Pair("Soeishinsha", "324"), - Pair("Soft Garage", "258"), - Pair("SoftBank Creative", "248"), - Pair("SoftX", "523"), - Pair("Sogo Vision", "135"), - Pair("Sol Blade", "397"), - Pair("Sola Entertainment", "473"), - Pair("Sonilude", "169"), - Pair("Sony Creative Products", "498"), - Pair("Sony Interactive Entertainment", "666"), - Pair("Sony Music Communications", "71"), - Pair("Sony Music Entertainment", "29"), - Pair("Sony Music Solutions", "110"), - Pair("Sony PCL", "52"), - Pair("Sony Pictures Entertainment", "211"), - Pair("Sotsu Music Publishing", "214"), - Pair("Sotsu", "32"), - Pair("Sound Team Don Juan", "365"), - Pair("Souten no Ken", "691"), - Pair("Sovat Theater", "583"), - Pair("Spacey Music Entertainment", "534"), - Pair("Spectrum", "772"), - Pair("SPO Entertainment", "565"), - Pair("Square Enix", "1"), - Pair("Starchild Records", "132"), - Pair("Stardust Promotion", "615"), - Pair("Starry Cube", "654"), - Pair("Steve N' Steven", "449"), - Pair("STORY", "44"), - Pair("Straight Edge", "80"), - Pair("Strawberry Meets Pictures", "743"), - Pair("Stray Cats", "355"), - Pair("Studio A-CAT", "102"), - Pair("Studio Blanc", "701"), - Pair("Studio CHANT", "301"), - Pair("Studio Comet", "661"), - Pair("Studio elle", "280"), - Pair("Studio Fantasia", "428"), - Pair("Studio GOONEYS", "687"), - Pair("Studio Gram", "733"), - Pair("Studio Hibari", "265"), - Pair("Studio Jack", "47"), - Pair("Studio Junio", "754"), - Pair("Studio Kai", "705"), - Pair("Studio Kelmadick", "392"), - Pair("Studio Kikan", "199"), - Pair("Studio Kyuuma", "510"), - Pair("Studio LAN", "481"), - Pair("Studio Mausu", "33"), - Pair("Studio Mir", "571"), - Pair("Studio Moriken", "660"), - Pair("Studio NOIX", "346"), - Pair("Studio Nue", "402"), - Pair("Studio Pastoral", "405"), - Pair("Studio Pierrot", "493"), - Pair("Studio Saki Makura", "668"), - Pair("Studio Shamrock", "307"), - Pair("Studio Take Off", "693"), - Pair("Studio Tulip", "260"), - Pair("Studio Wombat", "626"), - Pair("Studio Zain", "408"), - Pair("studioGONG", "389"), - Pair("StudioRF Inc.", "544"), - Pair("Sumitomo", "145"), - Pair("Sumzap", "17"), - Pair("Sun TV", "93"), - Pair("Sunny Side Up", "440"), - Pair("Sunrise Music Publishing", "403"), - Pair("Sunrise", "239"), - Pair("SUPA LOVE", "653"), - Pair("Synergy Japan", "758"), - Pair("SynergySP", "757"), - Pair("T.O Entertainment", "644"), - Pair("Tablier Communications", "526"), - Pair("Takahashi Studio", "447"), - Pair("Takara Tomy A.R.T.S", "368"), - Pair("Takeshobo", "173"), - Pair("TAKI Corporation", "614"), - Pair("tamakoshi", "655"), - Pair("TAP", "8"), - Pair("Tapioca", "464"), - Pair("Tatsunoko Production", "598"), - Pair("TBS", "131"), - Pair("TC Entertainment", "356"), - Pair("TEAM Entertainment Inc.", "760"), - Pair("Techno Sound", "37"), - Pair("Teichiku Entertainment", "564"), - Pair("Telecom Animation Film", "318"), - Pair("Tencent Animation & Comics", "525"), - Pair("Tencent Japan", "524"), - Pair("Tencent Penguin Pictures", "282"), - Pair("Tezuka Productions", "352"), - Pair("The Answer Studio", "575"), - Pair("Think Corporation", "559"), - Pair("THINKR", "547"), - Pair("Three Fat Samurai", "396"), - Pair("TMS Entertainment", "142"), - Pair("TMS Music", "189"), - Pair("TMS-Kyokuchi", "584"), - Pair("TO Books", "411"), - Pair("Tochigi TV", "643"), - Pair("Todas", ""), - Pair("Toei Agency", "172"), - Pair("Toei Animation", "266"), - Pair("Toei Video", "319"), - Pair("Tohan Corporation", "590"), - Pair("TOHO animation", "15"), - Pair("Toho Interactive Animation", "725"), - Pair("Toho Music", "206"), - Pair("Toho Visual Entertainment", "709"), - Pair("Tohokushinsha Film Corporation", "101"), - Pair("Tokuma Japan Communications", "232"), - Pair("Tokuma Shoten", "224"), - Pair("Tokyo Animator Gakuin", "553"), - Pair("Tokyo Kids", "400"), - Pair("Tokyo Movie Shinsha", "288"), - Pair("Tokyo MX", "24"), - Pair("Tokyo Theatres", "678"), - Pair("TOMY Company", "649"), - Pair("Top Marshal", "560"), - Pair("Top-Insight International", "310"), - Pair("Toppan Printing", "484"), - Pair("Toranoana", "198"), - Pair("Tose", "672"), - Pair("Toshiba Digital Frontiers", "675"), - Pair("Toshiba EMI", "431"), - Pair("Toshiba Entertainment", "220"), - Pair("Tosho Printing", "637"), - Pair("Toy's Factory", "146"), - Pair("Toyo Recording", "394"), - Pair("Trans Arts", "371"), - Pair("Trick Block", "88"), - Pair("Trigger", "533"), - Pair("Trilogy Future Studio", "225"), - Pair("Trinet Entertainment", "540"), - Pair("Trinity Sound", "235"), - Pair("TRUSS", "441"), - Pair("Tsuburaya Productions", "692"), - Pair("Tsukuru no Mori", "613"), - Pair("TSUTAYA", "723"), - Pair("TV Aichi", "429"), - Pair("TV Asahi Music", "617"), - Pair("TV Asahi", "196"), - Pair("TV Osaka", "366"), - Pair("TV Saitama", "420"), - Pair("TV Tokyo Music", "10"), - Pair("TV Tokyo", "3"), - Pair("Twin Engine", "46"), - Pair("TYO Animations", "460"), - Pair("Typhoon Graphics", "715"), - Pair("U-NEXT", "458"), - Pair("Ultra Super Pictures", "136"), - Pair("Universal Music Japan", "496"), - Pair("Universal Pictures Japan", "600"), - Pair("Universal Studios", "707"), - Pair("VAP", "75"), - Pair("Victor Entertainment", "39"), - Pair("Video Market", "529"), - Pair("Visual 80", "331"), - Pair("Visual Arts", "100"), - Pair("Visual Vision", "277"), - Pair("VIZ Media", "624"), - Pair("voque ting", "43"), - Pair("Voyager Entertainment", "503"), - Pair("VV-ALKLINE", "710"), - Pair("W-Toon Studio", "326"), - Pair("Walt Disney Japan", "416"), - Pair("Walt Disney Studios", "344"), - Pair("WAO World", "505"), - Pair("Wargaming Japan", "178"), - Pair("Warner Bros. Japan", "54"), - Pair("Warner Bros. Pictures", "448"), - Pair("Warner Music Japan", "425"), - Pair("Wave Master", "773"), - Pair("Wawayu Animation", "124"), - Pair("Wicky.Records", "370"), - Pair("Wolfsbane", "652"), - Pair("World Cosplay Summit", "367"), - Pair("WOWMAX", "774"), - Pair("WOWOW", "191"), - Pair("Xebec", "201"), - Pair("XFLAG Pictures", "446"), - Pair("XFLAG", "240"), - Pair("Xing", "388"), - Pair("Y&N Brothers", "700"), - Pair("Yahoo! Japan", "197"), - Pair("Yamasa", "283"), - Pair("Yaoqi", "200"), - Pair("Yokohama Animation Lab", "676"), - Pair("Yomiko Advertising", "89"), - Pair("Yomiuri Advertising", "315"), - Pair("Yomiuri Shimbun", "419"), - Pair("Yomiuri Telecasting", "27"), - Pair("Yomiuri TV Enterprise", "261"), - Pair("Yoshimoto Creative Agency", "395"), - Pair("Yostar Pictures", "354"), - Pair("Youmex", "430"), - Pair("YTV", "117"), - Pair("Yuhodo", "139"), - Pair("YUKE'S", "340"), - Pair("Zack Promotion", "374"), - Pair("ZERO-A", "483"), - Pair("Zero-G Room", "423"), - Pair("ZOOM ENTERPRISE", "667"), - ) - - private val GENRES = arrayOf( - Pair("Amor de meninas", "amor-de-meninas"), - Pair("Amor de meninos", "amor-de-meninos"), - Pair("Artes Marciais", "artes-marciais"), - Pair("Avant Garde", "avant-garde"), - Pair("Aventura", "aventura"), - Pair("Ação", "acao"), - Pair("Comédia", "comedia"), - Pair("Cotidiano", "cotidiano"), - Pair("Demência", "demencia"), - Pair("Demônios", "demonios"), - Pair("Drama", "drama"), - Pair("Ecchi", "ecchi"), - Pair("Erotica", "erotica"), - Pair("Escolar", "escolar"), - Pair("Espacial", "espacial"), - Pair("Esportes", "esportes"), - Pair("Fantasia", "fantasia"), - Pair("Fatia de vida", "fatia-de-vida"), - Pair("Ficção Científica", "ficcao-cientifica"), - Pair("Game", "game"), - Pair("Garotos amam", "garotos-amam"), - Pair("Gourmet", "gourmet"), - Pair("Harém", "harem"), - Pair("Hentai", "hentai"), - Pair("Histórico", "historico"), - Pair("Horror", "horror"), - Pair("Infantil", "infantil"), - Pair("Josei", "josei"), - Pair("Magia", "magia"), - Pair("Mecha", "mecha"), - Pair("Militar", "militar"), - Pair("Mistério", "misterio"), - Pair("Musical", "musical"), - Pair("Paródia", "parodia"), - Pair("Policial", "policial"), - Pair("Psicológico", "psicologico"), - Pair("Romance", "romance"), - Pair("Samurai", "samurai"), - Pair("Sci-Fi", "sci-fi"), - Pair("Seinen", "seinen"), - Pair("Shoujo", "shoujo"), - Pair("Shoujo-Ai", "shoujo-ai"), - Pair("Shounen", "shounen"), - Pair("Shounen-Ai", "shounen-ai"), - Pair("Slice of Life", "slice-of-life"), - Pair("Sobrenatural", "sobrenatural"), - Pair("Super Poderes", "super-poderes"), - Pair("Suspense", "suspense"), - Pair("Terror", "terror"), - Pair("Thriller", "thriller"), - Pair("Tragédia", "tragedia"), - Pair("Vampiros", "vampiros"), - Pair("Vanguarda", "vanguarda"), - Pair("Vida Escolar", "vida-escolar"), - Pair("Vida de trabalho", "vida-de-trabalho"), - Pair("Yaoi", "yaoi"), - Pair("Yuri", "yuri"), - ) -} diff --git a/src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/AVUrlActivity.kt b/src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/AVUrlActivity.kt deleted file mode 100644 index d8c55289f..000000000 --- a/src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/AVUrlActivity.kt +++ /dev/null @@ -1,43 +0,0 @@ -package eu.kanade.tachiyomi.animeextension.pt.animesvision - -import android.app.Activity -import android.content.ActivityNotFoundException -import android.content.Intent -import android.os.Bundle -import android.util.Log -import kotlin.system.exitProcess - -/** - * Springboard that accepts https://animes.vision// intents - * and redirects them to the main Aniyomi process. - */ -class AVUrlActivity : Activity() { - - private val tag = "AVUrlActivity" - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - val pathSegments = intent?.data?.pathSegments - if (pathSegments != null && pathSegments.size > 1) { - val type = pathSegments[0] - val item = pathSegments[1] - val searchQuery = "$type/$item" - val mainIntent = Intent().apply { - action = "eu.kanade.tachiyomi.ANIMESEARCH" - putExtra("query", "${AnimesVision.PREFIX_SEARCH}$searchQuery") - putExtra("filter", packageName) - } - - try { - startActivity(mainIntent) - } catch (e: ActivityNotFoundException) { - Log.e(tag, e.toString()) - } - } else { - Log.e(tag, "could not parse uri from intent $intent") - } - - finish() - exitProcess(0) - } -} diff --git a/src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/AnimesVision.kt b/src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/AnimesVision.kt deleted file mode 100644 index 23a6b19a1..000000000 --- a/src/pt/animesvision/src/eu/kanade/tachiyomi/animeextension/pt/animesvision/AnimesVision.kt +++ /dev/null @@ -1,281 +0,0 @@ -package eu.kanade.tachiyomi.animeextension.pt.animesvision - -import android.app.Application -import androidx.preference.ListPreference -import androidx.preference.PreferenceScreen -import eu.kanade.tachiyomi.animeextension.pt.animesvision.extractors.AnimesVisionExtractor -import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource -import eu.kanade.tachiyomi.animesource.model.AnimeFilterList -import eu.kanade.tachiyomi.animesource.model.AnimesPage -import eu.kanade.tachiyomi.animesource.model.SAnime -import eu.kanade.tachiyomi.animesource.model.SEpisode -import eu.kanade.tachiyomi.animesource.model.Video -import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource -import eu.kanade.tachiyomi.network.GET -import eu.kanade.tachiyomi.network.awaitSuccess -import eu.kanade.tachiyomi.util.asJsoup -import okhttp3.HttpUrl.Companion.toHttpUrl -import okhttp3.Interceptor -import okhttp3.Request -import okhttp3.Response -import org.jsoup.nodes.Document -import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get -import java.io.IOException - -class AnimesVision : ConfigurableAnimeSource, ParsedAnimeHttpSource() { - - override val name = "AnimesVision" - - override val baseUrl = "https://animes.vision" - - override val lang = "pt-BR" - - override val supportsLatest = true - - override val client = network.client.newBuilder() - .addInterceptor(::loginInterceptor) - .build() - - private val preferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } - - override fun headersBuilder() = super.headersBuilder() - .add("Referer", baseUrl) - .add("Accept-Language", ACCEPT_LANGUAGE) - - // ============================== Popular =============================== - private fun nextPageSelector() = "ul.pagination li.page-item:contains(›):not(.disabled)" - override fun popularAnimeRequest(page: Int) = GET(baseUrl, headers) - override fun popularAnimeSelector() = "div#anime-trending div.item > a.film-poster" - - override fun popularAnimeFromElement(element: Element) = SAnime.create().apply { - val img = element.selectFirst("img")!! - setUrlWithoutDomain(element.attr("href")) - title = img.attr("title") - thumbnail_url = img.attr("src") - } - - override fun popularAnimeNextPageSelector() = null - - // =============================== Latest =============================== - override fun latestUpdatesRequest(page: Int) = GET("$baseUrl/lancamentos?page=$page") - override fun latestUpdatesSelector() = episodeListSelector() - - override fun latestUpdatesFromElement(element: Element) = SAnime.create().apply { - setUrlWithoutDomain(element.selectFirst("a")!!.attr("href")) - title = element.selectFirst("h3")!!.text() - thumbnail_url = element.selectFirst("img")?.attr("src") - } - - override fun latestUpdatesNextPageSelector() = nextPageSelector() - - // =============================== Search =============================== - override suspend fun getSearchAnime(page: Int, query: String, filters: AnimeFilterList): AnimesPage { - return if (query.startsWith(PREFIX_SEARCH)) { - val path = query.removePrefix(PREFIX_SEARCH) - client.newCall(GET("$baseUrl/$path")) - .awaitSuccess() - .use(::searchAnimeByPathParse) - } else { - super.getSearchAnime(page, query, filters) - } - } - - private fun searchAnimeByPathParse(response: Response): AnimesPage { - val details = animeDetailsParse(response) - return AnimesPage(listOf(details), false) - } - - override fun searchAnimeRequest(page: Int, query: String, filters: AnimeFilterList): Request { - val params = AVFilters.getSearchParameters(filters) - val url = "$baseUrl/search-anime".toHttpUrl().newBuilder() - .addQueryParameter("page", page.toString()) - .addQueryParameter("nome", query) - .addQueryParameter("tipo", params.type) - .addQueryParameter("idioma", params.language) - .addQueryParameter("ordenar", params.sort) - .addQueryParameter("ano_inicial", params.initial_year) - .addQueryParameter("ano_final", params.last_year) - .addQueryParameter("fansub", params.fansub) - .addQueryParameter("status", params.status) - .addQueryParameter("temporada", params.season) - .addQueryParameter("estudios", params.studio) - .addQueryParameter("produtores", params.producer) - .addQueryParameter("generos", params.genres) - .build() - - return GET(url, headers) - } - - override fun searchAnimeSelector() = "div.film_list-wrap div.film-poster" - - override fun searchAnimeFromElement(element: Element) = SAnime.create().apply { - val elementA = element.selectFirst("a")!! - title = elementA.attr("title") - setUrlWithoutDomain(elementA.attr("href")) - thumbnail_url = element.selectFirst("img")?.attr("data-src") - } - - override fun searchAnimeNextPageSelector() = nextPageSelector() - - // =========================== Anime Details ============================ - override fun animeDetailsParse(document: Document) = SAnime.create().apply { - val doc = getRealDoc(document) - setUrlWithoutDomain(doc.location()) - - val content = doc.selectFirst("div#ani_detail div.anis-content")!! - val detail = content.selectFirst("div.anisc-detail")!! - val infos = content.selectFirst("div.anisc-info")!! - - thumbnail_url = content.selectFirst("img")?.attr("src") - title = detail.selectFirst("h2.film-name")!!.text() - genre = infos.getInfo("Gêneros") - author = infos.getInfo("Produtores") - artist = infos.getInfo("Estúdios") - status = parseStatus(infos.getInfo("Status")) - - description = buildString { - appendLine(infos.getInfo("Sinopse")) - infos.getInfo("Inglês")?.also { append("\nTítulo em inglês: ", it) } - infos.getInfo("Japonês")?.also { append("\nTítulo em japonês: ", it) } - infos.getInfo("Foi ao ar em")?.also { append("\nFoi ao ar em: ", it) } - infos.getInfo("Temporada")?.also { append("\nTemporada: ", it) } - infos.getInfo("Duração")?.also { append("\nDuração: ", it) } - infos.getInfo("Fansub")?.also { append("\nFansub: ", it) } - } - } - - // ============================== Episodes ============================== - override fun episodeListSelector() = "div.container div.screen-items > div.item" - - override fun episodeListParse(response: Response): List { - var doc = getRealDoc(response.asJsoup()) - - return buildList { - do { - if (isNotEmpty()) { - val nextUrl = doc.selectFirst(nextPageSelector())!! - .selectFirst("a")!! - .attr("href") - doc = client.newCall(GET(nextUrl)).execute().asJsoup() - } - doc.select(episodeListSelector()) - .map(::episodeFromElement) - .also(::addAll) - } while (doc.selectFirst(nextPageSelector()) != null) - reverse() - } - } - - override fun episodeFromElement(element: Element) = SEpisode.create().apply { - setUrlWithoutDomain(element.selectFirst("a")!!.attr("href")) - val epName = element.selectFirst("h3")!!.text().trim() - name = epName - episode_number = epName.substringAfterLast(" ").toFloatOrNull() ?: 0F - } - - // ============================ Video Links ============================= - override fun videoListParse(response: Response): List