This commit is contained in:
2026-01-23 19:21:06 -08:00
parent b79e3b309b
commit 666f4e3181
4 changed files with 37 additions and 1 deletions

2
CLI.py
View File

@@ -1203,6 +1203,8 @@ class CmdletExecutor:
"tags",
"get-metadata",
"get_metadata",
"get-url",
"get_url",
"search-file",
"search_file",
}

View File

@@ -2853,6 +2853,28 @@ class PipelineExecutor:
# RUN THE CMDLET
cmd_fn(piped_result, stage_args, config)
# Pipeline overlay tables (e.g., get-url detail views) need to be
# rendered when running inside a pipeline because the CLI path
# normally handles rendering. The overlay is only useful when
# we're at the terminal stage of the pipeline.
if stage_index + 1 >= len(stages):
display_table = None
try:
display_table = (
ctx.get_display_table()
if hasattr(ctx, "get_display_table") else None
)
except Exception:
display_table = None
if display_table is not None:
try:
from SYS.rich_display import stdout_console
stdout_console().print()
stdout_console().print(display_table)
except Exception:
pass
# Update piped_result for next stage from emitted items
stage_emits = list(stage_ctx.emits)
if stage_emits:

View File

@@ -845,6 +845,19 @@ class HydrusNetwork(Store):
scan_limit=scan_limit_override,
needles=pattern_hints if pattern_hints else None,
)
elif namespace == "system":
normalized_system_predicate = pattern.strip()
if normalized_system_predicate == "has url":
try:
fetch_limit = int(limit) if limit else 100
except Exception:
fetch_limit = 100
metadata_list = _iter_url_filtered_metadata(
None,
want_any=not bool(pattern_hints),
fetch_limit=fetch_limit,
needles=pattern_hints if pattern_hints else None,
)
# Parse the query into tags
# "*" means "match all" - use system:everything tag in Hydrus

View File

@@ -665,7 +665,6 @@ class Get_Url(Cmdlet):
# Enrich the metadata with tags if missing
if not metadata.get("Tags"):
try:
from cmdlet._shared import get_field
item_tags = get_field(result, "tag") or get_field(result, "tags") or []
row_tags = []
if isinstance(item_tags, list):