Skip to content

Commit 6f28167

Browse files
committed
use constants on argument parser
1 parent 9387ad0 commit 6f28167

File tree

2 files changed

+33
-27
lines changed

2 files changed

+33
-27
lines changed

solc_select/__main__.py

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
import sys
33

44
from .constants import (
5-
INSTALL_VERSIONS,
6-
SHOW_VERSIONS,
7-
UPGRADE,
8-
USE_VERSION,
5+
INSTALL_COMMAND,
6+
UPGRADE_COMMAND,
7+
USE_COMMAND,
8+
VERSIONS_COMMAND,
99
)
1010
from .exceptions import (
1111
ChecksumMismatchError,
@@ -64,7 +64,8 @@ def solc_select_upgrade(service: SolcService) -> None:
6464
service.upgrade_architecture()
6565

6666

67-
def solc_select() -> None:
67+
def create_parser() -> argparse.ArgumentParser:
68+
"""Create and configure the argument parser."""
6869
parser = argparse.ArgumentParser()
6970
subparsers = parser.add_subparsers(
7071
help="Allows users to install and quickly switch between Solidity compiler versions",
@@ -73,50 +74,55 @@ def solc_select() -> None:
7374

7475
# Install command
7576
parser_install = subparsers.add_parser(
76-
"install", help="list and install available solc versions"
77+
INSTALL_COMMAND, help="list and install available solc versions"
7778
)
7879
parser_install.add_argument(
79-
INSTALL_VERSIONS,
80+
"versions",
8081
help='specific versions you want to install "0.4.25", "all" or "latest"',
8182
nargs="*",
8283
default=[],
8384
)
8485

8586
# Use command
86-
parser_use = subparsers.add_parser("use", help="change the version of global solc compiler")
87-
parser_use.add_argument(
88-
USE_VERSION, help="solc version you want to use (eg: 0.4.25)", nargs="?"
87+
parser_use = subparsers.add_parser(
88+
USE_COMMAND, help="change the version of global solc compiler"
8989
)
90+
parser_use.add_argument("version", help="solc version you want to use (eg: 0.4.25)", nargs="?")
9091
parser_use.add_argument("--always-install", action="store_true")
9192

9293
# Versions command
9394
parser_versions = subparsers.add_parser(
94-
"versions", help="prints out all installed solc versions"
95+
VERSIONS_COMMAND, help="prints out all installed solc versions"
9596
)
96-
parser_versions.add_argument(SHOW_VERSIONS, nargs="*", help=argparse.SUPPRESS)
97+
parser_versions.add_argument("versions", nargs="*", help=argparse.SUPPRESS)
9798

9899
# Upgrade command
99-
parser_upgrade = subparsers.add_parser("upgrade", help="upgrades solc-select")
100-
parser_upgrade.add_argument(UPGRADE, nargs="*", help=argparse.SUPPRESS)
100+
parser_upgrade = subparsers.add_parser(UPGRADE_COMMAND, help="upgrades solc-select")
101+
parser_upgrade.add_argument("upgrade", nargs="*", help=argparse.SUPPRESS)
102+
103+
return parser
101104

105+
106+
def solc_select() -> None:
107+
parser = create_parser()
102108
args = parser.parse_args()
103109

104110
# Create service instance
105111
service = SolcService()
106112

107113
try:
108-
if args.command == "install":
109-
solc_select_install(service, args.INSTALL_VERSIONS)
114+
if args.command == INSTALL_COMMAND:
115+
solc_select_install(service, args.versions)
110116

111-
elif args.command == "use":
112-
if not args.USE_VERSION:
113-
parser.error("the following arguments are required: USE_VERSION")
114-
solc_select_use(service, args.USE_VERSION, args.always_install)
117+
elif args.command == USE_COMMAND:
118+
if not args.version:
119+
parser.error("the following arguments are required: version")
120+
solc_select_use(service, args.version, args.always_install)
115121

116-
elif args.command == "versions":
122+
elif args.command == VERSIONS_COMMAND:
117123
solc_select_versions(service)
118124

119-
elif args.command == "upgrade":
125+
elif args.command == UPGRADE_COMMAND:
120126
solc_select_upgrade(service)
121127

122128
else:

solc_select/constants.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99
SOLC_SELECT_DIR = HOME_DIR.joinpath(".solc-select")
1010
ARTIFACTS_DIR = SOLC_SELECT_DIR.joinpath("artifacts")
1111

12-
# CLI Flags
13-
INSTALL_VERSIONS = "INSTALL_VERSIONS"
14-
USE_VERSION = "USE_VERSION"
15-
SHOW_VERSIONS = "SHOW_VERSIONS"
16-
UPGRADE = "UPGRADE"
12+
# CLI Commands
13+
INSTALL_COMMAND = "install"
14+
USE_COMMAND = "use"
15+
VERSIONS_COMMAND = "versions"
16+
UPGRADE_COMMAND = "upgrade"
1717

1818
# soliditylang.org platform strings
1919
LINUX_AMD64 = "linux-amd64"

0 commit comments

Comments
 (0)