From 3f5b4119a982dfa703347c79143f3585946447e2 Mon Sep 17 00:00:00 2001 From: Stefan Sterz Date: Thu, 9 Feb 2023 12:41:23 +0100 Subject: [PATCH] fix #4521: api/tasks: replace upid as filename for task log downloads 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 --- 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.39.5