Skip to content

Commit 248e991

Browse files
committed
Restrict save option to list view reports only
Add saveable kwarg to view_report — only enable lesskey s-to-save mapping and show "s save" in the less prompt when saveable=True. How/why/get and other non-list views no longer show the save option.
1 parent c3a9fef commit 248e991

1 file changed

Lines changed: 13 additions & 12 deletions

File tree

sz_tools/sz_explorer

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -223,17 +223,18 @@ def view_report(report, **kwargs):
223223
else:
224224
less_options = "-FXSR"
225225

226-
# Lesskey config: remap s to quit with exit code 83
227-
lesskey_path = os.path.join(tempfile.gettempdir(), ".sz_lesskey")
228226
less_cmd = ["less", "--mouse"]
229-
try:
230-
with open(lesskey_path, "w") as f:
231-
f.write("#command\ns quit S\n")
232-
less_cmd.append(f"--lesskey-src={lesskey_path}")
233-
except Exception:
234-
pass
235-
236-
prompt = "\u2191\u2193 scroll, /search, s save, q quit %lt-%lb of %L"
227+
if kwargs.get("saveable"):
228+
lesskey_path = os.path.join(tempfile.gettempdir(), ".sz_lesskey")
229+
try:
230+
with open(lesskey_path, "w") as f:
231+
f.write("#command\ns quit S\n")
232+
less_cmd.append(f"--lesskey-src={lesskey_path}")
233+
except Exception:
234+
pass
235+
prompt = "\u2191\u2193 scroll, /search, s save, q quit %lt-%lb of %L"
236+
else:
237+
prompt = "\u2191\u2193 scroll, /search, q quit %lt-%lb of %L"
237238
less_options += f"P{prompt}"
238239
less_cmd.append(less_options)
239240

@@ -1333,7 +1334,7 @@ class EdaReports:
13331334
tbl = self.generate_from(select_data, remaining, {f"BY_{k}": v for k, v in selected_values.items()})
13341335
if tbl:
13351336
tbl.title = self.current_report_title
1336-
exit_code = view_report(tbl.render_table(report_style=True, divide_by="SAMPLE"), force_scroll=True)
1337+
exit_code = view_report(tbl.render_table(report_style=True, divide_by="SAMPLE"), force_scroll=True, saveable=True)
13371338
if exit_code == 83:
13381339
file_name = input("\nFile name: ").strip()
13391340
if file_name:
@@ -1462,7 +1463,7 @@ class EdaReports:
14621463
tbl = self.generate_from(fake_data, [], {f"BY_{k}": v for k, v in (selected_values_for_browse or {}).items()})
14631464
if tbl:
14641465
tbl.title = self.current_report_title
1465-
exit_code = view_report(tbl.render_table(report_style=True, divide_by="SAMPLE"), force_scroll=True)
1466+
exit_code = view_report(tbl.render_table(report_style=True, divide_by="SAMPLE"), force_scroll=True, saveable=True)
14661467
if exit_code == 83:
14671468
file_name = input("\nFile name: ").strip()
14681469
if file_name:

0 commit comments

Comments
 (0)