2020-08-29 13:09:54 +00:00
|
|
|
import com.insanusmokrassar.SauceNaoAPI.SauceNaoAPI
|
|
|
|
import com.insanusmokrassar.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
|
|
|
}
|