Esempio n. 1
0
File: store.py Progetto: csm/arrow
 def post(self):
     id = getid(self.request.path)
     chunk = self.get_chunk(id)
     if chunk is None:
         self.response.status = 404
         self.response.out.write("Chunk %s not found" % id)
         return
     if self.request.POST["addref"] == "1":
         chunk.refcount = chunk.refcount + 1
         chunk.put()
Esempio n. 2
0
File: store.py Progetto: csm/arrow
 def delete(self):
     id = getid(self.request.path)
     chunk = self.get_chunk(id)
     if chunk is None:
         self.response.status = 404
         self.response.out.write("Chunk %s not found" % id)
         return
     chunk.refcount = chunk.refcount - 1
     if chunk.refcount == 0:
         chunk.delete()
     else:
         chunk.put()
Esempio n. 3
0
File: store.py Progetto: csm/arrow
 def put(self):
     id = getid(self.request.path)
     chunk = self.get_chunk(id)
     if chunk is not None:
         chunk.refcount = chunk.refcount + 1
     else:
         parity = None
         try:
             parity = int(self.request.headers['X-Arrow-Parity'])
         except:
             pass
         chunk = Chunk(id=id, refcount=1,
                       data=self.request.body_file.read(),
                       parity=parity)
     chunk.put()