Skip to content

Commit 157f32d

Browse files
committed
Added callback for create method
Added options for create method
1 parent 23909e9 commit 157f32d

File tree

1 file changed

+57
-10
lines changed

1 file changed

+57
-10
lines changed

src/cli/builder.py

Lines changed: 57 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@
1414
class Menus:
1515

1616
def __init__(
17-
self, network: str | None = None, update: bool = False
17+
self,
18+
network: str | None = None,
19+
update: bool = False,
20+
defaults: dict[str, Any] | None = None,
1821
) -> None:
1922
self.network = network
2023
self.update = update
@@ -33,7 +36,9 @@ def __resources(self) -> dict[str, Any]:
3336
return {}
3437

3538
# Construct env file contents
36-
def env(self) -> dict[str, Any]:
39+
def env(
40+
self, name: str, resources: dict[str, Any] | None = None
41+
) -> dict[str, Any]:
3742
return {}
3843

3944
def __get_jar(self) -> str:
@@ -45,9 +50,6 @@ def __use_args(self) -> str:
4550
def __get_heaps(self) -> dict[str, str]:
4651
return {}
4752

48-
def __get_type(self) -> str:
49-
return ""
50-
5153

5254
class Builder(CustomGroup):
5355

@@ -57,10 +59,55 @@ def __init__(self) -> None:
5759
def create(self) -> Command:
5860

5961
help = ""
60-
options = [Option()]
62+
options = [Option(["--network"], is_flag=True, default=False)]
63+
64+
def callback(network: bool = False) -> None:
65+
services: set[dict[str, Any]] = set()
66+
networks: set[str] = set()
67+
envs: set[dict[str, Any]] = set()
68+
69+
if not network:
70+
menu = Menus()
71+
72+
name = inquirer.text(
73+
message="Enter the name of the service: "
74+
).execute()
75+
76+
service = menu.service(name=name)
77+
78+
resources = service.get("resources") or None
79+
env = menu.env(name=name, resources=resources)
80+
81+
services.add(service)
82+
envs.add(env)
83+
84+
return None
85+
86+
network_name = inquirer.text(
87+
message="Enter the name of the network: "
88+
).execute()
89+
networks.add(network_name)
90+
91+
menu = Menus(network=network_name)
92+
93+
while True:
94+
name = inquirer.text(
95+
message="Enter the name of the service: "
96+
).execute()
97+
98+
service = menu.service(name=name)
99+
100+
resources = service.get("resources") or None
101+
env = menu.env(name=name, resources=resources)
102+
103+
services.add(service)
104+
envs.add(env)
61105

62-
def callback() -> dict[str, Any]:
63-
return {}
106+
if not inquirer.confirm(
107+
message=f"Want to continue adding services? (Count: {len(services)})",
108+
default=True if len(services) < 2 else False,
109+
).execute():
110+
break
64111

65112
return Command(
66113
name=inspect.currentframe().f_code.co_name, # type: ignore
@@ -74,8 +121,8 @@ def update(self) -> Command:
74121
help = ""
75122
options = [Option()]
76123

77-
def callback() -> dict[str, Any]:
78-
return {}
124+
def callback() -> None:
125+
pass
79126

80127
return Command(
81128
name=inspect.currentframe().f_code.co_name, # type: ignore

0 commit comments

Comments
 (0)