mirror of
https://github.com/JimmXinu/FanFicFare.git
synced 2026-04-30 02:41:15 +02:00
Clear metadata cache after adapter metadata fetch. Cached metadata values may not be replace_metadata processed if fetched before their conditional dependencies. Revealed by AO3 one-shots using title for chapter name.
This commit is contained in:
parent
210a6a5589
commit
fd46963301
2 changed files with 17 additions and 1 deletions
|
|
@ -296,6 +296,18 @@ class BaseSiteAdapter(Configurable):
|
|||
def getStoryMetadataOnly(self,get_cover=True):
|
||||
if not self.metadataDone:
|
||||
self.doExtractChapterUrlsAndMetadata(get_cover=get_cover)
|
||||
## Due to some adapters calling getMetadata()etc, values
|
||||
## may have been cached during metadata collection and
|
||||
## *before* other values that their replace_metadata
|
||||
## depends on.
|
||||
##
|
||||
## Re-arranging the collection order isn't a good
|
||||
## solution--title could depend on category just as easily
|
||||
## as category on title.
|
||||
##
|
||||
## This clears the cache before title page etc and Calibre
|
||||
## at least.
|
||||
self.story.clear_processed_metadata_cache()
|
||||
|
||||
if not self.story.getMetadataRaw('dateUpdated'):
|
||||
if self.story.getMetadataRaw('datePublished'):
|
||||
|
|
|
|||
|
|
@ -477,7 +477,7 @@ class Story(Configurable):
|
|||
self.replacements_prepped = False
|
||||
|
||||
self.chapter_error_count = 0
|
||||
|
||||
|
||||
def prepare_replacements(self):
|
||||
if not self.replacements_prepped and not self.is_lightweight():
|
||||
# logger.debug("prepare_replacements")
|
||||
|
|
@ -504,6 +504,10 @@ class Story(Configurable):
|
|||
self.in_ex_cludes[ie] = set_in_ex_clude(ies)
|
||||
self.replacements_prepped = True
|
||||
|
||||
def clear_processed_metadata_cache(self):
|
||||
self.processed_metadata_cache = {}
|
||||
self.processed_metadata_list_cache = {}
|
||||
|
||||
def set_chapters_range(self,first=None,last=None):
|
||||
self.chapter_first=first
|
||||
self.chapter_last=last
|
||||
|
|
|
|||
Loading…
Reference in a new issue