picacomic-api

Call PicaComic API in Kotlin

License

License

GroupId

GroupId

com.hiczp
ArtifactId

ArtifactId

picacomic-api
Last Version

Last Version

0.0.1
Release Date

Release Date

Type

Type

jar
Description

Description

picacomic-api
Call PicaComic API in Kotlin
Project URL

Project URL

https://github.com/czp3009/picacomic-api
Source Code Management

Source Code Management

https://github.com/czp3009/picacomic-api

Download picacomic-api

How to add to project

<!-- https://jarcasting.com/artifacts/com.hiczp/picacomic-api/ -->
<dependency>
    <groupId>com.hiczp</groupId>
    <artifactId>picacomic-api</artifactId>
    <version>0.0.1</version>
</dependency>
// https://jarcasting.com/artifacts/com.hiczp/picacomic-api/
implementation 'com.hiczp:picacomic-api:0.0.1'
// https://jarcasting.com/artifacts/com.hiczp/picacomic-api/
implementation ("com.hiczp:picacomic-api:0.0.1")
'com.hiczp:picacomic-api:jar:0.0.1'
<dependency org="com.hiczp" name="picacomic-api" rev="0.0.1">
  <artifact name="picacomic-api" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.hiczp', module='picacomic-api', version='0.0.1')
)
libraryDependencies += "com.hiczp" % "picacomic-api" % "0.0.1"
[com.hiczp/picacomic-api "0.0.1"]

Dependencies

compile (7)

Group / Artifact Type Version
org.jetbrains.kotlin : kotlin-stdlib-jdk8 jar 1.3.61
com.hiczp : caeruleum jar 1.2.8
io.ktor : ktor-client-logging-jvm jar 1.2.6
io.ktor : ktor-client-gson jar 1.2.6
com.google.code.gson : gson jar 2.8.6
com.github.salomonbrys.kotson : kotson jar 2.5.0
org.slf4j : slf4j-api jar 1.7.29

Project Modules

There are no modules declared in this project.

Pica Comic API

Call picacomic API in Kotlin.

Usage

Gradle

compile group: 'com.hiczp', name: 'picacomic-api', version: '0.0.1'

Recommend HttpEngine is CIO, see all available engines below

https://ktor.io/clients/http-client/engines.html

Example:

val picaComicClient = PicaComicClient(CIO)
picaComicClient.signIn("email", "password")

//get title of categories(嗶咔漢化, 全彩, 長篇 etc)
val categories = picaComicClient.category.get().data.map { it.title }

//first comic in category "全彩"
val firstComic = picaComicClient.comic
                    .search(category = PredefinedCategory.全彩.name)
                    .data.docs.first().comicId
//episodes of a comic
val episodes = picaComicClient.comic.getAllEpisodes(firstComic)
//all pages in first episode
val pages = picaComicClient.comic.getAllPages(firstComic, 1)
//url of first page in episode
val url = pages.first().media.urlString

picaComicClient.close()

How to use other HttpEngine and use proxy?

val picaComicClient = PicaComicClient(Apache) {
    engine {
        customizeClient {
            setProxy("proxyHost", 8080)
        }
    }   
}

How to download image(s)?

val imageFile = File("001.jpg")
HttpClient(CIO).use {
    get<ByteReadChannel>(url).copyAndClose(imageFile.writeChannel())
}

License

Apache 2.0

Versions

Version
0.0.1