dfdf
This commit is contained in:
@@ -25,14 +25,14 @@ class Get_File(sh.Cmdlet):
|
||||
summary="Export file to local path",
|
||||
usage="@1 | get-file -path C:\\Downloads",
|
||||
arg=[
|
||||
sh.SharedArgs.HASH,
|
||||
sh.SharedArgs.QUERY,
|
||||
sh.SharedArgs.STORE,
|
||||
sh.SharedArgs.PATH,
|
||||
sh.CmdletArg("name", description="Output filename (default: from metadata title)"),
|
||||
],
|
||||
detail=[
|
||||
"- Exports file from storage backend to local path",
|
||||
"- Uses hash+store to retrieve file",
|
||||
"- Uses selected item's hash, or -query \"hash:<sha256>\"",
|
||||
"- Preserves file extension and metadata",
|
||||
],
|
||||
exec=self.run,
|
||||
@@ -44,9 +44,14 @@ class Get_File(sh.Cmdlet):
|
||||
debug(f"[get-file] run() called with result type: {type(result)}")
|
||||
parsed = sh.parse_cmdlet_args(args, self)
|
||||
debug(f"[get-file] parsed args: {parsed}")
|
||||
|
||||
query_hash = sh.parse_single_hash_query(parsed.get("query"))
|
||||
if parsed.get("query") and not query_hash:
|
||||
log("Error: -query must be of the form hash:<sha256>")
|
||||
return 1
|
||||
|
||||
# Extract hash and store from result or args
|
||||
file_hash = parsed.get("hash") or sh.get_field(result, "hash")
|
||||
file_hash = query_hash or sh.get_field(result, "hash")
|
||||
store_name = parsed.get("store") or sh.get_field(result, "store")
|
||||
output_path = parsed.get("path")
|
||||
output_name = parsed.get("name")
|
||||
@@ -54,7 +59,7 @@ class Get_File(sh.Cmdlet):
|
||||
debug(f"[get-file] file_hash={file_hash[:12] if file_hash else None}... store_name={store_name}")
|
||||
|
||||
if not file_hash:
|
||||
log("Error: No file hash provided")
|
||||
log("Error: No file hash provided (pipe an item or use -query \"hash:<sha256>\")")
|
||||
return 1
|
||||
|
||||
if not store_name:
|
||||
|
||||
Reference in New Issue
Block a user