Update tag database format
This commit is contained in:
1 parent
82ba22cda2
commit
7b906f3c3e
2 files changed
+26
-29
No files matched your search
@@ -58,11 +58,12 @@ class EhTagDatabase(private val name: String, source: BufferedSource) {
|
||||
tags = tmpTags
|
||||
if (tags != null) {
|
||||
tagList = ArrayList()
|
||||
tags.keys().forEachRemaining { k: String ->
|
||||
try {
|
||||
tagList!!.add(Pair(k, tags.getString(k)))
|
||||
} catch (e: JSONException) {
|
||||
e.printStackTrace()
|
||||
tags.keys().forEachRemaining { prefix: String ->
|
||||
val values = tags.optJSONObject(prefix)
|
||||
values?.let {
|
||||
it.keys().forEachRemaining { tag: String ->
|
||||
tagList!!.add(Pair("$prefix:$tag", values.optString(tag)))
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -70,17 +71,16 @@ class EhTagDatabase(private val name: String, source: BufferedSource) {
|
||||
}
|
||||
}
|
||||
|
||||
fun getTranslation(tag: String?): String? {
|
||||
try {
|
||||
return tag?.let { tags!!.getString(it) }
|
||||
} catch (e: JSONException) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
return null
|
||||
fun getTranslation(prefix: String?, tag: String?): String? {
|
||||
return tags!!.optJSONObject(prefix)?.optString(tag)
|
||||
}
|
||||
|
||||
/* Construct a cold flow for tag database suggestions */
|
||||
fun suggestFlow(keyword: String, translate: Boolean, exactly: Boolean = false): Flow<Pair<String?, String>> = flow {
|
||||
fun suggestFlow(
|
||||
keyword: String,
|
||||
translate: Boolean,
|
||||
exactly: Boolean = false
|
||||
): Flow<Pair<String?, String>> = flow {
|
||||
tagList?.forEach {
|
||||
val tag = it.first
|
||||
val hint = if (translate) it.second else null
|
||||
@@ -120,17 +120,17 @@ class EhTagDatabase(private val name: String, source: BufferedSource) {
|
||||
private set
|
||||
|
||||
init {
|
||||
NAMESPACE_TO_PREFIX["artist"] = "a:"
|
||||
NAMESPACE_TO_PREFIX["cosplayer"] = "cos:"
|
||||
NAMESPACE_TO_PREFIX["character"] = "c:"
|
||||
NAMESPACE_TO_PREFIX["female"] = "f:"
|
||||
NAMESPACE_TO_PREFIX["group"] = "g:"
|
||||
NAMESPACE_TO_PREFIX["language"] = "l:"
|
||||
NAMESPACE_TO_PREFIX["male"] = "m:"
|
||||
NAMESPACE_TO_PREFIX["mixed"] = "x:"
|
||||
NAMESPACE_TO_PREFIX["other"] = "o:"
|
||||
NAMESPACE_TO_PREFIX["parody"] = "p:"
|
||||
NAMESPACE_TO_PREFIX["reclass"] = "r:"
|
||||
NAMESPACE_TO_PREFIX["artist"] = "a"
|
||||
NAMESPACE_TO_PREFIX["cosplayer"] = "cos"
|
||||
NAMESPACE_TO_PREFIX["character"] = "c"
|
||||
NAMESPACE_TO_PREFIX["female"] = "f"
|
||||
NAMESPACE_TO_PREFIX["group"] = "g"
|
||||
NAMESPACE_TO_PREFIX["language"] = "l"
|
||||
NAMESPACE_TO_PREFIX["male"] = "m"
|
||||
NAMESPACE_TO_PREFIX["mixed"] = "x"
|
||||
NAMESPACE_TO_PREFIX["other"] = "o"
|
||||
NAMESPACE_TO_PREFIX["parody"] = "p"
|
||||
NAMESPACE_TO_PREFIX["reclass"] = "r"
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
|
||||
@@ -937,7 +937,7 @@ public class GalleryDetailScene extends CollapsingToolbarScene implements View.O
|
||||
|
||||
String readableTagName = null;
|
||||
if (ehTags != null) {
|
||||
readableTagName = ehTags.getTranslation("n:" + tg.groupName);
|
||||
readableTagName = ehTags.getTranslation("n", tg.groupName);
|
||||
}
|
||||
|
||||
TextView tgName = (TextView) inflater.inflate(R.layout.item_gallery_tag, ll, false);
|
||||
@@ -946,9 +946,6 @@ public class GalleryDetailScene extends CollapsingToolbarScene implements View.O
|
||||
tgName.setBackgroundTintList(ColorStateList.valueOf(colorName));
|
||||
|
||||
String prefix = EhTagDatabase.namespaceToPrefix(tg.groupName);
|
||||
if (prefix == null) {
|
||||
prefix = "";
|
||||
}
|
||||
|
||||
AutoWrapLayout awl = new AutoWrapLayout(context);
|
||||
ll.addView(awl, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
@@ -959,7 +956,7 @@ public class GalleryDetailScene extends CollapsingToolbarScene implements View.O
|
||||
|
||||
String readableTag = null;
|
||||
if (ehTags != null) {
|
||||
readableTag = ehTags.getTranslation(prefix + tagStr);
|
||||
readableTag = ehTags.getTranslation(prefix, tagStr);
|
||||
}
|
||||
|
||||
tag.setText(readableTag != null ? readableTag : tagStr);
|
||||
|
||||
Reference in new issue
Block a user