OCFZipReader: Handle case when CWD is invalid more elegantly

This commit is contained in:
Kovid Goyal 2010-11-09 11:25:59 -07:00
parent 4e64686684
commit 7acec85c89

View File

@ -109,9 +109,11 @@ class OCFZipReader(OCFReader):
raise EPubException("not a ZIP .epub OCF container")
self.root = root
if self.root is None:
name = getattr(stream, 'name', False)
if name:
self.root = os.path.abspath(os.path.dirname(name))
else:
self.root = os.getcwdu()
if hasattr(stream, 'name'):
self.root = os.path.abspath(os.path.dirname(stream.name))
super(OCFZipReader, self).__init__()
def open(self, name, mode='r'):