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