9498fcf9c5
src/cli/command.rs - get_nested_completion: return nothing if first argument does not match
2019-12-01 10:24:07 +01:00
309e449db2
src/cli/command.rs: improve get_help_completion
2019-12-01 10:18:47 +01:00
d69fcf3080
tests/verify-api.rs: remove unused use clause
2019-12-01 09:51:05 +01:00
b8a82922c7
src/cli/command.rs: handle multilevel sub commands in help
2019-12-01 09:42:51 +01:00
b7bf71dfa1
src/cli/command.rs: fix help completions
2019-11-30 15:43:44 +01:00
7afc1af7ab
src/bin/completion.rs: add history support
2019-11-30 15:08:37 +01:00
4b8573da65
src/cli/command.rs - handle_command: return Result instead of exit()
2019-11-30 15:08:00 +01:00
2b691daf6f
src/cli.rs: add insert_help() method
2019-11-30 14:56:31 +01:00
1201abcffa
src/cli/command.rs: implement help
2019-11-30 13:02:00 +01:00
8423c1fe64
cli/completion: use match statements and .contains()
...
`match` is a bit more readable than the if-else chains,
also replace
space_chars.iter().any(|s| c == *s)
with
space_chars.contains(&c)
which is also more readable.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-11-29 13:37:34 +01:00
e399398444
remove shellwords crate
2019-11-29 12:49:44 +01:00
ca60ac13d9
use rustyline to replace readline
2019-11-29 12:49:44 +01:00
41874331ed
whitespace fixup
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-11-29 09:52:15 +01:00
2905f2b5e6
update api macro example usage
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-11-29 09:51:27 +01:00
8b130e71da
src/cli/command.rs: cleanup, make handlers more generic
2019-11-27 14:44:21 +01:00
7b6c41078b
update api macro invocation to new style
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-11-27 14:19:46 +01:00
314bb35868
catalog_shell: fix several clippy warnings
...
Signed-off-by: Christian Ebner <c.ebner@proxmox.com >
2019-11-27 10:13:50 +01:00
6486cb853f
first api macro usage test/example
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-11-27 10:05:37 +01:00
951cf17ee3
catalog_shell: major refactoring of cli command definition and parsing
...
By changing the way shell commands are defined and parsed, this makes it more
straight forward to extend the current functionality.
The readline input is parsed based on the provided command definition and the
given parameters and options are passed to a command specific callback function.
In addition, the provided command definition including its description is used
to generate a help string to display.
The help command shows a list of all supported commands or the help string for
the provided command.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com >
2019-11-26 13:01:00 +01:00
59bc6ad676
catalog_shell: check and return on empty list in order to avoid division by zero
...
Signed-off-by: Christian Ebner <c.ebner@proxmox.com >
2019-11-26 12:55:33 +01:00
4e56b2f792
catalog_shell: do not restore full archive if no entries are selected for restore-selected
...
Signed-off-by: Christian Ebner <c.ebner@proxmox.com >
2019-11-26 12:55:18 +01:00
12b4098660
src/cli/format.rs: move doc generation code into extra file
2019-11-26 12:12:53 +01:00
2f2b87e659
src/pxar/fuse.rs: add impl Context
2019-11-26 11:16:46 +01:00
eedd1f95eb
src/pxar/fuse.rs: move init and destroy into Session
2019-11-26 11:08:55 +01:00
970687c982
src/pxar/fuse.rs: cleanup - remove setup_session (moved into new)
2019-11-26 11:04:46 +01:00
2a11191072
src/pxar/fuse.rs: rename from_decoder into new, new into from_path
2019-11-26 10:56:41 +01:00
99b5b6cba9
src/pxar/decoder.rs: use trait object as reader
...
So that the Decoder is no longer genertic.
2019-11-26 10:45:11 +01:00
f701d0335e
src/pxar/sequential_decoder.rs: remove callback from new()
...
And use an extra functzion set_callback() to configure that.
Also rewrite pxar/fuse.rs and implement a generic Session (will get
further cleanups with next patches).
2019-11-26 09:56:48 +01:00
49fddd985c
src/cli/command.rs: use static array for arg_param
2019-11-25 11:16:41 +01:00
329d40b50b
rename ApiHandler::Async into ApiHandler::AsyncHttp
2019-11-23 09:03:21 +01:00
70fbac84da
src/server/rest.rs: simplify code
2019-11-22 18:44:14 +01:00
2bbd835b9b
src/server/rest.rs: rename get_request_parameters_async to get_request_parameters
2019-11-22 17:24:16 +01:00
75a5a68944
src/server/rest.rs - only pass ObjectSchema to get_request_parameters_async()
2019-11-22 17:22:07 +01:00
ad51d02aa9
src/server/rest.rs: cleanup async code
2019-11-22 13:02:05 +01:00
be2bb37205
remove api_schema submodule
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-11-22 09:31:45 +01:00
e57e1cd82d
move src/api_schema/config.rs -> src/server/config.rs
2019-11-22 09:23:03 +01:00
8256b0e417
src/api_schema/registry.rs: remove dead code
2019-11-22 09:04:52 +01:00
126c1f675f
add build depend for libreadline-dev
2019-11-22 08:29:41 +01:00
3cf73c4e53
src/bin/proxmox-backup-client.rs: impl shell subcommand for client
...
Signed-off-by: Christian Ebner <c.ebner@proxmox.com >
2019-11-22 08:22:50 +01:00
f14c96ea38
src/backup/catalog_shell.rs: impl shell to inspect and restore a snapshot via the catalog
...
Signed-off-by: Christian Ebner <c.ebner@proxmox.com >
2019-11-22 07:54:04 +01:00
38446a9551
src/backup/readline.rs: impl wrapper for GNU readline
...
In order to provide the context needed for tab completion via the readline
callback, the needed mut ref is passed via a thread local storage key.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com >
2019-11-22 07:46:24 +01:00
6dba015043
src/backup/catalog.rs: derive Clone for DirEntry and DirEntryAttribute
...
This is needed in order to explicitly clone the values when needed in the
catalog shell implementation.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com >
2019-11-22 07:15:39 +01:00
c9f002213e
src/backup/catalog.rs: impl DirEntry::is_directory()
...
Signed-off-by: Christian Ebner <c.ebner@proxmox.com >
2019-11-22 07:14:00 +01:00
d3bcc7f261
src/pxar/sequential_decoder.rs: create all directories in target path
...
Create the full target path and not fail if an intermediate directory does not
exist.
This is needed in order to restore multiple archives via the catalog, where the
target should further contain each archive name as subdir.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com >
2019-11-22 07:11:49 +01:00
b6ca690095
src/pxar/decoder.rs: return also payload size in lookup
...
Signed-off-by: Christian Ebner <c.ebner@proxmox.com >
2019-11-22 07:05:14 +01:00
45cc157f7c
docs: add backup reader protocol
2019-11-22 06:59:37 +01:00
5e6b9e4428
tests/verify-api.rs: test lookup table sort order
2019-11-22 06:43:13 +01:00
cad540e969
api/compat: remove remaining api_schema references
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-11-21 14:53:15 +01:00
a2479cfa1a
api/compat: drop more compat imports from api_schema.rs
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-11-21 14:36:28 +01:00
cc4ecf80b0
api/compat: drop api_handler submodule
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-11-21 14:18:41 +01:00