def _overwrite(self, name, instream, start=None, end=None, append=False): file = self._dir[name] if append: reader = IReadFile(file, None) data = reader.read() + instream.read() elif start is not None or end is not None: reader = IReadFile(file, None) data = reader.read() if start is not None: prefix = data[:start] else: prefix = '' start = 0 if end is not None: l = end - start newdata = instream.read(l) data = prefix + newdata + data[start+len(newdata):] else: newdata = instream.read() data = prefix + newdata else: data = instream.read() f = IWriteFile(self._dir[name], None) f.write(data)
def PUT(self): request = self.request body = self.request.bodyStream file = self.context adapter = IWriteFile(file) adapter.write(body.read()) return ''