Skip to content

Commit 024e061

Browse files
authored
fix info display (#80)
1 parent ee89cd5 commit 024e061

File tree

1 file changed

+35
-18
lines changed

1 file changed

+35
-18
lines changed

scripts/helper/cardano-cli-wrapper.sh

Lines changed: 35 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,33 @@ convert_to_container_path() {
3232
echo "$path"
3333
}
3434

35+
# Display version info for a given container name
36+
display_version_info() {
37+
local container_name="$1"
38+
if [ -z "$container_name" ]; then
39+
return
40+
fi
41+
42+
# Extract network and version from container name (pattern: node-{network}-{version}-container)
43+
local network=""
44+
local node_version=""
45+
if [[ "$container_name" =~ ^node-([^-]+)-([^-]+)-container$ ]]; then
46+
network="${BASH_REMATCH[1]}"
47+
node_version="${BASH_REMATCH[2]}"
48+
fi
49+
50+
# Get cardano-cli version from container
51+
local cli_version=$(docker exec "$container_name" cardano-cli version 2>/dev/null | head -n 1 || echo "unknown")
52+
# Clean up version string (remove "cardano-cli" prefix if present)
53+
cli_version=$(echo "$cli_version" | sed 's/^cardano-cli //')
54+
55+
if [ -n "$network" ] && [ -n "$node_version" ]; then
56+
echo -e "${CYAN}Info:${NC} ${YELLOW}node v$node_version${NC} | ${GREEN}$network${NC} | ${BLUE}cardano-cli $cli_version${NC}" >&2
57+
else
58+
echo -e "${CYAN}Info:${NC} ${YELLOW}Docker container: $container_name${NC} | ${BLUE}cardano-cli $cli_version${NC}" >&2
59+
fi
60+
}
61+
3562
# Check cardano-cli version and display node info (only once, when wrapper is sourced)
3663
check_cardano_cli_version() {
3764
if [ "$NODE_MODE" = "external" ]; then
@@ -65,24 +92,7 @@ check_cardano_cli_version() {
6592
fi
6693

6794
if [ -n "$container_name" ]; then
68-
# Extract network and version from container name (pattern: node-{network}-{version}-container)
69-
local network=""
70-
local node_version=""
71-
if [[ "$container_name" =~ ^node-([^-]+)-([^-]+)-container$ ]]; then
72-
network="${BASH_REMATCH[1]}"
73-
node_version="${BASH_REMATCH[2]}"
74-
fi
75-
76-
# Get cardano-cli version from container
77-
local cli_version=$(docker exec "$container_name" cardano-cli version 2>/dev/null | head -n 1 || echo "unknown")
78-
# Clean up version string (remove "cardano-cli" prefix if present)
79-
cli_version=$(echo "$cli_version" | sed 's/^cardano-cli //')
80-
81-
if [ -n "$network" ] && [ -n "$node_version" ]; then
82-
echo -e "${CYAN}Info:${NC} ${YELLOW}node v$node_version${NC} | ${GREEN}$network${NC} | ${BLUE}cardano-cli $cli_version${NC}" >&2
83-
else
84-
echo -e "${CYAN}Info:${NC} ${YELLOW}Docker container: $container_name${NC} | ${BLUE}cardano-cli $cli_version${NC}" >&2
85-
fi
95+
display_version_info "$container_name"
8696
fi
8797
fi
8898
}
@@ -183,6 +193,13 @@ cardano_cli() {
183193
exit 1
184194
fi
185195

196+
# Display version info for the selected container
197+
# Only show if multiple containers are running (selection happened) to avoid duplicate when single container
198+
local running_count=$(docker ps --format '{{.Names}}' 2>/dev/null | grep -E '^node-' | wc -l | tr -d ' ')
199+
if [ "$running_count" -gt 1 ]; then
200+
display_version_info "$container_name"
201+
fi
202+
186203
# Convert file paths in arguments to container paths
187204
# Look for file path arguments (those that contain the base directory path)
188205
local converted_args=()

0 commit comments

Comments
 (0)