Пример #1
0
    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)
Пример #2
0
    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)
Пример #3
0
 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])
Пример #4
0
 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])