forked from recloudstream/cloudstream
		
	Added OlgplyProvider and disabled the broken providers
This commit is contained in:
		
							parent
							
								
									49aca9ddf1
								
							
						
					
					
						commit
						54a0913a8e
					
				
					 5 changed files with 57 additions and 10 deletions
				
			
		|  | @ -122,6 +122,7 @@ object APIHolder { | ||||||
|             KuronimeProvider(), |             KuronimeProvider(), | ||||||
|             //MultiAnimeProvider(), |             //MultiAnimeProvider(), | ||||||
| 	        NginxProvider(), | 	        NginxProvider(), | ||||||
|  |             OlgplyProvider(), | ||||||
|         ) |         ) | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -7,6 +7,7 @@ import com.lagradost.cloudstream3.LoadResponse.Companion.addImdbId | ||||||
| import com.lagradost.cloudstream3.utils.AppUtils.toJson | import com.lagradost.cloudstream3.utils.AppUtils.toJson | ||||||
| import com.uwetrottmann.tmdb2.Tmdb | import com.uwetrottmann.tmdb2.Tmdb | ||||||
| import com.uwetrottmann.tmdb2.entities.* | import com.uwetrottmann.tmdb2.entities.* | ||||||
|  | import com.uwetrottmann.tmdb2.enumerations.AppendToResponseItem | ||||||
| import retrofit2.awaitResponse | import retrofit2.awaitResponse | ||||||
| import java.util.* | import java.util.* | ||||||
| 
 | 
 | ||||||
