From 1b60e1f9c1b3799b60f64c9d29e97d7d982a09a4 Mon Sep 17 00:00:00 2001 From: angrybayblade Date: Tue, 12 Mar 2024 12:01:04 +0530 Subject: [PATCH 1/4] fix: IPFS node address parsing on Git console --- aea/cli/init.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/aea/cli/init.py b/aea/cli/init.py index 62ba45f426..e25949cf08 100644 --- a/aea/cli/init.py +++ b/aea/cli/init.py @@ -20,6 +20,7 @@ """Implementation of the 'aea init' subcommand.""" +import platform from pathlib import Path from typing import Dict, Optional @@ -138,11 +139,25 @@ def _registry_init_remote( _registry_init_http(username=author, no_subscribe=no_subscribe) +def _clean_ipfs_node_url(ipfs_node: Optional[str]) -> str: + """Clean IPFS node URL.""" + if ipfs_node is None: + return ipfs_node + if platform.system() != "Windows": + return ipfs_node + if not ipfs_node.startswith("C:/"): + return ipfs_node + *_, ipfs_node = ipfs_node.split("/dns/") + return f"/dns/{ipfs_node}" + + def _registry_init_ipfs(ipfs_node: Optional[str]) -> None: """Initialize ipfs registry""" registry_config = _set_registries(REGISTRY_REMOTE, REMOTE_IPFS) - registry_config["settings"][REGISTRY_REMOTE][REMOTE_IPFS]["ipfs_node"] = ipfs_node + registry_config["settings"][REGISTRY_REMOTE][REMOTE_IPFS][ + "ipfs_node" + ] = _clean_ipfs_node_url(ipfs_node=ipfs_node) update_cli_config({REGISTRY_CONFIG_KEY: registry_config}) From e783044339b027f84e9a831d2b674bcfd254bc63 Mon Sep 17 00:00:00 2001 From: angrybayblade Date: Tue, 12 Mar 2024 12:02:00 +0530 Subject: [PATCH 2/4] fix: copyright --- aea/cli/init.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aea/cli/init.py b/aea/cli/init.py index e25949cf08..866f60e3e4 100644 --- a/aea/cli/init.py +++ b/aea/cli/init.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # ------------------------------------------------------------------------------ # -# Copyright 2021-2022 Valory AG +# Copyright 2021-2024 Valory AG # Copyright 2018-2019 Fetch.AI Limited # # Licensed under the Apache License, Version 2.0 (the "License"); From f7356a84639f9ba365283b14dd25498ebe3f55ab Mon Sep 17 00:00:00 2001 From: angrybayblade Date: Tue, 12 Mar 2024 12:13:11 +0530 Subject: [PATCH 3/4] test: node addr clean up method --- aea/cli/init.py | 2 +- tests/test_cli/test_init.py | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/aea/cli/init.py b/aea/cli/init.py index 866f60e3e4..dc2034a7ad 100644 --- a/aea/cli/init.py +++ b/aea/cli/init.py @@ -142,7 +142,7 @@ def _registry_init_remote( def _clean_ipfs_node_url(ipfs_node: Optional[str]) -> str: """Clean IPFS node URL.""" if ipfs_node is None: - return ipfs_node + return DEFAULT_IPFS_URL if platform.system() != "Windows": return ipfs_node if not ipfs_node.startswith("C:/"): diff --git a/tests/test_cli/test_init.py b/tests/test_cli/test_init.py index 304371b3f6..396b40a0c9 100644 --- a/tests/test_cli/test_init.py +++ b/tests/test_cli/test_init.py @@ -28,6 +28,7 @@ import yaml from aea.cli import cli +from aea.cli.init import _clean_ipfs_node_url from tests.conftest import CLI_LOG_OPTION, CliRunner, random_string @@ -135,3 +136,12 @@ def teardown(self): self.cli_config_patch.stop() os.chdir(self.cwd) shutil.rmtree(self.t) + + +def test_node_addr_cleanup() -> None: + """Test node address clean up method.""" + + original_addr = "/dns/to/some/node" + consoled_parsed_addr = f"C:/Git/bin/{original_addr}" + with patch("platform.system", return_value="Windows"): + assert _clean_ipfs_node_url(ipfs_node=consoled_parsed_addr) == original_addr From b04592d63478e45646b72eca6f129be78bdb3d21 Mon Sep 17 00:00:00 2001 From: angrybayblade Date: Tue, 12 Mar 2024 12:14:00 +0530 Subject: [PATCH 4/4] chore: copyright --- tests/test_cli/test_init.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_cli/test_init.py b/tests/test_cli/test_init.py index 396b40a0c9..0ede847256 100644 --- a/tests/test_cli/test_init.py +++ b/tests/test_cli/test_init.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # ------------------------------------------------------------------------------ # -# Copyright 2021-2022 Valory AG +# Copyright 2021-2024 Valory AG # Copyright 2018-2019 Fetch.AI Limited # # Licensed under the Apache License, Version 2.0 (the "License");