From 01d1c4b9297300bed7104bf87f0446a03e4028c5 Mon Sep 17 00:00:00 2001 From: vtexier <vit@free.fr> Date: Sun, 16 Dec 2018 19:57:56 +0100 Subject: [PATCH] Add node/sandboxes in bma api --- duniterpy/api/bma/node.py | 77 ++++++++++++++++++++++++++++----------- 1 file changed, 55 insertions(+), 22 deletions(-) diff --git a/duniterpy/api/bma/node.py b/duniterpy/api/bma/node.py index ba5ce83c..db9f3730 100644 --- a/duniterpy/api/bma/node.py +++ b/duniterpy/api/bma/node.py @@ -23,6 +23,51 @@ logger = logging.getLogger("duniter/node") MODULE = 'node' +SUMMARY_SCHEMA = { + "type": "object", + "properties": { + "duniter": { + "type": "object", + "properties": { + "software": { + "type": "string" + }, + "version": { + "type": "string", + }, + "forkWindowSize": { + "type": "number" + } + }, + "required": ["software", "version"] + }, + }, + "required": ["duniter"] +} + +SANDBOX_SCHEMA = { + "type": "object", + "properties": { + "size": { + "type": "number" + }, + "free": { + "type": "number" + } + }, + "required": ["size", "free"] +} + +SANDBOXES_SCHEMA = { + "type": "object", + "properties": { + "identities": SANDBOX_SCHEMA, + "memberships": SANDBOX_SCHEMA, + "transactions": SANDBOX_SCHEMA + }, + "required": ["identities", "memberships", "transactions"] +} + async def summary(client: Client) -> dict: """ @@ -31,26 +76,14 @@ async def summary(client: Client) -> dict: :param client: Client to connect to the api :return: """ - schema = { - "type": "object", - "properties": { - "duniter": { - "type": "object", - "properties": { - "software": { - "type": "string" - }, - "version": { - "type": "string", - }, - "forkWindowSize": { - "type": "number" - } - }, - "required": ["software", "version"] - }, - }, - "required": ["duniter"] - } + return await client.get(MODULE + '/summary', schema=SUMMARY_SCHEMA) + - return await client.get(MODULE + '/summary', schema=schema) +async def sandboxes(client: Client) -> dict: + """ + GET Duniter node version and infos + + :param client: Client to connect to the api + :return: + """ + return await client.get(MODULE + '/sandboxes', schema=SANDBOXES_SCHEMA) -- GitLab