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") raise EPubException("not a ZIP .epub OCF container")
self.root = root self.root = root
if self.root is None: if self.root is None:
self.root = os.getcwdu() name = getattr(stream, 'name', False)
if hasattr(stream, 'name'): if name:
self.root = os.path.abspath(os.path.dirname(stream.name)) self.root = os.path.abspath(os.path.dirname(name))
else:
self.root = os.getcwdu()
super(OCFZipReader, self).__init__() super(OCFZipReader, self).__init__()
def open(self, name, mode='r'): def open(self, name, mode='r'):