1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-04-18 21:44:02 +03:00
Alan Mologorsky 6844923b9a
feat(cmapi,cli): MCOL-5618: Add backup, restore, backup-dbrm, restore-dbrm commands for mcs cli tool. (#3130)
* MCOL-5618: Add backup, restore, backup-dbrm, restore-dbrm commands for mcs cli tool.

[add] mcs_cluster_tool/helpers.py file with cook_sh_arg function inside
[add] MCS_BACKUP_MANAGER_SH to mcs_cluster_tool/constants.py
[add] backup and restore commands to "mcs" Typer APP

* MCOL-5618: Move mcs_backup_manager.sh to cmapi/scripts.

* MCOL-5618: Install mcs_backup_manager.sh with CMAPI package.
2024-04-01 16:51:38 +03:00

30 lines
999 B
Python

"""Module with helper functions for mcs cli tool."""
from typing import Union
def cook_sh_arg(arg_name: str, value:Union[str, int, bool]) -> str:
"""Convert argument and and value from function locals to bash argument.
:param arg_name: function argument name
:type arg_name: str
:param value: function argument value
:type value: Union[str, int, bool]
:return: bash argument string
:rtype: str
"""
# skip "arguments" list and Typer ctx variables from local scope
if arg_name in ('arguments', 'ctx'):
return None
# skip args that have empty string as value
if value == '':
return None
if '_' in arg_name:
arg_name = arg_name.replace('_', '-')
# skip boolean args that have False value
if isinstance(value, bool):
if not value:
return None
# if True value presented just pass only arg name without value
value = ''
return f'-{arg_name} {value}' if value else f'-{arg_name}'