Commit 8f31b82c authored by Andrey Filippov's avatar Andrey Filippov

updated default paths

parent fb16f180
...@@ -22,16 +22,16 @@ Path: `scripts/mcp_filter_list_by_model_version.py` ...@@ -22,16 +22,16 @@ Path: `scripts/mcp_filter_list_by_model_version.py`
Example: Example:
```bash ```bash
/home/elphel/git/imagej-elphel/scripts/mcp_filter_list_by_model_version.py v89 /home/elphel/git/imagej-elphel/scripts/mcp_filter_list_by_model_version.py /media/elphel/btrfs-data/lwir16-proc/NC/lists/nc_site.list v89
``` ```
Inputs: Inputs:
- MCP server (http://127.0.0.1:48888) - MCP server (http://127.0.0.1:48888)
- list file (default: /media/elphel/btrfs-data/lwir16-proc/NC/lists/nc_site.list) - list file path (required)
- model version (from MCP dialog or CLI argument) - model version (from MCP dialog or CLI argument)
Outputs: Outputs:
- Filtered .list file (default: /home/elphel/git/imagej-elphel/attic/CODEX/lists/nc_site-v89.list) - Filtered .list file in the same directory as input (name suffixed with -<version>.list)
Dependencies: Dependencies:
- MCP server - MCP server
......
...@@ -7,13 +7,13 @@ ...@@ -7,13 +7,13 @@
"purpose": "Filter a .list file to keep only sequences with an existing model version subdir.", "purpose": "Filter a .list file to keep only sequences with an existing model version subdir.",
"inputs": [ "inputs": [
"MCP server (http://127.0.0.1:48888)", "MCP server (http://127.0.0.1:48888)",
"list file (default: /media/elphel/btrfs-data/lwir16-proc/NC/lists/nc_site.list)", "list file path (required)",
"model version (from MCP dialog or CLI argument)" "model version (from MCP dialog or CLI argument)"
], ],
"outputs": [ "outputs": [
"Filtered .list file (default: /home/elphel/git/imagej-elphel/attic/CODEX/lists/nc_site-v89.list)" "Filtered .list file in the same directory as input (name suffixed with -<version>.list)"
], ],
"example": "/home/elphel/git/imagej-elphel/scripts/mcp_filter_list_by_model_version.py v89", "example": "/home/elphel/git/imagej-elphel/scripts/mcp_filter_list_by_model_version.py /media/elphel/btrfs-data/lwir16-proc/NC/lists/nc_site.list v89",
"tags": ["mcp", "list", "models", "filter"], "tags": ["mcp", "list", "models", "filter"],
"dependencies": ["MCP server", "-Delphel.mcp.allowed.configdir"], "dependencies": ["MCP server", "-Delphel.mcp.allowed.configdir"],
"owner": "codex", "owner": "codex",
......
...@@ -8,9 +8,6 @@ import urllib.request ...@@ -8,9 +8,6 @@ import urllib.request
MCP_BASE = "http://127.0.0.1:48888" MCP_BASE = "http://127.0.0.1:48888"
LIST_PATH = "/media/elphel/btrfs-data/lwir16-proc/NC/lists/nc_site.list"
OUT_PATH = "/home/elphel/git/imagej-elphel/attic/CODEX/lists/nc_site-v89.list"
LABEL_VERSION = "x3d model version" LABEL_VERSION = "x3d model version"
LABEL_DIALOG = "Setup CLT Batch parameters" LABEL_DIALOG = "Setup CLT Batch parameters"
...@@ -63,15 +60,15 @@ def get_version_from_mcp(): ...@@ -63,15 +60,15 @@ def get_version_from_mcp():
return version return version
def read_list_file(): def read_list_file(list_path):
data = parse_json(http_get("/mcp/fs/read", {"path": LIST_PATH, "offset": 0, "maxBytes": 1024 * 1024}, timeout=30.0)) data = parse_json(http_get("/mcp/fs/read", {"path": list_path, "offset": 0, "maxBytes": 1024 * 1024}, timeout=30.0))
if not data.get("ok"): if not data.get("ok"):
raise RuntimeError("Failed to read list file") raise RuntimeError("Failed to read list file")
return data.get("data", "") return data.get("data", "")
def parse_set_paths(list_text): def parse_set_paths(list_text, list_path):
base_path = os.path.dirname(LIST_PATH) base_path = os.path.dirname(list_path)
root_dir = None root_dir = None
linked_models = None linked_models = None
x3d_dir = None x3d_dir = None
...@@ -126,9 +123,12 @@ def glob_v_dirs(version, models_dir): ...@@ -126,9 +123,12 @@ def glob_v_dirs(version, models_dir):
def main(): def main():
version = sys.argv[1] if len(sys.argv) > 1 else get_version_from_mcp() if len(sys.argv) < 2:
list_text = read_list_file() raise SystemExit("Usage: mcp_filter_list_by_model_version.py <list_path> [version]")
models_dir = parse_set_paths(list_text) list_path = sys.argv[1]
version = sys.argv[2] if len(sys.argv) > 2 else get_version_from_mcp()
list_text = read_list_file(list_path)
models_dir = parse_set_paths(list_text, list_path)
seqs, lines = parse_sequences(list_text) seqs, lines = parse_sequences(list_text)
if not seqs: if not seqs:
raise RuntimeError("No sequences found") raise RuntimeError("No sequences found")
...@@ -180,14 +180,19 @@ def main(): ...@@ -180,14 +180,19 @@ def main():
else: else:
out_lines.append("#" + raw) out_lines.append("#" + raw)
os.makedirs(os.path.dirname(OUT_PATH), exist_ok=True) base_name = os.path.basename(list_path)
with open(OUT_PATH, "w", encoding="utf-8") as f: if base_name.endswith(".list"):
out_name = base_name[:-5] + f"-{version}.list"
else:
out_name = base_name + f"-{version}.list"
out_path = os.path.join(os.path.dirname(list_path), out_name)
with open(out_path, "w", encoding="utf-8") as f:
f.write("\n".join(out_lines) + ("\n" if out_lines else "")) f.write("\n".join(out_lines) + ("\n" if out_lines else ""))
print(f"Version: {version}") print(f"Version: {version}")
print(f"Models dir: {models_dir}") print(f"Models dir: {models_dir}")
print(f"Sequences kept: {len(keep)} / {len(seqs)}") print(f"Sequences kept: {len(keep)} / {len(seqs)}")
print(f"Output: {OUT_PATH}") print(f"Output: {out_path}")
if __name__ == "__main__": if __name__ == "__main__":
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment