Esempio n. 1
0
    def non_transactional_put(self,
                              filename,
                              stream,
                              is_draft=False,
                              metadata_only=False):
        """Non-transactional put; use only when transactions are impossible."""
        filename = self._logical_to_physical(filename)

        metadata = FileMetadataEntity.get_by_key_name(filename)
        if not metadata:
            metadata = FileMetadataEntity(key_name=filename)
        metadata.updated_on = datetime.datetime.now()
        metadata.is_draft = is_draft

        if not metadata_only:
            # We operate with raw bytes. The consumer must deal with encoding.
            raw_bytes = stream.read()

            metadata.size = len(raw_bytes)

            data = FileDataEntity(key_name=filename)
            data.data = raw_bytes
            data.put()

        metadata.put()

        MemcacheManager.delete(self.make_key(filename), namespace=self._ns)
Esempio n. 2
0
    def delete(self, filename):
        filename = self._logical_to_physical(filename)

        metadata = FileMetadataEntity.get_by_key_name(filename)
        if metadata:
            metadata.delete()
        data = FileDataEntity(key_name=filename)
        if data:
            data.delete()
        MemcacheManager.delete(self.make_key(filename), namespace=self._ns)
Esempio n. 3
0
    def delete(self, filename):
        filename = self._logical_to_physical(filename)

        metadata = FileMetadataEntity.get_by_key_name(filename)
        if metadata:
            metadata.delete()
        data = FileDataEntity(key_name=filename)
        if data:
            data.delete()
        MemcacheManager.delete(self.make_key(filename), namespace=self._ns)
Esempio n. 4
0
    def non_transactional_put(
        self, filename, stream, is_draft=False, metadata_only=False):
        """Non-transactional put; use only when transactions are impossible."""
        filename = self._logical_to_physical(filename)

        metadata = FileMetadataEntity.get_by_key_name(filename)
        if not metadata:
            metadata = FileMetadataEntity(key_name=filename)
        metadata.updated_on = datetime.datetime.now()
        metadata.is_draft = is_draft

        if not metadata_only:
            # We operate with raw bytes. The consumer must deal with encoding.
            raw_bytes = stream.read()

            metadata.size = len(raw_bytes)

            data = FileDataEntity(key_name=filename)
            data.data = raw_bytes
            data.put()

        metadata.put()

        MemcacheManager.delete(self.make_key(filename), namespace=self._ns)
Esempio n. 5
0
 def delete(cls, app_context):
     """Deletes instance from memcache."""
     MemcacheManager.delete(
         cls._make_key(),
         namespace=app_context.get_namespace_name())
 def delete(cls, app_context):
     """Deletes instance from memcache."""
     MemcacheManager.delete(
         cls._make_key(),
         namespace=app_context.get_namespace_name())