Skip to content

Commit 12e9a50

Browse files
committed
[settings] cleaned up save options
1 parent 5963e80 commit 12e9a50

File tree

2 files changed

+15
-25
lines changed

2 files changed

+15
-25
lines changed

src/instrumentman/settings/__init__.py

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
file_path,
88
Choice
99
)
10-
from cloup import constraint
11-
from cloup.constraints import If, IsSet, require_all
1210

1311
from ..utils import (
1412
com_port_argument,
@@ -41,19 +39,13 @@
4139
default="auto"
4240
)
4341
@option(
44-
"--save-all",
45-
help="save every setting, even if not applicable to the instrument",
42+
"--defaults",
43+
help=(
44+
"add defaults for settings that could not be saved "
45+
"(e.g. not applicable to the current instrument)"
46+
),
4647
is_flag=True
4748
)
48-
@option(
49-
"--add-defaults",
50-
help="add defaults for settings that cannot be saved",
51-
is_flag=True
52-
)
53-
@constraint(
54-
If(IsSet("add_defaults"), require_all),
55-
["add_defaults", "save_all"]
56-
)
5749
def cli_download(**kwargs: Any) -> None:
5850
"""Save instrument settings to file."""
5951
from .save import main

src/instrumentman/settings/save.py

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
def download_settings_geocom(
1717
tps: GeoCom,
18-
add_defaults: bool = False
18+
defaults: bool = False
1919
) -> SettingsDict:
2020
options: list[SubsystemSettingsDict] = [
2121
{
@@ -128,13 +128,13 @@ def download_settings_geocom(
128128
GeoComResponse[Any]
129129
] | None = getattr(subsystem, name, None)
130130
if method is None:
131-
settings["options"][option] = default if add_defaults else None
131+
settings["options"][option] = default if defaults else None
132132
continue
133133

134134
response = method()
135135
value = response.params
136136
if response.error != GeoComCode.OK or value is None:
137-
settings["options"][option] = default if add_defaults else None
137+
settings["options"][option] = default if defaults else None
138138
continue
139139

140140
if isinstance(value, tuple):
@@ -162,7 +162,7 @@ def download_settings_geocom(
162162

163163
def download_settings_gsidna(
164164
dna: GsiOnlineDNA,
165-
add_defaults: bool = False
165+
defaults: bool = False
166166
) -> SettingsDict:
167167
settings: SubsystemSettingsDict = {
168168
"subsystem": "settings",
@@ -196,13 +196,13 @@ def download_settings_gsidna(
196196
GsiOnlineResponse[Any]
197197
] | None = getattr(dna.settings, name, None)
198198
if method is None:
199-
settings["options"][option] = default if add_defaults else None
199+
settings["options"][option] = default if defaults else None
200200
continue
201201

202202
response = method()
203203
value = response.value
204204
if value is None:
205-
settings["options"][option] = default if add_defaults else None
205+
settings["options"][option] = default if defaults else None
206206
continue
207207

208208
if isinstance(value, Enum):
@@ -242,8 +242,7 @@ def main(
242242
retry: int = 1,
243243
sync_after_timeout: bool = False,
244244
format: str = "auto",
245-
add_defaults: bool = False,
246-
save_all: bool = False
245+
defaults: bool = False
247246
) -> None:
248247
with open_serial(
249248
port,
@@ -255,16 +254,15 @@ def main(
255254
match protocol:
256255
case "geocom":
257256
tps = GeoCom(com)
258-
data = download_settings_geocom(tps, add_defaults)
257+
data = download_settings_geocom(tps, defaults)
259258
case "gsidna":
260259
dna = GsiOnlineDNA(com)
261-
data = download_settings_gsidna(dna, add_defaults)
260+
data = download_settings_gsidna(dna, defaults)
262261
case _:
263262
echo_red(f"Unknown protocol: '{protocol}'")
264263
exit(1)
265264

266-
if not save_all:
267-
data = clean_settings(data)
265+
data = clean_settings(data)
268266

269267
write_settings(data, file, format)
270268
echo_green(f"Settings saved at {file}")

0 commit comments

Comments
 (0)