Dietmar Maurer
4ac8500023
PVE::CLIFormatter::query_terminal_options - new helper
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2018-06-29 14:39:48 +02:00
Dietmar Maurer
43b104c416
cli: print_api_result: add/use new encoding option
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2018-06-29 14:39:48 +02:00
Dietmar Maurer
eb1c51c2e8
CLIFormatter: implement tables with utf8 borders
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2018-06-29 14:39:48 +02:00
Dietmar Maurer
0c22b00ccd
CLIFormatter: pass options as hash
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2018-06-29 14:39:48 +02:00
Dietmar Maurer
cde31da01a
cli: print_text_table: allow to limit output width
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2018-06-29 14:39:48 +02:00
Dietmar Maurer
84142f1d20
cli: data_to_text: pass property info
...
So that we can display defaults, render boolean nicely, or call arbitrary render
functions ...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2018-06-29 14:39:48 +02:00
Dietmar Maurer
b521204225
PVE::JSONSchema::register_renderer - allow to register renderers by name
...
We want to use those renderer to format CLI output nicely.
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2018-06-29 14:39:48 +02:00
Dietmar Maurer
2a174d2ab0
cli: print_api_result: use print_api_list to print objects
...
In order to draw the new asciiart border ...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2018-06-29 14:39:48 +02:00
Dietmar Maurer
793ad69ba5
cli: print_text_table: allow to draw ascii art borders
...
format can now be:
plain => what we had with 'text' before
text => print with borders (default)
json
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2018-06-29 14:39:48 +02:00
Thomas Lamprecht
4c99c559f3
trivial: fixup: no double semicolons
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-06-29 12:40:07 +02:00
Thomas Lamprecht
aea06195b7
foolowup: improve/add comments and spacing
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-06-29 11:58:05 +02:00
Stoiko Ivanov
e97f807c38
fix #1819 : fork_worker: ensure sync'ed workers control terminal
...
Use setpgid + tcsetpgrp instead of setsid if $sync (invocation via
cli), thus keeping /dev/tty - ssh-copy-id/ssh need it to read the
password, and putting the child in the forground. Further, ignore
SIGTTOU in child process (otherwise it gets stopped upon tcsetpgrp)
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-06-29 11:36:01 +02:00
Dietmar Maurer
f53ad23ac9
PVE/CLIFormatter.pm - new class to generate/format CLI output
...
Moved code from CLIHandler.pm into this file.
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2018-06-28 09:44:43 +02:00
Thomas Lamprecht
b2285cf8eb
bump version to 5.0-35
2018-06-27 15:34:14 +02:00
Thomas Lamprecht
194ed9bbbd
d/control: break pve-manager < 5.2-5 and pmg-api < 5.0-74
2018-06-27 15:34:14 +02:00
Thomas Lamprecht
968bcf45be
rest/cli: rename param mapping related variable to shorter versions
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-06-27 13:02:53 +02:00
Dominik Csapak
4842b65105
remove read_password_func from cli handler
...
we have a param_mapping now, with which we can impement that
e.g. instead of using:
sub read_password {
# read password
}
we can do:
sub param_mapping {
my ($name) = @_;
my $password_map = ['password', sub{
# read password
}, '<password', 1];
my $mapping = {
'apicall1' => [$password_map],
'apicall2' => [$password_map],
...
};
return $mapping->{$name};
}
this has the advantage that we can use different subs for different
api calls (e.g. pveum passwd vs pveum ticket)
if a CLIHandler implemenation still has a read_password sub and no
param_mapping, we generate one for them with read_password as the
sub for the standard mapping 'pve-password'
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-06-27 12:37:20 +02:00
Dietmar Maurer
3c3d1e07c8
cli: print_text_table: another fix for poperties without schema
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2018-06-27 12:35:55 +02:00
Thomas Lamprecht
ead1edfffd
cli: print_text_table: die if no property info not needed anymore
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-06-27 11:49:52 +02:00
Dietmar Maurer
ffe4449cd5
cli: print_text_table: fix for poperties without schema
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2018-06-27 11:46:29 +02:00
Thomas Lamprecht
8379465981
cli: print_text_table: followup code cleanup
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-06-27 11:28:40 +02:00
Thomas Lamprecht
9ac6416ec8
cli: print_text_table: default to autosort on
...
we more often want to sort by the leftmost valid column than not.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-06-27 11:23:31 +02:00
Thomas Lamprecht
fa7d20bf9f
cli: print_api_result: simplify props_to_print code
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-06-27 11:00:55 +02:00
Dietmar Maurer
8dd3280b55
PVE::CLIHandler::print_text_table - cleanup, directly use json schema data
...
This way we can access all type information and can use that to sort
numeric columns correctly.
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2018-06-27 11:00:29 +02:00
Dietmar Maurer
505786f6a4
PVE::CLIHandler::print_text_table - add option $sort_key
...
Now, we do not change the ordering by default.
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2018-06-27 11:00:23 +02:00
Stoiko Ivanov
16f2033235
PVE::CLIHandler::data_to_text: return '' for undef
...
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2018-06-27 11:00:19 +02:00
Dietmar Maurer
c1e843677d
PVE::CLIHandler::print_api_result - add $props_to_print parameter
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2018-06-27 11:00:12 +02:00
Stoiko Ivanov
db5b22d16a
PVE::CLIHandler::print_api_list: update comment
...
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2018-06-25 12:09:59 +02:00
Stoiko Ivanov
9b8f2f8f6e
PVE::CLIHandler::print_api_list - use all occuring properties
...
print_api_list falls back to the union of all properties occuring in data, if
none are provided explicitly, and the API method contains no returns property.
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2018-06-25 12:09:42 +02:00
Stoiko Ivanov
e05f7cdd0c
PVE::CLIHandler::print_text_table - fix sorting
...
Sort only if at least one column contains no undefined values.
Sort according to the left-most such column.
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2018-06-25 12:09:14 +02:00
Dietmar Maurer
ec3cbded33
cleanup: rename $returninfo to $result_schema
2018-06-22 07:37:09 +02:00
Dietmar Maurer
2edb0abbb9
PVE::CLIHandler::print_api_list - improve format check
...
We can only print lists of objects.
2018-06-22 07:32:33 +02:00
Dietmar Maurer
8587474c36
PVE::CLIHandler::print_api_list - reorder arguments
...
Move optional argument to the end.
2018-06-22 07:14:04 +02:00
Dietmar Maurer
eb04f1e26c
PVE::CLIHandler::print_api_list - allow to pass empty $props_to_print
2018-06-22 07:12:42 +02:00
Dietmar Maurer
340c98629c
PVE::CLIHandler - new helper print_api_result
...
Allow to print complex object/array by simply converting them to JSON.
Note: Our API almost always return simply values.
2018-06-22 07:05:23 +02:00
Thomas Lamprecht
ba49de85b9
cli: print table: remove only-once-used default variable
2018-06-20 14:12:18 +02:00
Stoiko Ivanov
eb3dae233f
cli: print_text_table: ensure default is not undefined
...
Default to printing '', if no default is provided for a column.
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2018-06-20 14:01:31 +02:00
Wolfgang Bumiller
f6c4a56381
INotify: write network: don't duplicate bridge-vids
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2018-06-20 10:27:08 +02:00
Alexandre Derumier
b7c4f37851
Inotify : write network config : remove allow- ovs with ifupdown2
2018-06-20 10:11:48 +02:00
Alexandre Derumier
95d0e63377
Inotify : write network config : add bridge-vids
...
default is 2-4094 if user don't have specified.
mandatory for ifupdown2 and compatible with
current promox ifupdown bridgevlanport script
2018-06-20 10:11:48 +02:00
Alexandre Derumier
1accc6da65
Inotify : write network config : use modern syntax for options
...
-replace options with '_' with '-'
-use 'bond-slaves' instead 'slaves'
2018-06-20 10:11:48 +02:00
Alexandre Derumier
1b1fb9f70c
Inotify : read network config : allow alternative options names
2018-06-20 10:11:48 +02:00
Thomas Lamprecht
37f010e7c6
fixup: don't standard mapping code in mid of cmd helpers
...
as it teared code which belongs together apart
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-06-19 12:33:26 +02:00
Dominik Csapak
0da61ab3c3
CLIHandler: add standard mapping for password parameter
...
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-06-19 11:56:00 +02:00
Dominik Csapak
57d5edee2f
CLIHandler: add standard_mappings
...
so we can reuse often used parameter mappings
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-06-19 11:56:00 +02:00
Dominik Csapak
a1c7eddaf1
add the possibility to use a hash for parameter mapping
...
instead of writing:
['name', sub {...}, 'description', 1]
one can now use:
{
name => 'name',
func => sub { ... },
desc => 'desc',
interactive => 1,
}
which makes it more obvious what is what
(and allows later patches to easily override some things)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-06-19 11:56:00 +02:00
Thomas Lamprecht
305fc1e12a
print_api_list: we only handle API results of type 'array'
...
...for now at least
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-06-18 12:35:04 +02:00
Thomas Lamprecht
85b9def289
improve and fix some whitespace errors
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-06-18 12:34:58 +02:00
Thomas Lamprecht
acd6f38373
reword print_text_table and print_api_list documentation
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-06-18 12:34:55 +02:00
Stoiko Ivanov
a604bf2214
add print_api_list, adapt handle_cmd
...
print_api_list takes an array of columns to print, the data, and the returns
definitions of the API, and prints the data by using print_text_table.
handle_cmd and handle_simple_cmd call the output sub with the returns definitons.
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2018-06-18 11:24:03 +02:00