forked from recloudstream/cloudstream
		
	added mal to zoro
This commit is contained in:
		
							parent
							
								
									cf1fc3ce3e
								
							
						
					
					
						commit
						2a663ccef1
					
				
					 2 changed files with 12 additions and 2 deletions
				
			
		|  | @ -7,6 +7,7 @@ import com.lagradost.cloudstream3.* | ||||||
| import com.lagradost.cloudstream3.movieproviders.SflixProvider.Companion.extractRabbitStream | import com.lagradost.cloudstream3.movieproviders.SflixProvider.Companion.extractRabbitStream | ||||||
| import com.lagradost.cloudstream3.movieproviders.SflixProvider.Companion.runSflixExtractorVerifierJob | import com.lagradost.cloudstream3.movieproviders.SflixProvider.Companion.runSflixExtractorVerifierJob | ||||||
| import com.lagradost.cloudstream3.network.Requests.Companion.await | import com.lagradost.cloudstream3.network.Requests.Companion.await | ||||||
|  | import com.lagradost.cloudstream3.utils.AppUtils.tryParseJson | ||||||
| import com.lagradost.cloudstream3.utils.Coroutines.ioSafe | import com.lagradost.cloudstream3.utils.Coroutines.ioSafe | ||||||
| import com.lagradost.cloudstream3.utils.ExtractorLink | import com.lagradost.cloudstream3.utils.ExtractorLink | ||||||
| import com.lagradost.cloudstream3.utils.loadExtractor | import com.lagradost.cloudstream3.utils.loadExtractor | ||||||
|  | @ -183,10 +184,17 @@ class ZoroProvider : MainAPI() { | ||||||
|         return Actor(name = name, image = image) |         return Actor(name = name, image = image) | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     data class ZoroSyncData( | ||||||
|  |         @JsonProperty("mal_id") val malId : String?, | ||||||
|  |         @JsonProperty("anilist_id") val aniListId : String?, | ||||||
|  |     ) | ||||||
|  | 
 | ||||||
|     override suspend fun load(url: String): LoadResponse { |     override suspend fun load(url: String): LoadResponse { | ||||||
|         val html = app.get(url).text |         val html = app.get(url).text | ||||||
|         val document = Jsoup.parse(html) |         val document = Jsoup.parse(html) | ||||||
| 
 | 
 | ||||||
|  |         val syncData = tryParseJson<ZoroSyncData>(document.selectFirst("#syncData")?.data()) | ||||||
|  | 
 | ||||||
|         val title = document.selectFirst(".anisc-detail > .film-name")?.text().toString() |         val title = document.selectFirst(".anisc-detail > .film-name")?.text().toString() | ||||||
|         val poster = document.selectFirst(".anisc-poster img")?.attr("src") |         val poster = document.selectFirst(".anisc-poster img")?.attr("src") | ||||||
|         val tags = document.select(".anisc-info a[href*=\"/genre/\"]").map { it.text() } |         val tags = document.select(".anisc-info a[href*=\"/genre/\"]").map { it.text() } | ||||||
|  | @ -283,6 +291,8 @@ class ZoroProvider : MainAPI() { | ||||||
|             this.tags = tags |             this.tags = tags | ||||||
|             this.recommendations = recommendations |             this.recommendations = recommendations | ||||||
|             this.actors = actors |             this.actors = actors | ||||||
|  |             this.malId = syncData?.malId?.toIntOrNull() | ||||||
|  |             this.anilistId = syncData?.aniListId?.toIntOrNull() | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -229,9 +229,9 @@ object AppUtils { | ||||||
|         return mapper.readValue(value) |         return mapper.readValue(value) | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     inline fun <reified T> tryParseJson(value: String): T? { |     inline fun <reified T> tryParseJson(value: String?): T? { | ||||||
|         return try { |         return try { | ||||||
|             parseJson(value) |             parseJson(value ?: return null) | ||||||
|         } catch (_: Exception) { |         } catch (_: Exception) { | ||||||
|             null |             null | ||||||
|         } |         } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue