DuniterPy should not parse the result of a failed request
DuniterPy should not try to parse the result of a request with an HTTP error:
https://forum.duniter.org/t/remuneration-des-contributeurs-au-projet-duniter/4995/52?u=moul
Here, you can see jsonschema
failing to parse the result of a 429 error:
Traceback (most recent call last):
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/duniterpy/api/client.py", line 141, in requests_get
error_data = parse_error(await response.text())
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/duniterpy/api/client.py", line 65, in parse_error
raise jsonschema.ValidationError("Could not parse json : {0}".format(str(e)))
jsonschema.exceptions.ValidationError: Could not parse json : Expecting value: line 1 column 1 (char 0)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/inso/.pyenv/versions/silkaj-3.7/bin/silkaj", line 23, in <module>
cli(obj={})
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/click/core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/silkaj/tools.py", line 70, in wrapper
return loop.run_until_complete(f(*args, **kwargs))
File "/home/inso/.pyenv/versions/3.7.0/lib/python3.7/asyncio/base_events.py", line 568, in run_until_complete
return future.result()
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/silkaj/tx.py", line 99, in send_transaction
key, issuer_pubkey, tx_amount, outputAddresses, comment, outputbackchange
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/silkaj/tx.py", line 237, in handle_intermediaries_transactions
OutputbackChange,
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/silkaj/tx.py", line 277, in generate_and_send_transaction
OutputbackChange,
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/silkaj/tx.py", line 307, in generate_transaction_document
head_block = await HeadBlock().head_block
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/silkaj/network_tools.py", line 244, in get_head
return await client(blockchain.current)
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/duniterpy/api/bma/blockchain.py", line 392, in current
return await client.get(MODULE + '/current', schema=BLOCK_SCHEMA)
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/duniterpy/api/client.py", line 231, in get
response = await client.requests_get(url_path, **params)
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/duniterpy/api/client.py", line 144, in requests_get
raise ValueError('status code != 200 => %d (%s)' % (response.status, (await response.text())))
ValueError: status code != 200 => 429 (Error)
ERROR:asyncio:Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7fd385bca8d0>
ERROR:asyncio:Unclosed connector
connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x7fd385b07888>, 4002.554372885)]']
connector: <aiohttp.connector.TCPConnector object at 0x7fd385bca9e8>
Traceback (most recent call last):
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/duniterpy/api/client.py", line 141, in requests_get
error_data = parse_error(await response.text())
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/duniterpy/api/client.py", line 65, in parse_error
raise jsonschema.ValidationError("Could not parse json : {0}".format(str(e)))
jsonschema.exceptions.ValidationError: Could not parse json : Expecting value: line 1 column 1 (char 0)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/inso/.pyenv/versions/silkaj-3.7/bin/silkaj", line 23, in <module>
cli(obj={})
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/click/core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/silkaj/tools.py", line 70, in wrapper
return loop.run_until_complete(f(*args, **kwargs))
File "/home/inso/.pyenv/versions/3.7.0/lib/python3.7/asyncio/base_events.py", line 568, in run_until_complete
return future.result()
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/silkaj/tx.py", line 68, in send_transaction
pubkey_amount = await get_amount_from_pubkey(issuer_pubkey)
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/silkaj/money.py", line 117, in get_amount_from_pubkey
listinput, amount = await get_sources(pubkey)
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/silkaj/money.py", line 128, in get_sources
sources = await client(tx.sources, pubkey)
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/duniterpy/api/bma/tx.py", line 236, in sources
return await client.get(MODULE + '/sources/%s' % pubkey, schema=SOURCES_SCHEMA)
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/duniterpy/api/client.py", line 231, in get
response = await client.requests_get(url_path, **params)
File "/home/inso/.pyenv/versions/3.7.0/envs/silkaj-3.7/lib/python3.7/site-packages/duniterpy/api/client.py", line 144, in requests_get
raise ValueError('status code != 200 => %d (%s)' % (response.status, (await response.text())))
ValueError: status code != 200 => 429 (Error)
ERROR:asyncio:Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7f51690d3978>
ERROR:asyncio:Unclosed connector
connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x7f516900e888>, 4003.371805189)]']
connector: <aiohttp.connector.TCPConnector object at 0x7f51690d38d0>