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 |
||||
|
||||
class RuleData : RuleDataInterface { |
||||
import io.legado.app.utils.GSON |
||||
|
||||
override var variable: String? = null |
||||
class RuleData : RuleDataInterface { |
||||
|
||||
override val variableMap by lazy { |
||||
hashMapOf<String, String>() |
||||
} |
||||
|
||||
override fun putBigVariable(key: String, value: String) { |
||||
variableMap[key] = value |
||||
override fun putBigVariable(key: String, value: String?) { |
||||
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 |
||||
|
||||
import io.legado.app.utils.GSON |
||||
|
||||
interface RuleDataInterface { |
||||
|
||||
var variable: String? |
||||
|
||||
val variableMap: HashMap<String, String> |
||||
|
||||
fun putVariable(key: String, value: String?) { |
||||
when { |
||||
fun putVariable(key: String, value: String?): Boolean { |
||||
return when { |
||||
value == null -> { |
||||
variableMap.remove(key) |
||||
variable = GSON.toJson(variableMap) |
||||
putBigVariable(key, value) |
||||
true |
||||
} |
||||
value.length < 1000 -> { |
||||
variableMap[key] = value |
||||
variable = GSON.toJson(variableMap) |
||||
true |
||||
} |
||||
else -> { |
||||
variableMap[key] = value |
||||
variable = GSON.toJson(variableMap) |
||||
putBigVariable(key, value) |
||||
false |
||||
} |
||||
} |
||||
} |
||||
|
||||
fun putBigVariable(key: String, value: String) |
||||
fun putBigVariable(key: String, value: String?) |
||||
|
||||
fun getVariable(key: String): String? { |
||||
return variableMap[key] |
||||
return variableMap[key] ?: getBigVariable(key) |
||||
} |
||||
|
||||
fun getBigVariable(key: String): String? |
||||
|
||||
} |
Loading…
Reference in new issue