mirror of
https://github.com/mihonapp/mihon.git
synced 2025-06-29 04:27:51 +02:00
Add EH code.
This commit is contained in:
52
app/src/main/java/exh/metadata/models/ExGalleryMetadata.kt
Normal file
52
app/src/main/java/exh/metadata/models/ExGalleryMetadata.kt
Normal file
@ -0,0 +1,52 @@
|
||||
package exh.metadata.models
|
||||
|
||||
import android.net.Uri
|
||||
import java.util.*
|
||||
|
||||
/**
|
||||
* Gallery metadata storage model
|
||||
*/
|
||||
|
||||
class ExGalleryMetadata {
|
||||
var url: String? = null
|
||||
|
||||
var exh: Boolean? = null
|
||||
|
||||
var title: String? = null
|
||||
var altTitle: String? = null
|
||||
|
||||
var thumbnailUrl: String? = null
|
||||
|
||||
var genre: String? = null
|
||||
|
||||
var uploader: String? = null
|
||||
var datePosted: Long? = null
|
||||
var parent: String? = null
|
||||
var visible: String? = null
|
||||
var language: String? = null
|
||||
var translated: Boolean? = null
|
||||
var size: Long? = null
|
||||
var length: Int? = null
|
||||
var favorites: Int? = null
|
||||
var ratingCount: Int? = null
|
||||
var averageRating: Double? = null
|
||||
|
||||
//Being specific about which classes are used in generics to make deserialization easier
|
||||
var tags: HashMap<String, ArrayList<Tag>> = HashMap()
|
||||
|
||||
private fun splitGalleryUrl()
|
||||
= url?.let {
|
||||
Uri.parse(it).pathSegments.filterNot(String::isNullOrBlank)
|
||||
}
|
||||
|
||||
fun galleryId() = splitGalleryUrl()?.let { it[it.size - 2] }
|
||||
|
||||
fun galleryToken() =
|
||||
splitGalleryUrl()?.last()
|
||||
|
||||
fun galleryUniqueIdentifier() = exh?.let { exh ->
|
||||
url?.let {
|
||||
"${if(exh) "EXH" else "EX"}-${galleryId()}-${galleryToken()}"
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user