Ejemplo n.º 1
0
    def __init__(self, name, blob):
        self.name = name

        # check if blob is just content or the database model class
        if isinstance(blob, BlobPropertyFileModel):
            self.blob = blob
        else:
            self.blob = BlobPropertyFileModel(content=blob)
Ejemplo n.º 2
0
class BlobPropertyFile(File):
    def __init__(self, name, blob):
        self.name = name

        # check if blob is just content or the database model class
        if isinstance(blob, BlobPropertyFileModel):
            self.blob = blob
        else:
            self.blob = BlobPropertyFileModel(content=blob)
        
    def read(self):
        return self.blob.content

    def write(self, content):
        self.blob.content = content
        self.blob.put()

    def close(self):
        raise NotImplementedError()
Ejemplo n.º 3
0
 def _save(self, name, content):
     path = self.path(name)
     blob = BlobPropertyFileModel(key_name=path)
     blob.content = content.read()
     blob.put()
     return path
Ejemplo n.º 4
0
 def delete(self, name):
     BlobPropertyFileModel.get_by_key_name(self.path(name)).delete()
Ejemplo n.º 5
0
 def _open(self, name, mode='rb'):
     blob = BlobPropertyFileModel.get_by_key_name(self.path(name))
     if blob:
         return BlobPropertyFile(self.path(name), blob)
     else:
         return None
Ejemplo n.º 6
0
 def exists(self, name):
     if BlobPropertyFileModel.get_by_key_name(self.path(name)):
         return True
     else:
         return False