diff --git a/fanficdownloader/mobi.py b/fanficdownloader/mobi.py index 4facb556..cd9502e0 100644 --- a/fanficdownloader/mobi.py +++ b/fanficdownloader/mobi.py @@ -47,8 +47,11 @@ class _SubEntry: return self.html.RenameAnchors(self._name + '_') class Converter: - def __init__(self, refresh_url=''): + def __init__(self, refresh_url='', title='Unknown', author='Unknown', publisher='Unknown'): self._header = Header() + self._header.SetTitle(title) + self._header.SetAuthor(author) + self._header.SetPublisher(publisher) self._refresh_url = refresh_url def ConvertString(self, s): @@ -114,9 +117,9 @@ class Converter: html = HtmlProcessor(html_data) data = html.CleanHtml() records = [] - title = html.title - if title: - self._header.SetTitle(title) +# title = html.title +# if title: +# self._header.SetTitle(title) record_id = 1 for start_pos in range(0, len(data), Record.MAX_SIZE): end = min(len(data), start_pos + Record.MAX_SIZE) @@ -190,16 +193,16 @@ class Header: self._first_image_index = 0 def SetAuthor(self, author): - self._author = author + self._author = author.encode('ascii','ignore') def SetTitle(self, title): # TODO(chatham): Reevaluate whether this needs to be ASCII. # maybe just do sys.setdefaultencoding('utf-8')? Problems # appending self._title with other things. - self._title = title.encode('ascii') + self._title = title.encode('ascii','ignore') def SetPublisher(self, publisher): - self._publisher = publisher + self._publisher = publisher.encode('ascii','ignore') def AddRecord(self, data, record_id): self.max_record_size = max(Record.MAX_SIZE, len(data)) @@ -341,4 +344,4 @@ class Header: if __name__ == '__main__': import sys m = Converter() - m.ConvertFiles(sys.argv[1:], '/tmp/test.mobi') \ No newline at end of file + m.ConvertFiles(sys.argv[1:], '/tmp/test.mobi') diff --git a/fanficdownloader/output.py b/fanficdownloader/output.py index de002216..63c1168c 100644 --- a/fanficdownloader/output.py +++ b/fanficdownloader/output.py @@ -99,6 +99,7 @@ class MobiWriter(FanficWriter): self.name = makeAcceptableFilename(adapter.getOutputName()) self.fileName = self.basePath + '/' + self.name + self.getFormatExt() self.authorName = removeEntities(adapter.getAuthorName()) + self.publisher = adapter.getPublisher() self.adapter = adapter self.mobi = mobi self.inmemory = inmemory @@ -136,7 +137,7 @@ class MobiWriter(FanficWriter): # f.write(result) # f.close() - c = mobi.Converter() + c = mobi.Converter(title=self.storyTitle, author=self.authorName, publisher=self.publisher) mobidata = c.ConvertString(result) self.output.write(mobidata)