Skip to content

Commit

Permalink
fixed video scraping
Browse files Browse the repository at this point in the history
  • Loading branch information
DatL4g committed Apr 19, 2023
1 parent cf96fcb commit da8c9a4
Show file tree
Hide file tree
Showing 9 changed files with 34 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@ import android.content.Context
import androidx.datastore.dataStoreFile
import dev.datlag.burningseries.database.DriverFactory
import dev.datlag.burningseries.datastore.CryptoManager
import dev.datlag.burningseries.model.HosterStream
import dev.datlag.burningseries.model.VideoStream
import dev.datlag.burningseries.network.video.Scraper
import dev.datlag.burningseries.network.video.VideoScraper
import dev.datlag.burningseries.scraper.video.VideoScraper
import org.kodein.di.*
import java.io.File

Expand Down Expand Up @@ -49,8 +51,12 @@ actual object PlatformModule {
returnFile
}

bindSingleton<Scraper> {
VideoScraper
bindSingleton {
object : Scraper {
override suspend fun scrapeVideosFrom(hosterStream: HosterStream): VideoStream? {
return VideoScraper.scrapeVideosFrom(hosterStream)
}
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import dev.datlag.burningseries.network.GitHub
import dev.datlag.burningseries.network.JsonBase
import dev.datlag.burningseries.network.converter.FlowerResponseConverter
import dev.datlag.burningseries.network.repository.*
import dev.datlag.burningseries.network.video.Scraper
import dev.datlag.burningseries.other.EasyDns
import dev.datlag.burningseries.other.MultiDoH
import io.ktor.client.*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@ import dev.datlag.burningseries.common.createWithParents
import dev.datlag.burningseries.database.BurningSeriesDB
import dev.datlag.burningseries.database.DriverFactory
import dev.datlag.burningseries.datastore.CryptoManager
import dev.datlag.burningseries.model.HosterStream
import dev.datlag.burningseries.model.VideoStream
import dev.datlag.burningseries.network.video.Scraper
import dev.datlag.burningseries.network.video.VideoScraper
import dev.datlag.burningseries.other.AppIO
import dev.datlag.burningseries.scraper.video.VideoScraper
import net.harawata.appdirs.AppDirs
import net.harawata.appdirs.AppDirsFactory
import org.kodein.di.*
Expand Down Expand Up @@ -41,8 +43,12 @@ actual object PlatformModule {
AppIO.getFolderInSiteDataDir("images")
}

bindSingleton<Scraper> {
VideoScraper
bindSingleton {
object : Scraper {
override suspend fun scrapeVideosFrom(hosterStream: HosterStream): VideoStream? {
return VideoScraper.scrapeVideosFrom(hosterStream)
}
}
}
}

Expand Down
9 changes: 2 additions & 7 deletions network/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ group = "dev.datlag.burningseries.network"

val flower = "3.0.0"
val ktorfit = "1.0.1"
val jsunpacker = "1.0.1"
val jsoup = "1.15.4"
val coroutines = "1.6.4"

Expand All @@ -34,17 +33,13 @@ kotlin {

val jvmMain by getting {
dependencies {
implementation("dev.datlag.jsunpacker:jsunpacker:$jsunpacker")
implementation("org.jsoup:jsoup:$jsoup")
implementation(project(":scraper"))
api(project(":scraper"))
}
}

val androidMain by getting {
dependencies {
implementation("dev.datlag.jsunpacker:jsunpacker:$jsunpacker")
implementation("org.jsoup:jsoup:$jsoup")
implementation(project(":scraper"))
api(project(":scraper"))
}
}
}
Expand Down
4 changes: 3 additions & 1 deletion scraper/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,12 @@ group = "dev.datlag.burningseries.scraper"
val jsoup = "1.15.4"
val coroutines = "1.6.4"
val ktor = "2.2.3"
val jsunpacker = "1.0.1"

dependencies {
implementation(project(":model"))
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines")
implementation("io.ktor:ktor-client-core-jvm:$ktor")
implementation("org.jsoup:jsoup:$jsoup")
api("org.jsoup:jsoup:$jsoup")
implementation("dev.datlag.jsunpacker:jsunpacker:$jsunpacker")
}
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
package dev.datlag.burningseries.network.video
package dev.datlag.burningseries.scraper.video

import dev.datlag.burningseries.model.HosterStream
import dev.datlag.burningseries.model.VideoStream
import dev.datlag.burningseries.scraper.common.getSources
import dev.datlag.burningseries.network.video.hoster.Mixdrop
import dev.datlag.burningseries.network.video.hoster.StreamZZ
import dev.datlag.burningseries.scraper.video.hoster.Mixdrop
import dev.datlag.burningseries.scraper.video.hoster.StreamZZ
import dev.datlag.jsunpacker.JsUnpacker
import org.jsoup.Jsoup
import org.jsoup.nodes.Document

object VideoScraper : Scraper {
object VideoScraper {

val MANIPULATION_LIST = listOf(
StreamZZ(),
Mixdrop()
)

override suspend fun scrapeVideosFrom(hosterStream: HosterStream): VideoStream? {
suspend fun scrapeVideosFrom(hosterStream: HosterStream): VideoStream? {
val doc = try {
Jsoup.connect(hosterStream.url).get()
} catch (ignored: Throwable) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package dev.datlag.burningseries.network.video
package dev.datlag.burningseries.scraper.video

import dev.datlag.burningseries.model.HosterStream
import org.jsoup.nodes.Document
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package dev.datlag.burningseries.network.video.hoster
package dev.datlag.burningseries.scraper.video.hoster

import dev.datlag.burningseries.model.HosterStream
import dev.datlag.burningseries.network.video.VideoStreamManipulation
import dev.datlag.burningseries.scraper.video.VideoStreamManipulation
import dev.datlag.jsunpacker.JsUnpacker
import org.jsoup.nodes.Document

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package dev.datlag.burningseries.network.video.hoster
package dev.datlag.burningseries.scraper.video.hoster

import dev.datlag.burningseries.model.HosterStream
import dev.datlag.burningseries.network.video.VideoStreamManipulation
import dev.datlag.burningseries.scraper.video.VideoStreamManipulation
import org.jsoup.nodes.Document

class StreamZZ : VideoStreamManipulation {
Expand Down

0 comments on commit da8c9a4

Please sign in to comment.