mirror of
https://github.com/JimmXinu/FanFicFare.git
synced 2026-05-08 12:36:11 +02:00
Making some metadata entries immutable
This commit is contained in:
parent
c9a47877f7
commit
1b65a30798
2 changed files with 32 additions and 0 deletions
|
|
@ -521,6 +521,22 @@ def get_valid_scalar_entries():
|
|||
def get_valid_entries():
|
||||
return get_valid_list_entries() + get_valid_scalar_entries()
|
||||
|
||||
## Metadata entries that are not allowed to be changed.
|
||||
def get_immutable_entries():
|
||||
return list([
|
||||
'authorId',
|
||||
'authorUrl',
|
||||
'seriesUrl',
|
||||
'storyId',
|
||||
'storyUrl',
|
||||
'langcode',
|
||||
'numChapters',
|
||||
'site',
|
||||
'anthology',
|
||||
'newforanthology',
|
||||
'cover_image',
|
||||
])
|
||||
|
||||
# Moved here for test_config.
|
||||
def make_generate_cover_settings(param):
|
||||
vlist = []
|
||||
|
|
@ -587,6 +603,7 @@ class Configuration(ConfigParser):
|
|||
self.listTypeEntries = get_valid_list_entries()
|
||||
|
||||
self.validEntries = get_valid_entries()
|
||||
self.immutableEntries = get_immutable_entries()
|
||||
|
||||
self.url_config_set = False
|
||||
|
||||
|
|
@ -631,6 +648,12 @@ class Configuration(ConfigParser):
|
|||
def getValidMetaList(self):
|
||||
return self.validEntries + self.getConfigList("extra_valid_entries")
|
||||
|
||||
def isImmutableMetaEntry(self, key):
|
||||
return key in self.getImmutableMetaList()
|
||||
|
||||
def getImmutableMetaList(self):
|
||||
return self.immutableEntries
|
||||
|
||||
# used by adapters & writers, non-convention naming style
|
||||
def hasConfig(self, key):
|
||||
return self.has_config(self.sectionslist, key)
|
||||
|
|
@ -1099,6 +1122,9 @@ class Configurable(object):
|
|||
def isValidMetaEntry(self, key):
|
||||
return self.configuration.isValidMetaEntry(key)
|
||||
|
||||
def isImmutableMetaEntry(self, key):
|
||||
return self.configuration.isImmutableMetaEntry(key)
|
||||
|
||||
def getValidMetaList(self):
|
||||
return self.configuration.getValidMetaList()
|
||||
|
||||
|
|
|
|||
|
|
@ -1138,6 +1138,9 @@ class Story(Requestable):
|
|||
removeallentities=False,
|
||||
doreplacements=True,
|
||||
seen_list={}):
|
||||
if self.isImmutableMetaEntry(key):
|
||||
doreplacements = False
|
||||
|
||||
# check for a cached value to speed processing
|
||||
if self.metadata_cache.is_cached_scalar(key,removeallentities,doreplacements):
|
||||
return self.metadata_cache.get_cached_scalar(key,removeallentities,doreplacements)
|
||||
|
|
@ -1306,6 +1309,9 @@ class Story(Requestable):
|
|||
#print("getList(%s,%s)"%(listname,includelist))
|
||||
retlist = []
|
||||
|
||||
if self.isImmutableMetaEntry(listname):
|
||||
doreplacements = False
|
||||
|
||||
# check for a cached value to speed processing
|
||||
if not skip_cache and self.metadata_cache.is_cached_list(listname,removeallentities,doreplacements):
|
||||
return self.metadata_cache.get_cached_list(listname,removeallentities,doreplacements)
|
||||
|
|
|
|||
Loading…
Reference in a new issue