From 8d3c4f56c5876ee90c578adf8eb7c8d34de4d9e4 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 2 May 2008 15:35:26 -0700 Subject: [PATCH] Make metadata reading more robust --- src/calibre/ebooks/metadata/meta.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/calibre/ebooks/metadata/meta.py b/src/calibre/ebooks/metadata/meta.py index 055bf22b1e..42ad32cfbe 100644 --- a/src/calibre/ebooks/metadata/meta.py +++ b/src/calibre/ebooks/metadata/meta.py @@ -132,9 +132,13 @@ def metadata_from_filename(name, pat=None): return mi def opf_metadata(opfpath): - f = open(opfpath, 'rb') - opf = OPFReader(f, os.path.dirname(opfpath)) + if hasattr(opfpath, 'read'): + f = opfpath + opfpath = getattr(f, 'name', '') + else: + f = open(opfpath, 'rb') try: + opf = OPFReader(f, os.path.dirname(opfpath)) if opf.application_id is not None: mi = MetaInformation(opf, None) if hasattr(opf, 'cover') and opf.cover: