def add_stream(self, name, stream): key, version = self._parse_name(name) existing_verion = self.versions[key] if version is not None and existing_verion > version: return versioned_name(key, existing_verion) if version is None: version = max(self.versions[key] + 1, int(time.time())) data = '' while True: record = stream.read() if not record: break data += record self.data[key] = data self.versions[key] = version return versioned_name(key, version)
def add_stream(self, name, stream): key, version = self._parse_name(name) existing_verion = self.versions[key] if version is not None and existing_verion > version: return versioned_name(key, existing_verion) if version is None: version = max(self.versions[key] + 1, int(time.time())) data = '' while True: record = stream.read() if not record: break data += record self.data[key] = data self.versions[key] = version return versioned_name(key, version)
def get_stream(self, name): key, version = self._parse_name(name) if version is not None and self.versions[key] != version: raise KeyError("Version %s of %s not found" % (version, key)) return StringIO(self.data[key]), \ versioned_name(key, self.versions[key])
def get_stream(self, name): key, version = self._parse_name(name) if version is not None and self.versions[key] != version: raise KeyError("Version %s of %s not found" % (version, key)) return StringIO(self.data[key]), \ versioned_name(key, self.versions[key])