diff --git a/calibre-plugin/jobs.py b/calibre-plugin/jobs.py index 071f560..1ab49ad 100644 --- a/calibre-plugin/jobs.py +++ b/calibre-plugin/jobs.py @@ -132,7 +132,7 @@ def do_download_for_worker(book,options): elif options['collision'] in (ADDNEW, SKIP, OVERWRITE, OVERWRITEALWAYS) or \ ('epub_for_update' not in book and options['collision'] in (UPDATE, UPDATEALWAYS)): print("write to %s"%outfile) - writer.writeStory(outfilename=outfile) + writer.writeStory(outfilename=outfile, forceOverwrite=True) book['comment'] = 'Download %s completed, %s chapters.'%(options['fileform'],story.getMetadata("numChapters")) ## checks were done earlier, just update it. diff --git a/fanficdownloader/writers/base_writer.py b/fanficdownloader/writers/base_writer.py index 7ea5513..eb74b5c 100644 --- a/fanficdownloader/writers/base_writer.py +++ b/fanficdownloader/writers/base_writer.py @@ -183,7 +183,7 @@ class BaseStoryWriter(Configurable): self._write(out,END.substitute(self.story.metadata)) # if no outstream is given, write to file. - def writeStory(self,outstream=None,metaonly=False, outfilename=None): + def writeStory(self,outstream=None, metaonly=False, outfilename=None, forceOverwrite=False): for tag in self.getConfigList("extratags"): self.story.addToList("extratags",tag) @@ -203,7 +203,7 @@ class BaseStoryWriter(Configurable): os.mkdir(path) ## os.makedirs() doesn't work in 2.5.2? ## Check for output file date vs updated date here - if not self.getConfig('always_overwrite'): + if not (self.getConfig('always_overwrite') or forceOverwrite): if os.path.exists(outfilename): ## date() truncs off time, which files have, but sites don't report. lastupdated=self.story.getMetadataRaw('dateUpdated').date()