From 681167c2fe665ba783fc89eda75ca2b21d561991 Mon Sep 17 00:00:00 2001 From: Caner Candan <candan@info.univ-angers.fr> Date: Wed, 15 Jan 2014 19:05:35 +0100 Subject: [PATCH] * finished to implement post requests into the API --- ucoin/hdc/amendments/__init__.py | 5 ++++- ucoin/hdc/transactions/__init__.py | 5 ++++- ucoin/pks/__init__.py | 18 ++++++++++++++++++ ucoin/ucg/__init__.py | 5 ++++- ucoin/ucg/peering/__init__.py | 15 ++++++++++++--- 5 files changed, 42 insertions(+), 6 deletions(-) diff --git a/ucoin/hdc/amendments/__init__.py b/ucoin/hdc/amendments/__init__.py index 6bbe031f..00136dc1 100644 --- a/ucoin/hdc/amendments/__init__.py +++ b/ucoin/hdc/amendments/__init__.py @@ -92,6 +92,9 @@ class Votes(Base): return self.merkle_easy_parser('/votes/%s' % self.amendment_id) def __post__(self, **kwargs): - pass + assert 'amendment' in kwargs + assert 'signature' in kwargs + + return self.requests_post('/votes', **kwargs).json() from . import view diff --git a/ucoin/hdc/transactions/__init__.py b/ucoin/hdc/transactions/__init__.py index ffe8f5cc..36a94582 100644 --- a/ucoin/hdc/transactions/__init__.py +++ b/ucoin/hdc/transactions/__init__.py @@ -40,7 +40,10 @@ class Process(Base): self.signature = signature def __post__(self): - pass + assert 'transaction' in kwargs + assert 'signature' in kwargs + + return self.requests_post('/process', **kwargs).json() class All(Base): """GET all the transactions stored by this node.""" diff --git a/ucoin/pks/__init__.py b/ucoin/pks/__init__.py index 949714cd..0fae04c3 100644 --- a/ucoin/pks/__init__.py +++ b/ucoin/pks/__init__.py @@ -24,6 +24,24 @@ class PKS(API): def __init__(self, module='pks'): super().__init__(module) +class Add(PKS): + """POST ASCII-armored OpenPGP certificates.""" + + def __post__(self, **kwargs): + assert 'keytext' in kwargs + assert 'keysign' in kwargs + + return self.requests_post('/add', **kwargs) + +class Lookup(PKS): + """Allows to search for OpenPGP certificates, according to HKP draft.""" + + def __get__(self, **kwargs): + assert 'search' in kwargs + assert 'op' in kwargs + + return self.requests_get('/lookup', **kwargs) + class All(PKS): """GET all the received public keys.""" diff --git a/ucoin/ucg/__init__.py b/ucoin/ucg/__init__.py index 125dbeb9..54da5ad4 100644 --- a/ucoin/ucg/__init__.py +++ b/ucoin/ucg/__init__.py @@ -58,6 +58,9 @@ class THT(UCG): return self.merkle_easy_parser('/tht/%s' % self.pgp_fingerprint).json() def __post__(self, **kwargs): - pass + assert 'entry' in kwargs + assert 'signature' in kwargs + + return self.requests_post('/tht', **kwargs) from . import peering diff --git a/ucoin/ucg/peering/__init__.py b/ucoin/ucg/peering/__init__.py index f74d48b7..77534303 100644 --- a/ucoin/ucg/peering/__init__.py +++ b/ucoin/ucg/peering/__init__.py @@ -49,18 +49,27 @@ class Peers(Base): return self.merkle_easy_parser('/peers') def __post__(self, **kwargs): - pass + assert 'entry' in kwargs + assert 'signature' in kwargs + + return self.requests_post('/peers', **kwargs).json() class Forward(Base): """POST a UCG forward document to this node in order to be sent back incoming transactions.""" def __post__(self, **kwargs): - pass + assert 'forward' in kwargs + assert 'signature' in kwargs + + return self.requests_post('/forward', **kwargs).json() class Status(Base): """POST a UCG status document to this node in order notify of its status.""" def __post__(self, **kwargs): - pass + assert 'status' in kwargs + assert 'signature' in kwargs + + return self.requests_post('/status', **kwargs).json() from . import peers -- GitLab