diff --git a/silkaj/network_tools.py b/silkaj/network_tools.py index 3d34442a81f2bdca0d55c19c5f7ea6158d155982..13c2f074e663d7484468e90e18fcfd13eb10c747 100644 --- a/silkaj/network_tools.py +++ b/silkaj/network_tools.py @@ -16,16 +16,18 @@ import functools import re import sys -import urllib +from typing import Any +from urllib.error import HTTPError from duniterpy import constants as du_const from duniterpy.api import endpoint as ep from duniterpy.api.client import Client +from duniterpy.documents import Document from silkaj import constants -def determine_endpoint(): +def determine_endpoint() -> ep.Endpoint: """ Pass custom endpoint, parse through a regex {host|ipv4|[ipv6]}:{port}{/path} @@ -73,17 +75,17 @@ def client_instance(): return Client(determine_endpoint()) -def send_document(bma_path, document): +def send_document(bma_path: Any, document: Document) -> None: client = client_instance() doc_name = document.__class__.__name__ try: client(bma_path, document.signed_raw()) print(f"{doc_name} successfully sent") - except urllib.error.HTTPError as e: + except HTTPError as e: sys.exit(f"Error while publishing {doc_name.lower()}: {e}") -def exit_on_http_error(error: urllib.error.HTTPError, err_code: int, message: str): +def exit_on_http_error(error: HTTPError, err_code: int, message: str) -> None: """ Nicely displays a message on an expected error code. Else, displays the HTTP error message.