503 data = self.wopener(filename, 'r').read() |
503 data = self.wopener(filename, 'r').read() |
504 return self._filter("encode", filename, data) |
504 return self._filter("encode", filename, data) |
505 |
505 |
506 def wwrite(self, filename, data, flags): |
506 def wwrite(self, filename, data, flags): |
507 data = self._filter("decode", filename, data) |
507 data = self._filter("decode", filename, data) |
508 if "l" in flags: |
508 try: |
509 self.wopener.symlink(data, filename) |
509 os.unlink(self.wjoin(filename)) |
510 else: |
510 except OSError: |
511 try: |
511 pass |
512 if self._link(filename): |
512 self.wopener(filename, 'w').write(data) |
513 os.unlink(self.wjoin(filename)) |
513 util.set_flags(self.wjoin(filename), flags) |
514 except OSError: |
|
515 pass |
|
516 self.wopener(filename, 'w').write(data) |
|
517 util.set_exec(self.wjoin(filename), "x" in flags) |
|
518 |
514 |
519 def wwritedata(self, filename, data): |
515 def wwritedata(self, filename, data): |
520 return self._filter("decode", filename, data) |
516 return self._filter("decode", filename, data) |
521 |
517 |
522 def transaction(self): |
518 def transaction(self): |