mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Implement dumping for odt in addition to docx
This commit is contained in:
parent
30bbd17481
commit
2a333aa46a
@ -279,10 +279,10 @@ def main(args=sys.argv):
|
||||
main(['calibre-diff'] + args[1:])
|
||||
elif len(args) >= 2 and args[1].rpartition('.')[-1] in {'py', 'recipe'}:
|
||||
run_script(args[1], args[2:])
|
||||
elif len(args) >= 2 and args[1].rpartition('.')[-1] in {'mobi', 'azw', 'azw3', 'docx'}:
|
||||
elif len(args) >= 2 and args[1].rpartition('.')[-1] in {'mobi', 'azw', 'azw3', 'docx', 'odt'}:
|
||||
for path in args[1:]:
|
||||
ext = path.rpartition('.')[-1]
|
||||
if ext == 'docx':
|
||||
if ext in {'docx', 'odt'}:
|
||||
from calibre.ebooks.docx.dump import dump
|
||||
dump(path)
|
||||
elif ext in {'mobi', 'azw', 'azw3'}:
|
||||
|
@ -25,10 +25,11 @@ def dump(path):
|
||||
if f.endswith('.xml') or f.endswith('.rels'):
|
||||
with open(f, 'r+b') as stream:
|
||||
raw = stream.read()
|
||||
root = etree.fromstring(raw)
|
||||
stream.seek(0)
|
||||
stream.truncate()
|
||||
stream.write(etree.tostring(root, pretty_print=True, encoding='utf-8', xml_declaration=True))
|
||||
if raw:
|
||||
root = etree.fromstring(raw)
|
||||
stream.seek(0)
|
||||
stream.truncate()
|
||||
stream.write(etree.tostring(root, pretty_print=True, encoding='utf-8', xml_declaration=True))
|
||||
|
||||
print (path, 'dumped to', dest)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user