pull/1705/head
parent
d13cff158e
commit
ca8f57bd5c
@ -0,0 +1,29 @@ |
|||||||
|
package io.legado.app.data.entities |
||||||
|
|
||||||
|
import io.legado.app.help.RuleBigDataHelp |
||||||
|
import io.legado.app.model.analyzeRule.RuleDataInterface |
||||||
|
import io.legado.app.utils.GSON |
||||||
|
|
||||||
|
interface BaseRssArticle : RuleDataInterface { |
||||||
|
|
||||||
|
var origin: String |
||||||
|
var link: String |
||||||
|
|
||||||
|
var variable: String? |
||||||
|
|
||||||
|
override fun putVariable(key: String, value: String?): Boolean { |
||||||
|
if (super.putVariable(key, value)) { |
||||||
|
variable = GSON.toJson(variableMap) |
||||||
|
} |
||||||
|
return true |
||||||
|
} |
||||||
|
|
||||||
|
override fun putBigVariable(key: String, value: String?) { |
||||||
|
RuleBigDataHelp.putRssVariable(origin, link, key, value) |
||||||
|
} |
||||||
|
|
||||||
|
override fun getBigVariable(key: String): String? { |
||||||
|
return RuleBigDataHelp.getRssVariable(origin, link, key) |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,29 @@ |
|||||||
|
package io.legado.app.help |
||||||
|
|
||||||
|
object RuleBigDataHelp { |
||||||
|
|
||||||
|
fun putBookVariable(bookUrl: String, key: String, value: String?) { |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
fun getBookVariable(bookUrl: String, key: String?): String? { |
||||||
|
return null |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
fun putChapterVariable(bookUrl: String, chapterUrl: String, key: String, value: String?) { |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
fun getChapterVariable(bookUrl: String, chapterUrl: String, key: String): String? { |
||||||
|
return null |
||||||
|
} |
||||||
|
|
||||||
|
fun putRssVariable(origin: String, link: String, key: String, value: String?) { |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
fun getRssVariable(origin: String, link: String, key: String): String? { |
||||||
|
return null |
||||||
|
} |
||||||
|
} |
@ -1,15 +1,30 @@ |
|||||||
package io.legado.app.model.analyzeRule |
package io.legado.app.model.analyzeRule |
||||||
|
|
||||||
class RuleData : RuleDataInterface { |
import io.legado.app.utils.GSON |
||||||
|
|
||||||
override var variable: String? = null |
class RuleData : RuleDataInterface { |
||||||
|
|
||||||
override val variableMap by lazy { |
override val variableMap by lazy { |
||||||
hashMapOf<String, String>() |
hashMapOf<String, String>() |
||||||
} |
} |
||||||
|
|
||||||
override fun putBigVariable(key: String, value: String) { |
override fun putBigVariable(key: String, value: String?) { |
||||||
variableMap[key] = value |
if (value == null) { |
||||||
|
variableMap.remove(key) |
||||||
|
} else { |
||||||
|
variableMap[key] = value |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
override fun getBigVariable(key: String): String? { |
||||||
|
return null |
||||||
|
} |
||||||
|
|
||||||
|
fun getVariable(): String? { |
||||||
|
if (variableMap.isEmpty()) { |
||||||
|
return null |
||||||
|
} |
||||||
|
return GSON.toJson(variableMap) |
||||||
} |
} |
||||||
|
|
||||||
} |
} |
@ -1,34 +1,33 @@ |
|||||||
package io.legado.app.model.analyzeRule |
package io.legado.app.model.analyzeRule |
||||||
|
|
||||||
import io.legado.app.utils.GSON |
|
||||||
|
|
||||||
interface RuleDataInterface { |
interface RuleDataInterface { |
||||||
|
|
||||||
var variable: String? |
|
||||||
|
|
||||||
val variableMap: HashMap<String, String> |
val variableMap: HashMap<String, String> |
||||||
|
|
||||||
fun putVariable(key: String, value: String?) { |
fun putVariable(key: String, value: String?): Boolean { |
||||||
when { |
return when { |
||||||
value == null -> { |
value == null -> { |
||||||
variableMap.remove(key) |
variableMap.remove(key) |
||||||
variable = GSON.toJson(variableMap) |
putBigVariable(key, value) |
||||||
|
true |
||||||
} |
} |
||||||
value.length < 1000 -> { |
value.length < 1000 -> { |
||||||
variableMap[key] = value |
variableMap[key] = value |
||||||
variable = GSON.toJson(variableMap) |
true |
||||||
} |
} |
||||||
else -> { |
else -> { |
||||||
variableMap[key] = value |
putBigVariable(key, value) |
||||||
variable = GSON.toJson(variableMap) |
false |
||||||
} |
} |
||||||
} |
} |
||||||
} |
} |
||||||
|
|
||||||
fun putBigVariable(key: String, value: String) |
fun putBigVariable(key: String, value: String?) |
||||||
|
|
||||||
fun getVariable(key: String): String? { |
fun getVariable(key: String): String? { |
||||||
return variableMap[key] |
return variableMap[key] ?: getBigVariable(key) |
||||||
} |
} |
||||||
|
|
||||||
|
fun getBigVariable(key: String): String? |
||||||
|
|
||||||
} |
} |
Loading…
Reference in new issue