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