From a2064499e815b37c0dbef55e2b3f251cb6a1366e Mon Sep 17 00:00:00 2001 From: John Schember Date: Fri, 17 Apr 2009 21:42:03 -0400 Subject: [PATCH] Fix bug 2112: Stop metadata reader from holding pdf files open after reading. --- src/calibre/ebooks/metadata/pdf.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/calibre/ebooks/metadata/pdf.py b/src/calibre/ebooks/metadata/pdf.py index 4476eb0847..9946d831af 100644 --- a/src/calibre/ebooks/metadata/pdf.py +++ b/src/calibre/ebooks/metadata/pdf.py @@ -21,6 +21,7 @@ def get_metadata(stream, extract_cover=True): """ Return metadata as a L{MetaInfo} object """ mi = MetaInformation(_('Unknown'), [_('Unknown')]) stream.seek(0) + stream = StringIO.StringIO(stream.read()) if extract_cover and _imagemagick_loaded: try: @@ -70,6 +71,10 @@ def set_metadata(stream, mi): stream.seek(0) def get_cover(stream): + stream.seek(0) + if not isinstance(stream, StringIO.StringIO): + stream = StringIO.StringIO(stream.read()) + data = StringIO.StringIO() try: