mirror of
https://github.com/wassname/FanFicFare.git
synced 2026-09-10 11:40:24 +08:00
Add include_logpage: smart Add logpage only if In-Progress or has already one.
This commit is contained in:
+27
-23
@@ -282,13 +282,17 @@ zip_output: false
|
||||
## mobi generated from epub by calibre will have a TOC at the end.
|
||||
include_tocpage: false
|
||||
|
||||
## include a Update Log page before the story text. If included, the
|
||||
## log will be updated each time the epub is an all the metadata
|
||||
## include a Update Log page before the story text. If 'true', the
|
||||
## log will be updated each time the epub is and all the metadata
|
||||
## fields that have changed since the last update (typically
|
||||
## dateUpdated,numChapters,numWords at a minimum) will be shown.
|
||||
## Great for tracking when chapters came out and when the description,
|
||||
## etc changed.
|
||||
include_logpage: false
|
||||
## If set to 'smart', logpage will only be included if the story is
|
||||
## status:In-Progress or already had a logpage. That way you don't
|
||||
## end up with Completed stories that have just one logpage entry.
|
||||
#include_logpage: smart
|
||||
|
||||
## items to include in the log page Empty metadata entries, or those
|
||||
## that haven't changed since the last update, will *not* appear, even
|
||||
@@ -397,31 +401,31 @@ nook_img_fix:true
|
||||
## URLs like: http://test1.com?sid=12345
|
||||
[test1.com]
|
||||
extratags: FanFiction,Testing
|
||||
extracategories:Fafner
|
||||
extragenres:Romance,Fluff
|
||||
extracharacters:Reginald Smythe-Smythe,Mokona,Harry P.
|
||||
extraships:Smythe-Smythe/Mokona
|
||||
extrawarnings:Extreme Bogosity
|
||||
# extracategories:Fafner
|
||||
# extragenres:Romance,Fluff
|
||||
# extracharacters:Reginald Smythe-Smythe,Mokona,Harry P.
|
||||
# extraships:Smythe-Smythe/Mokona
|
||||
# extrawarnings:Extreme Bogosity
|
||||
|
||||
extra_valid_entries:metaA,metaB,metaC,listX,listY,listZ,compositeJ,compositeK,compositeL
|
||||
# extra_valid_entries:metaA,metaB,metaC,listX,listY,listZ,compositeJ,compositeK,compositeL
|
||||
|
||||
include_in_compositeJ:dateCreated
|
||||
include_in_compositeK:metaC,listX,compositeL,compositeJ,compositeK,listZ
|
||||
include_in_compositeL:ships,metaA,listZ,datePublished,dateUpdated,
|
||||
# include_in_compositeJ:dateCreated
|
||||
# include_in_compositeK:metaC,listX,compositeL,compositeJ,compositeK,listZ
|
||||
# include_in_compositeL:ships,metaA,listZ,datePublished,dateUpdated,
|
||||
|
||||
extra_titlepage_entries: metaA,metaB,metaC,listX,listY,listZ,compositeJ,compositeK,compositeL
|
||||
extra_logpage_entries: metaA,metaB,metaC,listX,listY,listZ,compositeJ,compositeK,compositeL
|
||||
extra_subject_tags: metaA,metaB,metaC
|
||||
# extra_titlepage_entries: metaA,metaB,metaC,listX,listY,listZ,compositeJ,compositeK,compositeL
|
||||
# extra_logpage_entries: metaA,metaB,metaC,listX,listY,listZ,compositeJ,compositeK,compositeL
|
||||
# extra_subject_tags: metaA,metaB,metaC
|
||||
|
||||
replace_metadata:
|
||||
compositeL=>Val=>VALUE
|
||||
series,extratags=>Test=>Plan
|
||||
Puella Magi Madoka Magica.* => Madoka
|
||||
Comedy=>Humor
|
||||
Crossover: (.*)=>\1
|
||||
(.*)Great(.*)=>\1Moderate\2
|
||||
.*-Centered=>
|
||||
characters=>Harry P\.=>Harry Potter
|
||||
# replace_metadata:
|
||||
# compositeL=>Val=>VALUE
|
||||
# series,extratags=>Test=>Plan
|
||||
# Puella Magi Madoka Magica.* => Madoka
|
||||
# Comedy=>Humor
|
||||
# Crossover: (.*)=>\1
|
||||
# (.*)Great(.*)=>\1Moderate\2
|
||||
# .*-Centered=>
|
||||
# characters=>Harry P\.=>Harry Potter
|
||||
|
||||
|
||||
## If necessary, you can define [<site>:<format>] sections to
|
||||
|
||||
@@ -192,30 +192,28 @@ div { margin: 0pt; padding: 0pt; }
|
||||
string.Template(). START and END are expected to use the same
|
||||
names as Story.metadata, but ENTRY should use id, label and value.
|
||||
"""
|
||||
if self.getConfig("include_logpage"):
|
||||
if self.hasConfig("logpage_start"):
|
||||
START = string.Template(self.getConfig("logpage_start"))
|
||||
else:
|
||||
START = self.EPUB_LOG_PAGE_START
|
||||
|
||||
if self.hasConfig("logpage_start"):
|
||||
START = string.Template(self.getConfig("logpage_start"))
|
||||
else:
|
||||
START = self.EPUB_LOG_PAGE_START
|
||||
|
||||
if self.hasConfig("logpage_end"):
|
||||
END = string.Template(self.getConfig("logpage_end"))
|
||||
else:
|
||||
END = self.EPUB_LOG_PAGE_END
|
||||
|
||||
# if there's a self.story.logfile, there's an existing log
|
||||
# to add to.
|
||||
if self.story.logfile:
|
||||
logger.debug("existing logfile found, appending")
|
||||
logger.debug("existing data:%s"%self._getLastLogData(self.story.logfile))
|
||||
replace_string = "</body>" # "</h3>"
|
||||
self._write(out,self.story.logfile.replace(replace_string,self._makeLogEntry(self._getLastLogData(self.story.logfile))+replace_string))
|
||||
else:
|
||||
# otherwise, write a new one.
|
||||
self._write(out,START.substitute(self.story.getAllMetadata()))
|
||||
self._write(out,self._makeLogEntry())
|
||||
self._write(out,END.substitute(self.story.getAllMetadata()))
|
||||
if self.hasConfig("logpage_end"):
|
||||
END = string.Template(self.getConfig("logpage_end"))
|
||||
else:
|
||||
END = self.EPUB_LOG_PAGE_END
|
||||
|
||||
# if there's a self.story.logfile, there's an existing log
|
||||
# to add to.
|
||||
if self.story.logfile:
|
||||
logger.debug("existing logfile found, appending")
|
||||
logger.debug("existing data:%s"%self._getLastLogData(self.story.logfile))
|
||||
replace_string = "</body>" # "</h3>"
|
||||
self._write(out,self.story.logfile.replace(replace_string,self._makeLogEntry(self._getLastLogData(self.story.logfile))+replace_string))
|
||||
else:
|
||||
# otherwise, write a new one.
|
||||
self._write(out,START.substitute(self.story.getAllMetadata()))
|
||||
self._write(out,self._makeLogEntry())
|
||||
self._write(out,END.substitute(self.story.getAllMetadata()))
|
||||
|
||||
# self parsing instead of Soup because it should be simple and not
|
||||
# worth the overhead.
|
||||
@@ -494,7 +492,11 @@ div { margin: 0pt; padding: 0pt; }
|
||||
items.append(("toc_page","OEBPS/toc_page.xhtml","application/xhtml+xml","Table of Contents"))
|
||||
itemrefs.append("toc_page")
|
||||
|
||||
if self.getConfig("include_logpage"):
|
||||
dologpage = ( self.getConfig("include_logpage") == "smart" and \
|
||||
(self.story.logfile or self.story.getMetadataRaw("status") == "In-Progress") ) \
|
||||
or self.getConfig("include_logpage") == "true"
|
||||
|
||||
if dologpage:
|
||||
items.append(("log_page","OEBPS/log_page.xhtml","application/xhtml+xml","Update Log"))
|
||||
itemrefs.append("log_page")
|
||||
|
||||
@@ -629,12 +631,12 @@ div { margin: 0pt; padding: 0pt; }
|
||||
outputepub.writestr("OEBPS/toc_page.xhtml",tocpageIO.getvalue())
|
||||
tocpageIO.close()
|
||||
|
||||
# write log page.
|
||||
logpageIO = StringIO.StringIO()
|
||||
self.writeLogPage(logpageIO)
|
||||
if logpageIO.getvalue(): # will be false if no log page.
|
||||
if dologpage:
|
||||
# write log page.
|
||||
logpageIO = StringIO.StringIO()
|
||||
self.writeLogPage(logpageIO)
|
||||
outputepub.writestr("OEBPS/log_page.xhtml",logpageIO.getvalue())
|
||||
logpageIO.close()
|
||||
logpageIO.close()
|
||||
|
||||
if self.hasConfig('chapter_start'):
|
||||
CHAPTER_START = string.Template(self.getConfig("chapter_start"))
|
||||
|
||||
+27
-23
@@ -258,13 +258,17 @@ windows_eol: true
|
||||
## mobi generated from epub by calibre will have a TOC at the end.
|
||||
include_tocpage: false
|
||||
|
||||
## include a Update Log page before the story text. If included, the
|
||||
## log will be updated each time the epub is an all the metadata
|
||||
## include a Update Log page before the story text. If 'true', the
|
||||
## log will be updated each time the epub is and all the metadata
|
||||
## fields that have changed since the last update (typically
|
||||
## dateUpdated,numChapters,numWords at a minimum) will be shown.
|
||||
## Great for tracking when chapters came out and when the description,
|
||||
## etc changed.
|
||||
include_logpage: false
|
||||
## If set to 'smart', logpage will only be included if the story is
|
||||
## status:In-Progress or already had a logpage. That way you don't
|
||||
## end up with Completed stories that have just one logpage entry.
|
||||
#include_logpage: smart
|
||||
|
||||
## items to include in the log page Empty metadata entries, or those
|
||||
## that haven't changed since the last update, will *not* appear, even
|
||||
@@ -372,31 +376,31 @@ nook_img_fix:true
|
||||
## URLs like: http://test1.com?sid=12345
|
||||
[test1.com]
|
||||
extratags: FanFiction,Testing
|
||||
extracategories:Fafner
|
||||
extragenres:Romance,Fluff
|
||||
extracharacters:Reginald Smythe-Smythe,Mokona,Harry P.
|
||||
extraships:Smythe-Smythe/Mokona
|
||||
extrawarnings:Extreme Bogosity
|
||||
# extracategories:Fafner
|
||||
# extragenres:Romance,Fluff
|
||||
# extracharacters:Reginald Smythe-Smythe,Mokona,Harry P.
|
||||
# extraships:Smythe-Smythe/Mokona
|
||||
# extrawarnings:Extreme Bogosity
|
||||
|
||||
extra_valid_entries:metaA,metaB,metaC,listX,listY,listZ,compositeJ,compositeK,compositeL
|
||||
# extra_valid_entries:metaA,metaB,metaC,listX,listY,listZ,compositeJ,compositeK,compositeL
|
||||
|
||||
include_in_compositeJ:dateCreated
|
||||
include_in_compositeK:metaC,listX,compositeL,compositeJ,compositeK,listZ
|
||||
include_in_compositeL:ships,metaA,listZ,datePublished,dateUpdated,
|
||||
# include_in_compositeJ:dateCreated
|
||||
# include_in_compositeK:metaC,listX,compositeL,compositeJ,compositeK,listZ
|
||||
# include_in_compositeL:ships,metaA,listZ,datePublished,dateUpdated,
|
||||
|
||||
extra_titlepage_entries: metaA,metaB,metaC,listX,listY,listZ,compositeJ,compositeK,compositeL
|
||||
extra_logpage_entries: metaA,metaB,metaC,listX,listY,listZ,compositeJ,compositeK,compositeL
|
||||
extra_subject_tags: metaA,metaB,metaC
|
||||
# extra_titlepage_entries: metaA,metaB,metaC,listX,listY,listZ,compositeJ,compositeK,compositeL
|
||||
# extra_logpage_entries: metaA,metaB,metaC,listX,listY,listZ,compositeJ,compositeK,compositeL
|
||||
# extra_subject_tags: metaA,metaB,metaC
|
||||
|
||||
replace_metadata:
|
||||
compositeL=>Val=>VALUE
|
||||
series,extratags=>Test=>Plan
|
||||
Puella Magi Madoka Magica.* => Madoka
|
||||
Comedy=>Humor
|
||||
Crossover: (.*)=>\1
|
||||
(.*)Great(.*)=>\1Moderate\2
|
||||
.*-Centered=>
|
||||
characters=>Harry P\.=>Harry Potter
|
||||
# replace_metadata:
|
||||
# compositeL=>Val=>VALUE
|
||||
# series,extratags=>Test=>Plan
|
||||
# Puella Magi Madoka Magica.* => Madoka
|
||||
# Comedy=>Humor
|
||||
# Crossover: (.*)=>\1
|
||||
# (.*)Great(.*)=>\1Moderate\2
|
||||
# .*-Centered=>
|
||||
# characters=>Harry P\.=>Harry Potter
|
||||
|
||||
|
||||
## If necessary, you can define [<site>:<format>] sections to
|
||||
|
||||
Reference in New Issue
Block a user