TXTZ metadata writer.

This commit is contained in:
John Schember 2011-02-06 15:01:31 -05:00
parent 837bd4e548
commit 0f86858c3b
2 changed files with 20 additions and 4 deletions

View File

@ -423,6 +423,17 @@ class TOPAZMetadataWriter(MetadataWriterPlugin):
from calibre.ebooks.metadata.topaz import set_metadata from calibre.ebooks.metadata.topaz import set_metadata
set_metadata(stream, mi) set_metadata(stream, mi)
class TXTZMetadataWriter(MetadataWriterPlugin):
name = 'Set TXTZ metadata'
file_types = set(['txtz'])
description = _('Set metadata from %s files') % 'TXTZ'
author = 'John Schember'
def set_metadata(self, stream, mi, type):
from calibre.ebooks.metadata.txtz import set_metadata
set_metadata(stream, mi)
# }}} # }}}
from calibre.ebooks.comic.input import ComicInput from calibre.ebooks.comic.input import ComicInput

View File

@ -9,9 +9,12 @@ Read meta information from TXT files
import os import os
from cStringIO import StringIO
from calibre.ebooks.metadata import MetaInformation from calibre.ebooks.metadata import MetaInformation
from calibre.ebooks.metadata.opf2 import OPF, metadata_to_opf
from calibre.ptempfile import TemporaryDirectory from calibre.ptempfile import TemporaryDirectory
from calibre.utils.zipfile import ZipFile from calibre.utils.zipfile import ZipFile, safe_replace
def get_metadata(stream, extract_cover=True): def get_metadata(stream, extract_cover=True):
''' '''
@ -24,11 +27,13 @@ def get_metadata(stream, extract_cover=True):
try: try:
zf = ZipFile(stream) zf = ZipFile(stream)
zf.extract('metadata.opf', tdir) zf.extract('metadata.opf', tdir)
from calibre.ebooks.metadata.opf2 import OPF
with open(os.path.join(tdir, 'metadata.opf'), 'rb') as opff: with open(os.path.join(tdir, 'metadata.opf'), 'rb') as opff:
mi = OPF(opff).to_book_metadata() mi = OPF(opff).to_book_metadata()
except: except:
return mi return mi
return mi return mi
def set_metadata(stream, mi):
stream.seek(0)
opf = StringIO(metadata_to_opf(mi))
safe_replace(stream, 'metadata.opf', opf)