mirror of
git://git.proxmox.com/git/pve-common.git
synced 2024-12-24 01:33:48 +03:00
PVE::CLIFormatter::query_terminal_options - new helper
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
This commit is contained in:
parent
43b104c416
commit
4ac8500023
@ -2,11 +2,30 @@ package PVE::CLIFormatter;
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use I18N::Langinfo;
|
||||
|
||||
use PVE::JSONSchema;
|
||||
use PVE::PTY;
|
||||
use JSON;
|
||||
use utf8;
|
||||
use Encode;
|
||||
|
||||
sub query_terminal_options {
|
||||
my ($options) = @_;
|
||||
|
||||
$options //= {};
|
||||
|
||||
if (-t STDOUT) {
|
||||
($options->{columns}) = PVE::PTY::tcgetsize(*STDOUT);
|
||||
}
|
||||
|
||||
$options->{encoding} = I18N::Langinfo::langinfo(I18N::Langinfo::CODESET());
|
||||
|
||||
$options->{utf8} = 1 if $options->{encoding} eq 'UTF-8';
|
||||
|
||||
return $options;
|
||||
}
|
||||
|
||||
sub println_max {
|
||||
my ($text, $encoding, $max) = @_;
|
||||
|
||||
@ -217,8 +236,11 @@ sub print_api_list {
|
||||
sub print_api_result {
|
||||
my ($format, $data, $result_schema, $props_to_print, $options) = @_;
|
||||
|
||||
$options //= {};
|
||||
$options = { %$options }; # copy
|
||||
if (!defined($options)) {
|
||||
$options = query_terminal_options({});
|
||||
} else {
|
||||
$options = { %$options }; # copy
|
||||
}
|
||||
|
||||
return if $result_schema->{type} eq 'null';
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user