def xmlrpc_uploadFile(self, recipe_test_id, name, size, digest, offset, data): log.debug("XMLRPC: results.uploadFile(%r, %r, %r, %r, %r, %r)", recipe_test_id, name, size, digest, offset, data) file_id = self.get_file(name, size=size, digest=(digests.which_digest(digest), None)) if file_id is None: msg = "%s:xmlrpc_uploadFile: " % self.__class__.__name__ + \ "Can not create file '%s'." % name self.main.error(msg) return msg if offset < 0: if digest: digest = digests.mk_digest(digest) if digest: evt = event.file_meta(file_id, digest=digest) self.main.send_evt(evt) evt = event.file_close(file_id) self.main.send_evt(evt) return 0 if data: # FIXME: is chunk's digest necessary? evt = event.file_write(file_id, data, offset=offset, digest=digest) self.main.send_evt(evt) return 0 # or "Failure reason"
def close(self): self.send(event.file_close(self.id())) return None