[pve-devel] [PATCH manager] fix #4521: api/tasks: replace upid as filename for task log downloads
    Stefan Sterz 
    s.sterz at proxmox.com
       
    Thu Feb  9 12:43:14 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>
---
 PVE/API2/Tasks.pm | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/PVE/API2/Tasks.pm b/PVE/API2/Tasks.pm
index 9c8de324..98cecf01 100644
--- a/PVE/API2/Tasks.pm
+++ b/PVE/API2/Tasks.pm
@@ -405,13 +405,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 pve-devel
mailing list