This commit is contained in:
Kovid Goyal 2007-12-27 23:11:49 +00:00
parent 4e856a3481
commit 42a90b9515

View File

@ -24,17 +24,14 @@ to get and set meta information. For example:
>>> lrf.category = "History" >>> lrf.category = "History"
""" """
import struct, zlib, sys, re import struct, zlib, sys
from shutil import copyfileobj from shutil import copyfileobj
from cStringIO import StringIO from cStringIO import StringIO
import xml.dom.minidom as dom import xml.dom.minidom as dom
from functools import wraps from functools import wraps
from xml.parsers.expat import ParserCreate
from libprs500.devices.prs500.prstypes import field from libprs500.devices.prs500.prstypes import field
from libprs500.ebooks.metadata import MetaInformation from libprs500.ebooks.metadata import MetaInformation
from libprs500.ebooks.BeautifulSoup import BeautifulStoneSoup
BYTE = "<B" #: Unsigned char little endian encoded in 1 byte BYTE = "<B" #: Unsigned char little endian encoded in 1 byte
WORD = "<H" #: Unsigned short little endian encoded in 2 bytes WORD = "<H" #: Unsigned short little endian encoded in 2 bytes
@ -366,8 +363,10 @@ class LRFMetaFile(object):
if len(src) != self.uncompressed_info_size: if len(src) != self.uncompressed_info_size:
raise LRFException("Decompression of document meta info\ raise LRFException("Decompression of document meta info\
yielded unexpected results") yielded unexpected results")
src = src.replace('\x00', '').strip() try:
return dom.parseString(src) return dom.parseString(src)
except:
return dom.parseString(src.replace('\x00', '').strip())
except zlib.error: except zlib.error:
raise LRFException("Unable to decompress document meta information") raise LRFException("Unable to decompress document meta information")