diff --git a/ucoin/hdc/amendments/__init__.py b/ucoin/hdc/amendments/__init__.py index 6bbe031f0a9fcd3c2368db684b6ebfb3132b4847..00136dc1db6b4bccd2604c5e25a3fc5b7c1efcd2 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 ffe8f5ccd2f53572e4a29d411349d232d2803cf5..36a94582a006e5d99fef9e6935696a5a7e630b2d 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 949714cd31679999de0cc851532415628f5cfccc..0fae04c314c305b6857e21a1227227e07705e345 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 125dbeb9dc46d214dd2142fa67d61082e4bda40a..54da5ad4c5da69a2865bae05b9481b1f6d6f5a94 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 f74d48b77146c2a97e0c65709c7909d6f385b6c4..77534303dbe76fd1550076699944bfd3232160c1 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