mirror of
				https://github.com/recloudstream/cloudstream.git
				synced 2024-08-15 01:53:11 +00:00 
			
		
		
		
	Egybest fixes (#993)
fix for media links fix for episodes table new layout
This commit is contained in:
		
							parent
							
								
									7adc6f6cb1
								
							
						
					
					
						commit
						ea7dfdad5a
					
				
					 1 changed files with 35 additions and 20 deletions
				
			
		| 
						 | 
				
			
			@ -44,7 +44,7 @@ class EgyBestProvider : MainAPI() {
 | 
			
		|||
        // url, title
 | 
			
		||||
        val doc = app.get(mainUrl).document
 | 
			
		||||
        val pages = arrayListOf<HomePageList>()
 | 
			
		||||
            doc.select("#mainLoad div.mbox").apmap {
 | 
			
		||||
        doc.select("#mainLoad div.mbox").apmap {
 | 
			
		||||
            val name = it.select(".bdb.pda > strong").text()
 | 
			
		||||
            if (it.select(".movie").first().attr("href").contains("season-(.....)|ep-(.....)".toRegex())) return@apmap
 | 
			
		||||
            val list = arrayListOf<SearchResponse>()
 | 
			
		||||
| 
						 | 
				
			
			@ -120,16 +120,31 @@ class EgyBestProvider : MainAPI() {
 | 
			
		|||
            }.apmap {
 | 
			
		||||
                val d = app.get(it).document
 | 
			
		||||
                val season = Regex("season-(.....)").find(it)?.groupValues?.getOrNull(1)?.getIntFromText()
 | 
			
		||||
                d.select("#mainLoad > div:nth-child(3) > div.movies_small a").map { eit ->
 | 
			
		||||
                    val ep = Regex("ep-(.....)").find(eit.attr("href"))?.groupValues?.getOrNull(1)?.getIntFromText()
 | 
			
		||||
                    episodes.add(
 | 
			
		||||
                        Episode(
 | 
			
		||||
                            eit.attr("href"),
 | 
			
		||||
                            eit.select("span.title").text(),
 | 
			
		||||
                            season,
 | 
			
		||||
                            ep,
 | 
			
		||||
                if(d.select("tr.published").isNotEmpty()) {
 | 
			
		||||
                    d.select("tr.published").map { element ->
 | 
			
		||||
                        val ep = Regex("ep-(.....)").find(element.select(".ep_title a").attr("href"))?.groupValues?.getOrNull(1)?.getIntFromText()
 | 
			
		||||
                        episodes.add(
 | 
			
		||||
                            Episode(
 | 
			
		||||
                                element.select(".ep_title a").attr("href"),
 | 
			
		||||
                                name = element.select("td.ep_title").html().replace(".*</span>|</a>".toRegex(), ""),
 | 
			
		||||
                                season,
 | 
			
		||||
                                ep,
 | 
			
		||||
                                rating = element.select("td.tam:not(.date, .ep_len)").text().getIntFromText()
 | 
			
		||||
                            )
 | 
			
		||||
                        )
 | 
			
		||||
                    )
 | 
			
		||||
                    }
 | 
			
		||||
                } else {
 | 
			
		||||
                    d.select("#mainLoad > div:nth-child(3) > div.movies_small a").map { eit ->
 | 
			
		||||
                        val ep = Regex("ep-(.....)").find(eit.attr("href"))?.groupValues?.getOrNull(1)?.getIntFromText()
 | 
			
		||||
                        episodes.add(
 | 
			
		||||
                            Episode(
 | 
			
		||||
                                eit.attr("href"),
 | 
			
		||||
                                eit.select("span.title").text(),
 | 
			
		||||
                                season,
 | 
			
		||||
                                ep,
 | 
			
		||||
                            )
 | 
			
		||||
                        )
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            newTvSeriesLoadResponse(title, url, TvType.TvSeries, episodes.distinct().sortedBy { it.episode }) {
 | 
			
		||||
| 
						 | 
				
			
			@ -151,21 +166,21 @@ class EgyBestProvider : MainAPI() {
 | 
			
		|||
        subtitleCallback: (SubtitleFile) -> Unit,
 | 
			
		||||
        callback: (ExtractorLink) -> Unit
 | 
			
		||||
    ): Boolean {
 | 
			
		||||
        val requestJSON = app.get("https://zawmedia-api.herokuapp.com/egybest?url=$data").text
 | 
			
		||||
        val requestJSON = app.get("https://api.zr5.repl.co/egybest?url=$data").text
 | 
			
		||||
        val jsonArray = parseJson<List<Sources>>(requestJSON)
 | 
			
		||||
        for (i in jsonArray) {
 | 
			
		||||
            val quality = i.quality
 | 
			
		||||
            val link = i.link
 | 
			
		||||
                callback.invoke(
 | 
			
		||||
                    ExtractorLink(
 | 
			
		||||
                        this.name,
 | 
			
		||||
                        this.name + " ${quality}p",
 | 
			
		||||
                        link,
 | 
			
		||||
                        this.mainUrl,
 | 
			
		||||
                        2,
 | 
			
		||||
                        true
 | 
			
		||||
                    )
 | 
			
		||||
            callback.invoke(
 | 
			
		||||
                ExtractorLink(
 | 
			
		||||
                    this.name,
 | 
			
		||||
                    this.name,
 | 
			
		||||
                    link,
 | 
			
		||||
                    this.mainUrl,
 | 
			
		||||
                    quality!!,
 | 
			
		||||
                    true
 | 
			
		||||
                )
 | 
			
		||||
            )
 | 
			
		||||
        }
 | 
			
		||||
        return true
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue