Mercurial > libervia-backend
comparison sat_frontends/jp/cmd_param.py @ 3573:813595f88612
merge changes from main branch
author | Goffi <goffi@goffi.org> |
---|---|
date | Thu, 17 Jun 2021 13:05:58 +0200 |
parents | 04283582966f |
children | 524856bd7b19 |
comparison
equal
deleted
inserted
replaced
3541:888109774673 | 3573:813595f88612 |
---|---|
20 | 20 |
21 | 21 |
22 from . import base | 22 from . import base |
23 from sat.core.i18n import _ | 23 from sat.core.i18n import _ |
24 from .constants import Const as C | 24 from .constants import Const as C |
25 | |
25 __commands__ = ["Param"] | 26 __commands__ = ["Param"] |
26 | 27 |
27 | 28 |
28 class Get(base.CommandBase): | 29 class Get(base.CommandBase): |
29 def __init__(self, host): | 30 def __init__(self, host): |
30 super(Get, self).__init__( | 31 super(Get, self).__init__( |
31 host, 'get', need_connect=False, help=_('get a parameter value')) | 32 host, "get", need_connect=False, help=_("get a parameter value") |
33 ) | |
32 | 34 |
33 def add_parser_options(self): | 35 def add_parser_options(self): |
34 self.parser.add_argument( | 36 self.parser.add_argument( |
35 "category", nargs='?', help=_("category of the parameter")) | 37 "category", nargs="?", help=_("category of the parameter") |
36 self.parser.add_argument("name", nargs='?', help=_("name of the parameter")) | 38 ) |
39 self.parser.add_argument("name", nargs="?", help=_("name of the parameter")) | |
37 self.parser.add_argument( | 40 self.parser.add_argument( |
38 "-a", "--attribute", type=str, default="value", | 41 "-a", |
39 help=_("name of the attribute to get")) | 42 "--attribute", |
43 type=str, | |
44 default="value", | |
45 help=_("name of the attribute to get"), | |
46 ) | |
40 self.parser.add_argument( | 47 self.parser.add_argument( |
41 "--security-limit", type=int, default=-1, help=_("security limit")) | 48 "--security-limit", type=int, default=-1, help=_("security limit") |
49 ) | |
42 | 50 |
43 async def start(self): | 51 async def start(self): |
44 if self.args.category is None: | 52 if self.args.category is None: |
45 categories = await self.host.bridge.getParamsCategories() | 53 categories = await self.host.bridge.getParamsCategories() |
46 print("\n".join(categories)) | 54 print("\n".join(categories)) |
47 elif self.args.name is None: | 55 elif self.args.name is None: |
48 try: | 56 try: |
49 values_dict = await self.host.bridge.asyncGetParamsValuesFromCategory( | 57 values_dict = await self.host.bridge.asyncGetParamsValuesFromCategory( |
50 self.args.category, self.args.security_limit, "", "", self.profile) | 58 self.args.category, self.args.security_limit, "", "", self.profile |
59 ) | |
51 except Exception as e: | 60 except Exception as e: |
52 self.disp(_(f"can't find requested parameters: {e}"), error=True) | 61 self.disp( |
62 _("can't find requested parameters: {e}").format(e=e), error=True | |
63 ) | |
53 self.host.quit(C.EXIT_NOT_FOUND) | 64 self.host.quit(C.EXIT_NOT_FOUND) |
54 else: | 65 else: |
55 for name, value in values_dict.items(): | 66 for name, value in values_dict.items(): |
56 print(f"{name}\t{value}") | 67 print(f"{name}\t{value}") |
57 else: | 68 else: |
58 try: | 69 try: |
59 value = await self.host.bridge.asyncGetParamA( | 70 value = await self.host.bridge.asyncGetParamA( |
60 self.args.name, self.args.category, self.args.attribute, | 71 self.args.name, |
61 self.args.security_limit, self.profile) | 72 self.args.category, |
73 self.args.attribute, | |
74 self.args.security_limit, | |
75 self.profile, | |
76 ) | |
62 except Exception as e: | 77 except Exception as e: |
63 self.disp(_(f"can't find requested parameter: {e}"), error=True) | 78 self.disp( |
79 _("can't find requested parameter: {e}").format(e=e), error=True | |
80 ) | |
64 self.host.quit(C.EXIT_NOT_FOUND) | 81 self.host.quit(C.EXIT_NOT_FOUND) |
65 else: | 82 else: |
66 print(value) | 83 print(value) |
67 self.host.quit() | 84 self.host.quit() |
68 | 85 |
69 | 86 |
70 class Set(base.CommandBase): | 87 class Set(base.CommandBase): |
71 def __init__(self, host): | 88 def __init__(self, host): |
72 super(Set, self).__init__(host, 'set', need_connect=False, help=_('set a parameter value')) | 89 super(Set, self).__init__( |
90 host, "set", need_connect=False, help=_("set a parameter value") | |
91 ) | |
73 | 92 |
74 def add_parser_options(self): | 93 def add_parser_options(self): |
75 self.parser.add_argument("category", help=_("category of the parameter")) | 94 self.parser.add_argument("category", help=_("category of the parameter")) |
76 self.parser.add_argument("name", help=_("name of the parameter")) | 95 self.parser.add_argument("name", help=_("name of the parameter")) |
77 self.parser.add_argument("value", help=_("name of the parameter")) | 96 self.parser.add_argument("value", help=_("name of the parameter")) |
78 self.parser.add_argument("--security-limit", type=int, default=-1, help=_("security limit")) | 97 self.parser.add_argument( |
98 "--security-limit", type=int, default=-1, help=_("security limit") | |
99 ) | |
79 | 100 |
80 async def start(self): | 101 async def start(self): |
81 try: | 102 try: |
82 await self.host.bridge.setParam( | 103 await self.host.bridge.setParam( |
83 self.args.name, self.args.value, self.args.category, | 104 self.args.name, |
84 self.args.security_limit, self.profile) | 105 self.args.value, |
106 self.args.category, | |
107 self.args.security_limit, | |
108 self.profile, | |
109 ) | |
85 except Exception as e: | 110 except Exception as e: |
86 self.disp(_(f"can't set requested parameter: {e}"), error=True) | 111 self.disp(_("can't set requested parameter: {e}").format(e=e), error=True) |
87 self.host.quit(C.EXIT_BRIDGE_ERRBACK) | 112 self.host.quit(C.EXIT_BRIDGE_ERRBACK) |
88 else: | 113 else: |
89 self.host.quit() | 114 self.host.quit() |
90 | 115 |
91 | 116 |
92 class SaveTemplate(base.CommandBase): | 117 class SaveTemplate(base.CommandBase): |
93 # FIXME: this should probably be removed, it's not used and not useful for end-user | 118 # FIXME: this should probably be removed, it's not used and not useful for end-user |
94 | 119 |
95 def __init__(self, host): | 120 def __init__(self, host): |
96 super(SaveTemplate, self).__init__( | 121 super(SaveTemplate, self).__init__( |
97 host, 'save', use_profile=False, | 122 host, |
98 help=_('save parameters template to xml file')) | 123 "save", |
124 use_profile=False, | |
125 help=_("save parameters template to xml file"), | |
126 ) | |
99 | 127 |
100 def add_parser_options(self): | 128 def add_parser_options(self): |
101 self.parser.add_argument("filename", type=str, help=_("output file")) | 129 self.parser.add_argument("filename", type=str, help=_("output file")) |
102 | 130 |
103 async def start(self): | 131 async def start(self): |
104 """Save parameters template to XML file""" | 132 """Save parameters template to XML file""" |
105 try: | 133 try: |
106 await self.host.bridge.saveParamsTemplate(self.args.filename) | 134 await self.host.bridge.saveParamsTemplate(self.args.filename) |
107 except Exception as e: | 135 except Exception as e: |
108 self.disp(_(f"can't save parameters to file: {e}"), error=True) | 136 self.disp(_("can't save parameters to file: {e}").format(e=e), error=True) |
109 self.host.quit(C.EXIT_BRIDGE_ERRBACK) | 137 self.host.quit(C.EXIT_BRIDGE_ERRBACK) |
110 else: | 138 else: |
111 self.disp(_(f"parameters saved to file {self.args.filename}")) | 139 self.disp( |
140 _("parameters saved to file {filename}").format( | |
141 filename=self.args.filename | |
142 ) | |
143 ) | |
112 self.host.quit() | 144 self.host.quit() |
113 | 145 |
114 | 146 |
115 class LoadTemplate(base.CommandBase): | 147 class LoadTemplate(base.CommandBase): |
116 # FIXME: this should probably be removed, it's not used and not useful for end-user | 148 # FIXME: this should probably be removed, it's not used and not useful for end-user |
117 | 149 |
118 def __init__(self, host): | 150 def __init__(self, host): |
119 super(LoadTemplate, self).__init__( | 151 super(LoadTemplate, self).__init__( |
120 host, 'load', use_profile=False, | 152 host, |
121 help=_('load parameters template from xml file')) | 153 "load", |
154 use_profile=False, | |
155 help=_("load parameters template from xml file"), | |
156 ) | |
122 | 157 |
123 def add_parser_options(self): | 158 def add_parser_options(self): |
124 self.parser.add_argument("filename", type=str, help=_("input file")) | 159 self.parser.add_argument("filename", type=str, help=_("input file")) |
125 | 160 |
126 async def start(self): | 161 async def start(self): |
127 """Load parameters template from xml file""" | 162 """Load parameters template from xml file""" |
128 try: | 163 try: |
129 self.host.bridge.loadParamsTemplate(self.args.filename) | 164 self.host.bridge.loadParamsTemplate(self.args.filename) |
130 except Exception as e: | 165 except Exception as e: |
131 self.disp(_(f"can't load parameters from file: {e}"), error=True) | 166 self.disp(_("can't load parameters from file: {e}").format(e=e), error=True) |
132 self.host.quit(C.EXIT_BRIDGE_ERRBACK) | 167 self.host.quit(C.EXIT_BRIDGE_ERRBACK) |
133 else: | 168 else: |
134 self.disp(_(f"parameters loaded from file {self.args.filename}")) | 169 self.disp( |
170 _("parameters loaded from file {filename}").format( | |
171 filename=self.args.filename | |
172 ) | |
173 ) | |
135 self.host.quit() | 174 self.host.quit() |
136 | 175 |
137 | 176 |
138 class Param(base.CommandBase): | 177 class Param(base.CommandBase): |
139 subcommands = (Get, Set, SaveTemplate, LoadTemplate) | 178 subcommands = (Get, Set, SaveTemplate, LoadTemplate) |
140 | 179 |
141 def __init__(self, host): | 180 def __init__(self, host): |
142 super(Param, self).__init__(host, 'param', use_profile=False, help=_('Save/load parameters template')) | 181 super(Param, self).__init__( |
182 host, "param", use_profile=False, help=_("Save/load parameters template") | |
183 ) |