mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
TXTZ metadata writer.
This commit is contained in:
parent
837bd4e548
commit
0f86858c3b
@ -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
|
||||||
|
@ -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)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user