SauceNaoAPI/src/jvmTest/kotlin/Launcher.kt

31 lines
851 B
Kotlin
Raw Normal View History

2020-12-02 08:39:54 +00:00
import dev.inmo.saucenaoapi.SauceNaoAPI
import dev.inmo.saucenaoapi.utils.useSafe
2019-12-12 18:47:52 +00:00
import io.ktor.http.ContentType
2020-08-29 13:12:47 +00:00
import io.ktor.utils.io.streams.asInput
2019-08-19 08:13:43 +00:00
import kotlinx.coroutines.*
2019-12-12 18:47:52 +00:00
import java.io.File
import java.nio.file.Files
2019-02-20 12:18:01 +00:00
2019-10-12 06:30:02 +00:00
suspend fun main(vararg args: String) {
2019-12-12 18:47:52 +00:00
val (key, requestSubject) = args
2019-02-20 12:18:01 +00:00
2019-12-12 18:47:52 +00:00
val scope = CoroutineScope(Dispatchers.Default)
val api = SauceNaoAPI(key, scope = scope)
2020-08-29 13:09:54 +00:00
api.useSafe { _ ->
2019-10-12 06:30:02 +00:00
println(
2019-12-12 18:47:52 +00:00
when {
requestSubject.startsWith("/") -> File(requestSubject).let {
api.request(
it.inputStream().asInput(),
ContentType.parse(Files.probeContentType(it.toPath()))
)
}
else -> api.request(requestSubject)
}
2019-10-12 06:30:02 +00:00
)
2019-02-20 12:18:01 +00:00
}
2019-12-12 18:47:52 +00:00
scope.cancel()
2019-02-20 12:18:01 +00:00
}