[pmg-devel] [PATCH pmg-api] fix #4521: api/tasks: replace upid as filename for task log downloads

Stefan Sterz s.sterz at proxmox.com
Thu Feb 9 12:41:23 CET 2023


previously the upid would just be used without a file extension when
downloading a task log. this lead to rather strange filenames that
appeared unfamiliar to users as the upid is not very prevalent in the
gui. set a proper file name based on the node name, worker type and a
time stamp instead. also add the ".log" file extension to indicate
that these files contain logs.

Signed-off-by: Stefan Sterz <s.sterz at proxmox.com>
---
 src/PMG/API2/Tasks.pm | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/PMG/API2/Tasks.pm b/src/PMG/API2/Tasks.pm
index d855507..c2fb6a7 100644
--- a/src/PMG/API2/Tasks.pm
+++ b/src/PMG/API2/Tasks.pm
@@ -292,13 +292,16 @@ __PACKAGE__->register_method({
 		open($fh, '<', $filename) or die "Could not open file '$filename' - $!\n";
 	    }
 
+	    my $task_time = strftime('%FT%TZ', gmtime($task->{starttime}));
+	    my $download_name = 'task-'.$task->{node}.'-'.$task->{type}.'-'.$task_time.'.log';
+
 	    return {
 		download => {
 		    fh => $fh,
 		    stream => 1,
 		    'content-encoding' => $use_compression ? 'gzip' : undef,
 		    'content-type' => "text/plain",
-		    'content-disposition' => "attachment; filename=\"".$param->{upid}."\"",
+		    'content-disposition' => "attachment; filename=\"".$download_name."\"",
 		},
 	    },
 	} else {
-- 
2.30.2





More information about the pmg-devel mailing list