mirror of
https://github.com/JimmXinu/FanFicFare.git
synced 2026-01-06 08:05:28 +01:00
Change output names for web version, make html & text output work for CLI version.
This commit is contained in:
parent
ecdeef4b3b
commit
cf0d1bf09b
3 changed files with 26 additions and 4 deletions
|
|
@ -62,6 +62,13 @@ class FanficLoader:
|
|||
self.standAlone = sa
|
||||
return self.standAlone
|
||||
|
||||
def getOverWrite(self):
|
||||
return self.overWrite
|
||||
|
||||
def setOverWrite(self, sa):
|
||||
self.overWrite = sa
|
||||
return self.overWrite
|
||||
|
||||
def getAdapter():
|
||||
return self.adapter
|
||||
|
||||
|
|
@ -153,6 +160,8 @@ if __name__ == '__main__':
|
|||
writerClass = output.EPubFanficWriter
|
||||
elif bookFormat == 'html':
|
||||
writerClass = output.HTMLWriter
|
||||
elif bookFormat == 'text':
|
||||
writerClass = output.TextWriter
|
||||
|
||||
if adapter.requiresLogin(url):
|
||||
print("Meow, URL %s requires you to haz been logged in! Please can I haz this datas?" % url)
|
||||
|
|
@ -167,6 +176,9 @@ if __name__ == '__main__':
|
|||
|
||||
loader = FanficLoader(adapter, writerClass)
|
||||
loader.setStandAlone(True)
|
||||
if bookFormat != 'epub':
|
||||
loader.setOverWrite(True)
|
||||
|
||||
|
||||
try:
|
||||
loader.download()
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ class TextWriter(FanficWriter):
|
|||
return '.txt'
|
||||
|
||||
def __init__(self, base, adapter, inmemory=False, compress=False):
|
||||
self.inmemory = inmemory
|
||||
self.htmlWriter = HTMLWriter(base, adapter, True, False)
|
||||
|
||||
def writeChapter(self, index, title, text):
|
||||
|
|
@ -67,9 +68,17 @@ class TextWriter(FanficWriter):
|
|||
|
||||
def finalise(self):
|
||||
self.htmlWriter.finalise()
|
||||
self.output = StringIO.StringIO()
|
||||
self.name=self.htmlWriter.name
|
||||
self.fileName = self.htmlWriter.fileName.replace(".html",".txt")
|
||||
if self.inmemory:
|
||||
self.output = StringIO.StringIO()
|
||||
else:
|
||||
self.output = open(self.fileName, 'w')
|
||||
|
||||
self.output.write(html2text.html2text(self.htmlWriter.output.getvalue().decode('utf-8')).encode('utf-8'))
|
||||
self.name = self.htmlWriter.name
|
||||
|
||||
if not self.inmemory:
|
||||
self.output.close()
|
||||
|
||||
|
||||
class HTMLWriter(FanficWriter):
|
||||
|
|
|
|||
5
main.py
5
main.py
|
|
@ -230,7 +230,8 @@ class FanfictionDownloader(webapp.RequestHandler):
|
|||
ext = '.html'
|
||||
if format == 'text':
|
||||
ext = '.txt'
|
||||
files = {makeAcceptableFilename(str(adapter.getStoryName())) + ext : StringIO.StringIO(data.decode('utf-8')) }
|
||||
logging.debug(data)
|
||||
files = {makeAcceptableFilename(str(adapter.getOutputName())) + ext : StringIO.StringIO(data.decode('utf-8')) }
|
||||
d = inMemoryZip(files)
|
||||
data = d.getvalue()
|
||||
|
||||
|
|
@ -265,7 +266,7 @@ class FanfictionDownloader(webapp.RequestHandler):
|
|||
fic.user = user
|
||||
fic.url = url
|
||||
fic.format = format
|
||||
fic.name = self._printableVersion(adapter.getStoryName())
|
||||
fic.name = self._printableVersion(adapter.getOutputName())
|
||||
fic.author = self._printableVersion(adapter.getAuthorName())
|
||||
fic.blob = data
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue