mirror of
https://github.com/gryf/ebook-converter.git
synced 2026-01-03 09:14:11 +01:00
Here is the first batch of modules, which are needed for converting several formats to LRF. Some of the logic has been change, more cleanups will follow.
41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
# -*- coding: utf-8 -*-
|
|
from __future__ import absolute_import, division, print_function, unicode_literals
|
|
|
|
__license__ = 'GPL 3'
|
|
__copyright__ = '2009, John Schember <john@nachtimwald.com>'
|
|
__docformat__ = 'restructuredtext en'
|
|
|
|
import os
|
|
|
|
from ebook_converter.customize.conversion import OutputFormatPlugin
|
|
|
|
|
|
class RTFOutput(OutputFormatPlugin):
|
|
|
|
name = 'RTF Output'
|
|
author = 'John Schember'
|
|
file_type = 'rtf'
|
|
commit_name = 'rtf_output'
|
|
|
|
def convert(self, oeb_book, output_path, input_plugin, opts, log):
|
|
from ebook_converter.ebooks.rtf.rtfml import RTFMLizer
|
|
|
|
rtfmlitzer = RTFMLizer(log)
|
|
content = rtfmlitzer.extract_content(oeb_book, opts)
|
|
|
|
close = False
|
|
if not hasattr(output_path, 'write'):
|
|
close = True
|
|
if not os.path.exists(os.path.dirname(output_path)) and os.path.dirname(output_path) != '':
|
|
os.makedirs(os.path.dirname(output_path))
|
|
out_stream = lopen(output_path, 'wb')
|
|
else:
|
|
out_stream = output_path
|
|
|
|
out_stream.seek(0)
|
|
out_stream.truncate()
|
|
out_stream.write(content.encode('ascii', 'replace'))
|
|
|
|
if close:
|
|
out_stream.close()
|