diff --git a/duniterpy/key/signing_key.py b/duniterpy/key/signing_key.py index 5abc00df859f6ca72d9bdae02307a77c90a14efa..d9bdfbb3f75bd1ba25bce6eb9f0c54d4df059edb 100644 --- a/duniterpy/key/signing_key.py +++ b/duniterpy/key/signing_key.py @@ -5,6 +5,7 @@ duniter public and private keys """ import re from typing import Optional, Union, TypeVar, Type +from pathlib import Path import libnacl.sign import pyaes @@ -64,7 +65,7 @@ class SigningKey(libnacl.sign.Signer): return cls(seed) - def save_seedhex_file(self, path: str) -> None: + def save_seedhex_file(self, path: Union[Path, str]) -> None: """ Save hexadecimal seed file from seed @@ -75,11 +76,11 @@ class SigningKey(libnacl.sign.Signer): fh.write(seedhex) @staticmethod - def from_seedhex_file(path: str) -> SigningKeyType: + def from_seedhex_file(path: Union[Path, str]) -> SigningKeyType: """ Return SigningKey instance from Seedhex file - :param str path: Hexadecimal seed file path + :param path: Hexadecimal seed file path """ with open(path, "r") as fh: seedhex = fh.read() @@ -100,7 +101,7 @@ class SigningKey(libnacl.sign.Signer): seed = convert_seedhex_to_seed(seedhex) return cls(seed) - def save_private_key(self, path: str) -> None: + def save_private_key(self, path: Union[Path, str]) -> None: """ Save authentication file @@ -109,7 +110,7 @@ class SigningKey(libnacl.sign.Signer): self.save(path) @staticmethod - def from_private_key(path: str) -> SigningKeyType: + def from_private_key(path: Union[Path, str]) -> SigningKeyType: """ Read authentication file Add public key attribute @@ -135,7 +136,9 @@ class SigningKey(libnacl.sign.Signer): ) @classmethod - def from_pubsec_file(cls: Type[SigningKeyType], path: str) -> SigningKeyType: + def from_pubsec_file( + cls: Type[SigningKeyType], path: Union[Path, str] + ) -> SigningKeyType: """ Return SigningKey instance from Duniter WIF file @@ -166,7 +169,7 @@ class SigningKey(libnacl.sign.Signer): return cls(seed) - def save_pubsec_file(self, path: str) -> None: + def save_pubsec_file(self, path: Union[Path, str]) -> None: """ Save a Duniter PubSec file (PubSec) v1 @@ -194,7 +197,7 @@ sec: {signkey}""".format( @staticmethod def from_wif_or_ewif_file( - path: str, password: Optional[str] = None + path: Union[Path, str], password: Optional[str] = None ) -> SigningKeyType: """ Return SigningKey instance from Duniter WIF or EWIF file @@ -239,7 +242,7 @@ sec: {signkey}""".format( return result @staticmethod - def from_wif_file(path: str) -> SigningKeyType: + def from_wif_file(path: Union[Path, str]) -> SigningKeyType: """ Return SigningKey instance from Duniter WIF file @@ -286,7 +289,7 @@ sec: {signkey}""".format( return cls(seed) - def save_wif_file(self, path: str) -> None: + def save_wif_file(self, path: Union[Path, str]) -> None: """ Save a Wallet Import Format file (WIF) v1 @@ -316,7 +319,7 @@ Data: {data}""".format( ) @staticmethod - def from_ewif_file(path: str, password: str) -> SigningKeyType: + def from_ewif_file(path: Union[Path, str], password: str) -> SigningKeyType: """ Return SigningKey instance from Duniter EWIF file @@ -395,7 +398,7 @@ Data: {data}""".format( return cls(seed) - def save_ewif_file(self, path: str, password: str) -> None: + def save_ewif_file(self, path: Union[Path, str], password: str) -> None: """ Save an Encrypted Wallet Import Format file (WIF v2)