|  | @ -258,7 +259,7 @@ open class TmdbProvider : MainAPI() { | ||||||
| 
 | 
 | ||||||
|         return if (useMetaLoadResponse) { |         return if (useMetaLoadResponse) { | ||||||
|             return if (isTvSeries) { |             return if (isTvSeries) { | ||||||
|                 val body = tmdb.tvService().tv(id, "en-US").awaitResponse().body() |                 val body = tmdb.tvService().tv(id, "en-US", AppendToResponse(AppendToResponseItem.EXTERNAL_IDS)).awaitResponse().body() | ||||||
|                 val response = body?.toLoadResponse() |                 val response = body?.toLoadResponse() | ||||||
|                 if (response != null) { |                 if (response != null) { | ||||||
|                     if (response.recommendations.isNullOrEmpty()) |                     if (response.recommendations.isNullOrEmpty()) | ||||||
|  | @ -277,7 +278,7 @@ open class TmdbProvider : MainAPI() { | ||||||
| 
 | 
 | ||||||
|                 response |                 response | ||||||
|             } else { |             } else { | ||||||
|                 val body = tmdb.moviesService().summary(id, "en-US").awaitResponse().body() |                 val body = tmdb.moviesService().summary(id, "en-US", AppendToResponse(AppendToResponseItem.EXTERNAL_IDS)).awaitResponse().body() | ||||||
|                 val response = body?.toLoadResponse() |                 val response = body?.toLoadResponse() | ||||||
|                 if (response != null) { |                 if (response != null) { | ||||||
|                     if (response.recommendations.isNullOrEmpty()) |                     if (response.recommendations.isNullOrEmpty()) | ||||||
|  |  | ||||||
|  | @ -0,0 +1,45 @@ | ||||||
|  | package com.lagradost.cloudstream3.movieproviders | ||||||
|  | 
 | ||||||
|  | import com.lagradost.cloudstream3.SubtitleFile | ||||||
|  | import com.lagradost.cloudstream3.app | ||||||
|  | import com.lagradost.cloudstream3.metaproviders.TmdbLink | ||||||
|  | import com.lagradost.cloudstream3.metaproviders.TmdbProvider | ||||||
|  | import com.lagradost.cloudstream3.utils.AppUtils.parseJson | ||||||
|  | import com.lagradost.cloudstream3.utils.ExtractorLink | ||||||
|  | import com.lagradost.cloudstream3.utils.Qualities | ||||||
|  | 
 | ||||||
|  | class OlgplyProvider : TmdbProvider() { | ||||||
|  |     override var mainUrl = "https://olgply.com" | ||||||
|  |     override val apiName = "Olgply" | ||||||
|  |     override var name = "Olgply" | ||||||
|  |     override val instantLinkLoading = true | ||||||
|  |     override val useMetaLoadResponse = true | ||||||
|  | 
 | ||||||
|  |     override suspend fun loadLinks( | ||||||
|  |         data: String, | ||||||
|  |         isCasting: Boolean, | ||||||
|  |         subtitleCallback: (SubtitleFile) -> Unit, | ||||||
|  |         callback: (ExtractorLink) -> Unit | ||||||
|  |     ): Boolean { | ||||||
|  |         val mappedData = parseJson<TmdbLink>(data) | ||||||
|  |         val imdbId = mappedData.imdbID ?: return false | ||||||
|  |         val iframeUrl = | ||||||
|  |             "$mainUrl/api/?imdb=$imdbId${mappedData.season?.let { "&season=$it" } ?: ""}${mappedData.episode?.let { "&episode=$it" } ?: ""}" | ||||||
|  | 
 | ||||||
|  |         val iframeRegex = Regex("""file:.*?"([^"]*)""") | ||||||
|  | 
 | ||||||
|  |         val html = app.get(iframeUrl).text | ||||||
|  |         val link = iframeRegex.find(html)?.groupValues?.getOrNull(1) ?: return false | ||||||
|  |         callback.invoke( | ||||||
|  |             ExtractorLink( | ||||||
|  |                 this.name, | ||||||
|  |                 this.name, | ||||||
|  |                 link, | ||||||
|  |                 this.mainUrl + "/", | ||||||
|  |                 Qualities.Unknown.value, | ||||||
|  |                 headers = mapOf("range" to "bytes=0-") | ||||||
|  |             ) | ||||||
|  |         ) | ||||||
|  |         return true | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | @ -68,7 +68,7 @@ | ||||||
|     "BflixProvider": { |     "BflixProvider": { | ||||||
|         "language": "en", |         "language": "en", | ||||||
|         "name": "Bflix", |         "name": "Bflix", | ||||||
|         "status": 1, |         "status": 0, | ||||||
|         "url": "https://bflix.ru" |         "url": "https://bflix.ru" | ||||||
|     }, |     }, | ||||||
|     "CinecalidadProvider": { |     "CinecalidadProvider": { | ||||||
|  | @ -151,7 +151,7 @@ | ||||||
|     "FmoviesToProvider": { |     "FmoviesToProvider": { | ||||||
|         "language": "en", |         "language": "en", | ||||||
|         "name": "Fmovies.to", |         "name": "Fmovies.to", | ||||||
|         "status": 1, |         "status": 0, | ||||||
|         "url": "https://fmovies.to" |         "url": "https://fmovies.to" | ||||||
|     }, |     }, | ||||||
|     "FrenchStreamProvider": { |     "FrenchStreamProvider": { | ||||||
|  | @ -253,7 +253,7 @@ | ||||||
|     "NineAnimeProvider": { |     "NineAnimeProvider": { | ||||||
|         "language": "en", |         "language": "en", | ||||||
|         "name": "9Anime", |         "name": "9Anime", | ||||||
|         "status": 1, |         "status": 0, | ||||||
|         "url": "https://9anime.id" |         "url": "https://9anime.id" | ||||||
|     }, |     }, | ||||||
|     "NontonAnimeIDProvider": { |     "NontonAnimeIDProvider": { | ||||||
|  | @ -325,7 +325,7 @@ | ||||||
|     "SflixProProvider": { |     "SflixProProvider": { | ||||||
|         "language": "en", |         "language": "en", | ||||||
|         "name": "Sflix.pro", |         "name": "Sflix.pro", | ||||||
|         "status": 1, |         "status": 0, | ||||||
|         "url": "https://sflix.pro" |         "url": "https://sflix.pro" | ||||||
|     }, |     }, | ||||||
|     "SflixProvider": { |     "SflixProvider": { | ||||||
|  |  | ||||||
|  | @ -52,17 +52,17 @@ | ||||||
|     "BflixProvider": { |     "BflixProvider": { | ||||||
|         "name": "Bflix", |         "name": "Bflix", | ||||||
|         "url": "https://bflix.ru", |         "url": "https://bflix.ru", | ||||||
|         "status": 1 |         "status": 0 | ||||||
|     }, |     }, | ||||||
|     "FmoviesToProvider": { |     "FmoviesToProvider": { | ||||||
|         "name": "Fmovies.to", |         "name": "Fmovies.to", | ||||||
|         "url": "https://fmovies.to", |         "url": "https://fmovies.to", | ||||||
|         "status": 1 |         "status": 0 | ||||||
|     }, |     }, | ||||||
|     "SflixProProvider": { |     "SflixProProvider": { | ||||||
|         "name": "Sflix.pro", |         "name": "Sflix.pro", | ||||||
|         "url": "https://sflix.pro", |         "url": "https://sflix.pro", | ||||||
|         "status": 1 |         "status": 0 | ||||||
|     }, |     }, | ||||||
|     "CinecalidadProvider": { |     "CinecalidadProvider": { | ||||||
|         "name": "Cinecalidad", |         "name": "Cinecalidad", | ||||||
|  | @ -162,7 +162,7 @@ | ||||||
|     "NineAnimeProvider": { |     "NineAnimeProvider": { | ||||||
|         "name": "9Anime", |         "name": "9Anime", | ||||||
|         "url": "https://9anime.id", |         "url": "https://9anime.id", | ||||||
|         "status": 1 |         "status": 0 | ||||||
|     }, |     }, | ||||||
|     "PeliSmartProvider": { |     "PeliSmartProvider": { | ||||||
|         "name": "PeliSmart", |         "name": "PeliSmart", | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue