equal
deleted
inserted
replaced
458 return self._filter("encode", filename, data) |
458 return self._filter("encode", filename, data) |
459 |
459 |
460 def wwrite(self, filename, data, flags): |
460 def wwrite(self, filename, data, flags): |
461 data = self._filter("decode", filename, data) |
461 data = self._filter("decode", filename, data) |
462 if "l" in flags: |
462 if "l" in flags: |
463 f = self.wjoin(filename) |
463 self.wopener.symlink(data, filename) |
464 try: |
|
465 os.unlink(f) |
|
466 except OSError: |
|
467 pass |
|
468 d = os.path.dirname(f) |
|
469 if not os.path.exists(d): |
|
470 os.makedirs(d) |
|
471 os.symlink(data, f) |
|
472 else: |
464 else: |
473 try: |
465 try: |
474 if self._link(filename): |
466 if self._link(filename): |
475 os.unlink(self.wjoin(filename)) |
467 os.unlink(self.wjoin(filename)) |
476 except OSError: |
468 except OSError: |