scripts/dtrx

branch
trunk
changeset 40
ee6a869f8da1
parent 39
027fcd7ae002
child 41
e3675644bbb6
equal deleted inserted replaced
39:027fcd7ae002 40:ee6a869f8da1
209 mimetypes.suffix_map.has_key(extension)): 209 mimetypes.suffix_map.has_key(extension)):
210 pieces.pop() 210 pieces.pop()
211 return '.'.join(pieces) 211 return '.'.join(pieces)
212 212
213 def extract(self): 213 def extract(self):
214 self.target = tempfile.mkdtemp(prefix='.dtrx-', dir='.') 214 try:
215 self.target = tempfile.mkdtemp(prefix='.dtrx-', dir='.')
216 except (OSError, IOError), error:
217 raise ExtractorError("cannot extract here: %s" % (error.strerror,))
215 old_path = os.path.realpath(os.curdir) 218 old_path = os.path.realpath(os.curdir)
216 os.chdir(self.target) 219 os.chdir(self.target)
217 try: 220 try:
218 self.archive.seek(0, 0) 221 self.archive.seek(0, 0)
219 self.extract_archive() 222 self.extract_archive()
249 yield self.basename() 252 yield self.basename()
250 253
251 def extract(self): 254 def extract(self):
252 self.content_type = ONE_ENTRY_KNOWN 255 self.content_type = ONE_ENTRY_KNOWN
253 self.content_name = self.basename() 256 self.content_name = self.basename()
254 output_fd, self.target = tempfile.mkstemp(prefix='.dtrx-', dir='.') 257 try:
258 output_fd, self.target = tempfile.mkstemp(prefix='.dtrx-', dir='.')
259 except (OSError, IOError), error:
260 raise ExtractorError("cannot extract here: %s" % (error.strerror,))
255 try: 261 try:
256 self.run_pipes(output_fd) 262 self.run_pipes(output_fd)
257 except ExtractorError: 263 except ExtractorError:
258 os.close(output_fd) 264 os.close(output_fd)
259 os.unlink(self.target) 265 os.unlink(self.target)

mercurial