def delete(self, key_pair, callback=None): if key_pair in self.key_pairs: self.key_pairs.remove(key_pair) resource = "/keys/%s" % key_pair.get_public_key("hex") ret = REST("DELETE", resource, callback=callback, auth=self.user) return ret
def register(self, callback=None): password = self.password_hash() params = { "email": self.username, "password": password } return REST("POST", "/users", params, callback=callback)
def create(self, key_pair=None, callback=None): key_pair = key_pair or ECDSA() if key_pair not in self.key_pairs: self.key_pairs.append(key_pair) params = {"key": key_pair.get_public_key("hex")} ret = REST("POST", "/keys", params, callback=callback, auth=self.user) return ret
def delete(self, callback=None): resource = "/buckets/%s" % self.bucket_id ret = REST( "DELETE", resource, callback=callback, auth=self.key_pair ) return ret
def list(self, callback=None): resource = "/buckets/%s" % self.bucket_id ret = REST( "GET", resource, callback=callback, auth=self.key_pair ) return ret
def token(self, operation, callback=None): params = {"id": self.bucket_id, "operation": operation} ret = REST("POST", "/buckets/%s/tokens" % self.bucket_id, params, callback=callback, auth=self.key_pair) return ret
def patch(self, params, callback=None): resource = "/buckets/%s" % self.bucket_id ret = REST( "PATCH", resource, params=params, callback=callback, auth=self.key_pair ) return ret
def download(self, file_hash, token, callback=None): resource = "/buckets/%s/files/%s" % (self.bucket_id, file_hash) headers = {"x-token": token} ret = REST("GET", resource, headers=headers, callback=callback, auth=self.key_pair) return ret
def upload(self, path, token, callback=None): file_size = os.path.getsize(path) params = {"id": self.bucket_id, "file": open(path, mode="rb")} headers = {"x-token": token, "x-filesize": file_size} ret = REST("PUT", "/buckets/%s/files" % self.bucket_id, params, headers=headers, callback=callback, auth=self.key_pair) return ret
def create(self, name, storage, transfer, key_pairs, callback=None): # Get pub keys. pub_keys = [] for key_pair in key_pairs: pub_keys.append(key_pair.get_public_key("hex")) params = { "name": name, "storage": int(storage), "transfer": int(transfer), "pubkeys": pub_keys } ret = REST( "POST", "/buckets", params, callback=callback, auth=self.key_pair ) return ret
def test_rest(self): self.assertTrue(type(REST("GET", "/")) == dict)
def list(self, callback=None): resource = "/keys" ret = REST("GET", resource, callback=callback, auth=self.user) return ret
def activate(self, token, callback=None): resource = "/activations/%s" % token return REST("GET", resource, callback=callback)