Add EH code.

This commit is contained in:
NerdNumber9
2017-01-02 18:02:10 -05:00
parent a7192e866f
commit caa1e1ef09
32 changed files with 1363 additions and 29 deletions

View 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()}"
}
}
}