equal
deleted
inserted
replaced
523 return self._filter("encode", filename, data) |
523 return self._filter("encode", filename, data) |
524 |
524 |
525 def wwrite(self, filename, data, flags): |
525 def wwrite(self, filename, data, flags): |
526 data = self._filter("decode", filename, data) |
526 data = self._filter("decode", filename, data) |
527 if "l" in flags: |
527 if "l" in flags: |
|
528 f = self.wjoin(filename) |
528 try: |
529 try: |
529 os.unlink(self.wjoin(filename)) |
530 os.unlink(f) |
530 except OSError: |
531 except OSError: |
531 pass |
532 pass |
532 os.symlink(data, self.wjoin(filename)) |
533 d = os.path.dirname(f) |
|
534 if not os.path.exists(d): |
|
535 os.makedirs(d) |
|
536 os.symlink(data, f) |
533 else: |
537 else: |
534 try: |
538 try: |
535 if self._link(filename): |
539 if self._link(filename): |
536 os.unlink(self.wjoin(filename)) |
540 os.unlink(self.wjoin(filename)) |
537 except OSError: |
541 except OSError: |