artefacts-cli 0.8.0__py3-none-any.whl → 0.9.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- artefacts/cli/__init__.py +67 -19
- artefacts/cli/app.py +196 -167
- artefacts/cli/app_containers.py +97 -25
- artefacts/cli/app_containers.pyi +3 -0
- artefacts/cli/bagparser.py +4 -0
- artefacts/cli/config.py +62 -0
- artefacts/cli/constants.py +7 -0
- artefacts/cli/containers/__init__.py +5 -5
- artefacts/cli/containers/docker_cm.py +175 -0
- artefacts/cli/containers/docker_utils.py +98 -0
- artefacts/cli/containers/utils.py +20 -8
- artefacts/cli/helpers.py +55 -0
- artefacts/cli/i18n.py +35 -0
- artefacts/cli/locales/art.pot +524 -0
- artefacts/cli/locales/base.pot +995 -0
- artefacts/cli/locales/click.pot +496 -0
- artefacts/cli/other.py +1 -0
- artefacts/cli/ros1.py +21 -6
- artefacts/cli/ros2.py +10 -3
- artefacts/cli/utils.py +8 -4
- artefacts/cli/utils_ros.py +35 -9
- artefacts/cli/version.py +2 -2
- artefacts/copava/__init__.py +1 -0
- {artefacts_cli-0.8.0.dist-info → artefacts_cli-0.9.2.dist-info}/METADATA +10 -3
- artefacts_cli-0.9.2.dist-info/RECORD +33 -0
- {artefacts_cli-0.8.0.dist-info → artefacts_cli-0.9.2.dist-info}/WHEEL +1 -1
- artefacts/cli/containers/docker.py +0 -119
- artefacts_cli-0.8.0.dist-info/RECORD +0 -24
- {artefacts_cli-0.8.0.dist-info → artefacts_cli-0.9.2.dist-info}/entry_points.txt +0 -0
- {artefacts_cli-0.8.0.dist-info → artefacts_cli-0.9.2.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,496 @@
|
|
1
|
+
# Translations template for artefacts.
|
2
|
+
# Copyright (C) 2025 Asteria ART
|
3
|
+
# This file is distributed under the same license as the artefacts project.
|
4
|
+
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
|
5
|
+
#
|
6
|
+
#, fuzzy
|
7
|
+
msgid ""
|
8
|
+
msgstr ""
|
9
|
+
"Project-Id-Version: artefacts 0.9.2.dev8\n"
|
10
|
+
"Report-Msgid-Bugs-To: dev@artefacts.com\n"
|
11
|
+
"POT-Creation-Date: 2025-05-12 11:10+0900\n"
|
12
|
+
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
13
|
+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
14
|
+
"Language-Team: LANGUAGE <LL@li.org>\n"
|
15
|
+
"MIME-Version: 1.0\n"
|
16
|
+
"Content-Type: text/plain; charset=utf-8\n"
|
17
|
+
"Content-Transfer-Encoding: 8bit\n"
|
18
|
+
"Generated-By: Babel 2.17.0\n"
|
19
|
+
|
20
|
+
#: venv/lib/python3.10/site-packages/click/_termui_impl.py:179
|
21
|
+
msgid "d"
|
22
|
+
msgstr ""
|
23
|
+
|
24
|
+
#: venv/lib/python3.10/site-packages/click/_termui_impl.py:606
|
25
|
+
#, python-brace-format
|
26
|
+
msgid "{editor}: Editing failed"
|
27
|
+
msgstr ""
|
28
|
+
|
29
|
+
#: venv/lib/python3.10/site-packages/click/_termui_impl.py:610
|
30
|
+
#, python-brace-format
|
31
|
+
msgid "{editor}: Editing failed: {e}"
|
32
|
+
msgstr ""
|
33
|
+
|
34
|
+
#: venv/lib/python3.10/site-packages/click/_winconsole.py:155
|
35
|
+
#, python-brace-format
|
36
|
+
msgid "Windows error: {error}"
|
37
|
+
msgstr ""
|
38
|
+
|
39
|
+
#: venv/lib/python3.10/site-packages/click/_winconsole.py:172
|
40
|
+
#, python-brace-format
|
41
|
+
msgid "Windows error {errno}"
|
42
|
+
msgstr ""
|
43
|
+
|
44
|
+
#: venv/lib/python3.10/site-packages/click/core.py:88
|
45
|
+
#, python-brace-format
|
46
|
+
msgid ""
|
47
|
+
"It is not possible to add the group {cmd_name!r} to another group "
|
48
|
+
"{base_cmd_name!r} that is in chain mode."
|
49
|
+
msgstr ""
|
50
|
+
|
51
|
+
#: venv/lib/python3.10/site-packages/click/core.py:93
|
52
|
+
#, python-brace-format
|
53
|
+
msgid ""
|
54
|
+
"Found the group {cmd_name!r} as subcommand to another group "
|
55
|
+
"{base_cmd_name!r} that is in chain mode. This is not supported."
|
56
|
+
msgstr ""
|
57
|
+
|
58
|
+
#: venv/lib/python3.10/site-packages/click/core.py:998
|
59
|
+
#, python-brace-format
|
60
|
+
msgid ""
|
61
|
+
"The parameter {param} is used more than once. Remove its duplicate as "
|
62
|
+
"parameters should be unique."
|
63
|
+
msgstr ""
|
64
|
+
|
65
|
+
#: venv/lib/python3.10/site-packages/click/core.py:1090
|
66
|
+
#: venv/lib/python3.10/site-packages/click/core.py:1127
|
67
|
+
#: venv/lib/python3.10/site-packages/click/core.py:2593
|
68
|
+
#, python-brace-format
|
69
|
+
msgid "(DEPRECATED: {target})"
|
70
|
+
msgstr ""
|
71
|
+
|
72
|
+
#: venv/lib/python3.10/site-packages/click/core.py:1092
|
73
|
+
#: venv/lib/python3.10/site-packages/click/core.py:1129
|
74
|
+
#: venv/lib/python3.10/site-packages/click/core.py:2595
|
75
|
+
msgid "(DEPRECATED)"
|
76
|
+
msgstr ""
|
77
|
+
|
78
|
+
#: venv/lib/python3.10/site-packages/click/core.py:1094
|
79
|
+
#: venv/lib/python3.10/site-packages/click/core.py:1131
|
80
|
+
#, python-brace-format
|
81
|
+
msgid "{text} {deprecated_message}"
|
82
|
+
msgstr ""
|
83
|
+
|
84
|
+
#: venv/lib/python3.10/site-packages/click/core.py:1150
|
85
|
+
msgid "Options"
|
86
|
+
msgstr ""
|
87
|
+
|
88
|
+
#: venv/lib/python3.10/site-packages/click/core.py:1212
|
89
|
+
#, python-brace-format
|
90
|
+
msgid "Got unexpected extra argument ({args})"
|
91
|
+
msgid_plural "Got unexpected extra arguments ({args})"
|
92
|
+
msgstr[0] ""
|
93
|
+
msgstr[1] ""
|
94
|
+
|
95
|
+
#: venv/lib/python3.10/site-packages/click/core.py:1231
|
96
|
+
#, python-brace-format
|
97
|
+
msgid "DeprecationWarning: The command {name!r} is deprecated.{extra_message}"
|
98
|
+
msgstr ""
|
99
|
+
|
100
|
+
#: venv/lib/python3.10/site-packages/click/core.py:1415
|
101
|
+
msgid "Aborted!"
|
102
|
+
msgstr ""
|
103
|
+
|
104
|
+
#: venv/lib/python3.10/site-packages/click/core.py:1789
|
105
|
+
msgid "Commands"
|
106
|
+
msgstr ""
|
107
|
+
|
108
|
+
#: venv/lib/python3.10/site-packages/click/core.py:1820
|
109
|
+
msgid "Missing command."
|
110
|
+
msgstr ""
|
111
|
+
|
112
|
+
#: venv/lib/python3.10/site-packages/click/core.py:1898
|
113
|
+
#, python-brace-format
|
114
|
+
msgid "No such command {name!r}."
|
115
|
+
msgstr ""
|
116
|
+
|
117
|
+
#: venv/lib/python3.10/site-packages/click/core.py:2137
|
118
|
+
#, python-brace-format
|
119
|
+
msgid "'nargs' must be {arity} (or None) for type {type!r}, but it was {nargs}."
|
120
|
+
msgstr ""
|
121
|
+
|
122
|
+
#: venv/lib/python3.10/site-packages/click/core.py:2173
|
123
|
+
#, python-brace-format
|
124
|
+
msgid "'default' {subject} must match nargs={nargs}."
|
125
|
+
msgstr ""
|
126
|
+
|
127
|
+
#: venv/lib/python3.10/site-packages/click/core.py:2181
|
128
|
+
#, python-brace-format
|
129
|
+
msgid ""
|
130
|
+
"The {type_name} '{readable_name}' is deprecated and still required. A "
|
131
|
+
"deprecated {type_name} cannot be required."
|
132
|
+
msgstr ""
|
133
|
+
|
134
|
+
#: venv/lib/python3.10/site-packages/click/core.py:2322
|
135
|
+
msgid "Value must be an iterable."
|
136
|
+
msgstr ""
|
137
|
+
|
138
|
+
#: venv/lib/python3.10/site-packages/click/core.py:2343
|
139
|
+
#, python-brace-format
|
140
|
+
msgid "Takes {nargs} values but 1 was given."
|
141
|
+
msgid_plural "Takes {nargs} values but {len} were given."
|
142
|
+
msgstr[0] ""
|
143
|
+
msgstr[1] ""
|
144
|
+
|
145
|
+
#: venv/lib/python3.10/site-packages/click/core.py:2423
|
146
|
+
#, python-brace-format
|
147
|
+
msgid ""
|
148
|
+
"DeprecationWarning: The {param_type} {name!r} is "
|
149
|
+
"deprecated.{extra_message}"
|
150
|
+
msgstr ""
|
151
|
+
|
152
|
+
#: venv/lib/python3.10/site-packages/click/core.py:2698
|
153
|
+
#, python-brace-format
|
154
|
+
msgid " (env var: '{var}')"
|
155
|
+
msgstr ""
|
156
|
+
|
157
|
+
#: venv/lib/python3.10/site-packages/click/core.py:2712
|
158
|
+
#, python-brace-format
|
159
|
+
msgid "Name '{name}' defined twice"
|
160
|
+
msgstr ""
|
161
|
+
|
162
|
+
#: venv/lib/python3.10/site-packages/click/core.py:2728
|
163
|
+
#, python-brace-format
|
164
|
+
msgid "Boolean option {decl!r} cannot use the same flag for true/false."
|
165
|
+
msgstr ""
|
166
|
+
|
167
|
+
#: venv/lib/python3.10/site-packages/click/core.py:2747
|
168
|
+
#, python-brace-format
|
169
|
+
msgid "Could not determine name for option with declarations {decls!r}"
|
170
|
+
msgstr ""
|
171
|
+
|
172
|
+
#: venv/lib/python3.10/site-packages/click/core.py:2754
|
173
|
+
#, python-brace-format
|
174
|
+
msgid ""
|
175
|
+
"No options defined but a name was passed ({name}). Did you mean to "
|
176
|
+
"declare an argument instead? Did you mean to pass '--{name}'?"
|
177
|
+
msgstr ""
|
178
|
+
|
179
|
+
#: venv/lib/python3.10/site-packages/click/core.py:2831
|
180
|
+
#, python-brace-format
|
181
|
+
msgid "env var: {var}"
|
182
|
+
msgstr ""
|
183
|
+
|
184
|
+
#: venv/lib/python3.10/site-packages/click/core.py:2834
|
185
|
+
#, python-brace-format
|
186
|
+
msgid "default: {default}"
|
187
|
+
msgstr ""
|
188
|
+
|
189
|
+
#: venv/lib/python3.10/site-packages/click/core.py:2838
|
190
|
+
msgid "required"
|
191
|
+
msgstr ""
|
192
|
+
|
193
|
+
#: venv/lib/python3.10/site-packages/click/core.py:2894
|
194
|
+
msgid "(dynamic)"
|
195
|
+
msgstr ""
|
196
|
+
|
197
|
+
#: venv/lib/python3.10/site-packages/click/core.py:3124
|
198
|
+
#, python-brace-format
|
199
|
+
msgid "Arguments take exactly one parameter declaration, got {length}: {decls}."
|
200
|
+
msgstr ""
|
201
|
+
|
202
|
+
#: venv/lib/python3.10/site-packages/click/decorators.py:97
|
203
|
+
#, python-brace-format
|
204
|
+
msgid ""
|
205
|
+
"Managed to invoke callback without a context object of type {type!r} "
|
206
|
+
"existing."
|
207
|
+
msgstr ""
|
208
|
+
|
209
|
+
#: venv/lib/python3.10/site-packages/click/decorators.py:134
|
210
|
+
#, python-brace-format
|
211
|
+
msgid "the {key!r} key from :attr:`click.Context.meta`"
|
212
|
+
msgstr ""
|
213
|
+
|
214
|
+
#: venv/lib/python3.10/site-packages/click/decorators.py:139
|
215
|
+
#, python-brace-format
|
216
|
+
msgid ""
|
217
|
+
"Decorator that passes {description} as the first argument to the "
|
218
|
+
"decorated function."
|
219
|
+
msgstr ""
|
220
|
+
|
221
|
+
#: venv/lib/python3.10/site-packages/click/decorators.py:477
|
222
|
+
#, python-format
|
223
|
+
msgid "%(prog)s, version %(version)s"
|
224
|
+
msgstr ""
|
225
|
+
|
226
|
+
#: venv/lib/python3.10/site-packages/click/decorators.py:514
|
227
|
+
#, python-brace-format
|
228
|
+
msgid "{name!r} is not installed. Try passing 'package_name' instead."
|
229
|
+
msgstr ""
|
230
|
+
|
231
|
+
#: venv/lib/python3.10/site-packages/click/decorators.py:521
|
232
|
+
#, python-brace-format
|
233
|
+
msgid "Could not determine the version for {name!r} automatically."
|
234
|
+
msgstr ""
|
235
|
+
|
236
|
+
#: venv/lib/python3.10/site-packages/click/decorators.py:538
|
237
|
+
msgid "Show the version and exit."
|
238
|
+
msgstr ""
|
239
|
+
|
240
|
+
#: venv/lib/python3.10/site-packages/click/decorators.py:564
|
241
|
+
msgid "Show this message and exit."
|
242
|
+
msgstr ""
|
243
|
+
|
244
|
+
#: venv/lib/python3.10/site-packages/click/exceptions.py:50
|
245
|
+
#: venv/lib/python3.10/site-packages/click/exceptions.py:89
|
246
|
+
#, python-brace-format
|
247
|
+
msgid "Error: {message}"
|
248
|
+
msgstr ""
|
249
|
+
|
250
|
+
#: venv/lib/python3.10/site-packages/click/exceptions.py:81
|
251
|
+
#, python-brace-format
|
252
|
+
msgid "Try '{command} {option}' for help."
|
253
|
+
msgstr ""
|
254
|
+
|
255
|
+
#: venv/lib/python3.10/site-packages/click/exceptions.py:130
|
256
|
+
#, python-brace-format
|
257
|
+
msgid "Invalid value: {message}"
|
258
|
+
msgstr ""
|
259
|
+
|
260
|
+
#: venv/lib/python3.10/site-packages/click/exceptions.py:132
|
261
|
+
#, python-brace-format
|
262
|
+
msgid "Invalid value for {param_hint}: {message}"
|
263
|
+
msgstr ""
|
264
|
+
|
265
|
+
#: venv/lib/python3.10/site-packages/click/exceptions.py:190
|
266
|
+
msgid "Missing argument"
|
267
|
+
msgstr ""
|
268
|
+
|
269
|
+
#: venv/lib/python3.10/site-packages/click/exceptions.py:192
|
270
|
+
msgid "Missing option"
|
271
|
+
msgstr ""
|
272
|
+
|
273
|
+
#: venv/lib/python3.10/site-packages/click/exceptions.py:194
|
274
|
+
msgid "Missing parameter"
|
275
|
+
msgstr ""
|
276
|
+
|
277
|
+
#: venv/lib/python3.10/site-packages/click/exceptions.py:196
|
278
|
+
#, python-brace-format
|
279
|
+
msgid "Missing {param_type}"
|
280
|
+
msgstr ""
|
281
|
+
|
282
|
+
#: venv/lib/python3.10/site-packages/click/exceptions.py:203
|
283
|
+
#, python-brace-format
|
284
|
+
msgid "Missing parameter: {param_name}"
|
285
|
+
msgstr ""
|
286
|
+
|
287
|
+
#: venv/lib/python3.10/site-packages/click/exceptions.py:223
|
288
|
+
#, python-brace-format
|
289
|
+
msgid "No such option: {name}"
|
290
|
+
msgstr ""
|
291
|
+
|
292
|
+
#: venv/lib/python3.10/site-packages/click/exceptions.py:235
|
293
|
+
#, python-brace-format
|
294
|
+
msgid "Did you mean {possibility}?"
|
295
|
+
msgid_plural "(Possible options: {possibilities})"
|
296
|
+
msgstr[0] ""
|
297
|
+
msgstr[1] ""
|
298
|
+
|
299
|
+
#: venv/lib/python3.10/site-packages/click/exceptions.py:282
|
300
|
+
msgid "unknown error"
|
301
|
+
msgstr ""
|
302
|
+
|
303
|
+
#: venv/lib/python3.10/site-packages/click/exceptions.py:289
|
304
|
+
#, python-brace-format
|
305
|
+
msgid "Could not open file {filename!r}: {message}"
|
306
|
+
msgstr ""
|
307
|
+
|
308
|
+
#: venv/lib/python3.10/site-packages/click/formatting.py:156
|
309
|
+
msgid "Usage:"
|
310
|
+
msgstr ""
|
311
|
+
|
312
|
+
#: venv/lib/python3.10/site-packages/click/parser.py:154
|
313
|
+
#, python-brace-format
|
314
|
+
msgid "Invalid start character for option ({option})"
|
315
|
+
msgstr ""
|
316
|
+
|
317
|
+
#: venv/lib/python3.10/site-packages/click/parser.py:190
|
318
|
+
#, python-brace-format
|
319
|
+
msgid "unknown action '{action}'"
|
320
|
+
msgstr ""
|
321
|
+
|
322
|
+
#: venv/lib/python3.10/site-packages/click/parser.py:212
|
323
|
+
#, python-brace-format
|
324
|
+
msgid "Argument {name!r} takes {nargs} values."
|
325
|
+
msgstr ""
|
326
|
+
|
327
|
+
#: venv/lib/python3.10/site-packages/click/parser.py:395
|
328
|
+
#, python-brace-format
|
329
|
+
msgid "Option {name!r} does not take a value."
|
330
|
+
msgstr ""
|
331
|
+
|
332
|
+
#: venv/lib/python3.10/site-packages/click/parser.py:456
|
333
|
+
#, python-brace-format
|
334
|
+
msgid "Option {name!r} requires an argument."
|
335
|
+
msgid_plural "Option {name!r} requires {nargs} arguments."
|
336
|
+
msgstr[0] ""
|
337
|
+
msgstr[1] ""
|
338
|
+
|
339
|
+
#: venv/lib/python3.10/site-packages/click/parser.py:527
|
340
|
+
#, python-brace-format
|
341
|
+
msgid ""
|
342
|
+
"'parser.{name}' is deprecated and will be removed in Click 9.0. The old "
|
343
|
+
"parser is available in 'optparse'."
|
344
|
+
msgstr ""
|
345
|
+
|
346
|
+
#: venv/lib/python3.10/site-packages/click/parser.py:540
|
347
|
+
msgid ""
|
348
|
+
"Importing 'parser.split_arg_string' is deprecated, it will only be "
|
349
|
+
"available in 'shell_completion' in Click 9.0."
|
350
|
+
msgstr ""
|
351
|
+
|
352
|
+
#: venv/lib/python3.10/site-packages/click/shell_completion.py:326
|
353
|
+
msgid "Shell completion is not supported for Bash versions older than 4.4."
|
354
|
+
msgstr ""
|
355
|
+
|
356
|
+
#: venv/lib/python3.10/site-packages/click/shell_completion.py:333
|
357
|
+
msgid "Couldn't detect Bash version, shell completion is not supported."
|
358
|
+
msgstr ""
|
359
|
+
|
360
|
+
#: venv/lib/python3.10/site-packages/click/termui.py:162
|
361
|
+
msgid "Repeat for confirmation"
|
362
|
+
msgstr ""
|
363
|
+
|
364
|
+
#: venv/lib/python3.10/site-packages/click/termui.py:178
|
365
|
+
msgid "Error: The value you entered was invalid."
|
366
|
+
msgstr ""
|
367
|
+
|
368
|
+
#: venv/lib/python3.10/site-packages/click/termui.py:180
|
369
|
+
#, python-brace-format
|
370
|
+
msgid "Error: {e.message}"
|
371
|
+
msgstr ""
|
372
|
+
|
373
|
+
#: venv/lib/python3.10/site-packages/click/termui.py:191
|
374
|
+
msgid "Error: The two entered values do not match."
|
375
|
+
msgstr ""
|
376
|
+
|
377
|
+
#: venv/lib/python3.10/site-packages/click/termui.py:247
|
378
|
+
msgid "Error: invalid input"
|
379
|
+
msgstr ""
|
380
|
+
|
381
|
+
#: venv/lib/python3.10/site-packages/click/termui.py:611
|
382
|
+
#: venv/lib/python3.10/site-packages/click/termui.py:617
|
383
|
+
#, python-brace-format
|
384
|
+
msgid "Unknown color {colour!r}"
|
385
|
+
msgstr ""
|
386
|
+
|
387
|
+
#: venv/lib/python3.10/site-packages/click/termui.py:866
|
388
|
+
msgid "Press any key to continue..."
|
389
|
+
msgstr ""
|
390
|
+
|
391
|
+
#: venv/lib/python3.10/site-packages/click/types.py:340
|
392
|
+
#, python-brace-format
|
393
|
+
msgid ""
|
394
|
+
"Choose from:\n"
|
395
|
+
"\t{choices}"
|
396
|
+
msgstr ""
|
397
|
+
|
398
|
+
#: venv/lib/python3.10/site-packages/click/types.py:377
|
399
|
+
#, python-brace-format
|
400
|
+
msgid "{value!r} is not {choice}."
|
401
|
+
msgid_plural "{value!r} is not one of {choices}."
|
402
|
+
msgstr[0] ""
|
403
|
+
msgstr[1] ""
|
404
|
+
|
405
|
+
#: venv/lib/python3.10/site-packages/click/types.py:383
|
406
|
+
#, python-brace-format
|
407
|
+
msgid "Choice({choices})"
|
408
|
+
msgstr ""
|
409
|
+
|
410
|
+
#: venv/lib/python3.10/site-packages/click/types.py:468
|
411
|
+
#, python-brace-format
|
412
|
+
msgid "{value!r} does not match the format {format}."
|
413
|
+
msgid_plural "{value!r} does not match the formats {formats}."
|
414
|
+
msgstr[0] ""
|
415
|
+
msgstr[1] ""
|
416
|
+
|
417
|
+
#: venv/lib/python3.10/site-packages/click/types.py:490
|
418
|
+
#, python-brace-format
|
419
|
+
msgid "{value!r} is not a valid {number_type}."
|
420
|
+
msgstr ""
|
421
|
+
|
422
|
+
#: venv/lib/python3.10/site-packages/click/types.py:546
|
423
|
+
#, python-brace-format
|
424
|
+
msgid "{value} is not in the range {range}."
|
425
|
+
msgstr ""
|
426
|
+
|
427
|
+
#: venv/lib/python3.10/site-packages/click/types.py:687
|
428
|
+
#, python-brace-format
|
429
|
+
msgid "{value!r} is not a valid boolean."
|
430
|
+
msgstr ""
|
431
|
+
|
432
|
+
#: venv/lib/python3.10/site-packages/click/types.py:711
|
433
|
+
#, python-brace-format
|
434
|
+
msgid "{value!r} is not a valid UUID."
|
435
|
+
msgstr ""
|
436
|
+
|
437
|
+
#: venv/lib/python3.10/site-packages/click/types.py:905
|
438
|
+
msgid "file"
|
439
|
+
msgstr ""
|
440
|
+
|
441
|
+
#: venv/lib/python3.10/site-packages/click/types.py:907
|
442
|
+
msgid "directory"
|
443
|
+
msgstr ""
|
444
|
+
|
445
|
+
#: venv/lib/python3.10/site-packages/click/types.py:909
|
446
|
+
msgid "path"
|
447
|
+
msgstr ""
|
448
|
+
|
449
|
+
#: venv/lib/python3.10/site-packages/click/types.py:956
|
450
|
+
#, python-brace-format
|
451
|
+
msgid "{name} {filename!r} does not exist."
|
452
|
+
msgstr ""
|
453
|
+
|
454
|
+
#: venv/lib/python3.10/site-packages/click/types.py:965
|
455
|
+
#, python-brace-format
|
456
|
+
msgid "{name} {filename!r} is a file."
|
457
|
+
msgstr ""
|
458
|
+
|
459
|
+
#: venv/lib/python3.10/site-packages/click/types.py:973
|
460
|
+
#, python-brace-format
|
461
|
+
msgid "{name} {filename!r} is a directory."
|
462
|
+
msgstr ""
|
463
|
+
|
464
|
+
#: venv/lib/python3.10/site-packages/click/types.py:982
|
465
|
+
#, python-brace-format
|
466
|
+
msgid "{name} {filename!r} is not readable."
|
467
|
+
msgstr ""
|
468
|
+
|
469
|
+
#: venv/lib/python3.10/site-packages/click/types.py:991
|
470
|
+
#, python-brace-format
|
471
|
+
msgid "{name} {filename!r} is not writable."
|
472
|
+
msgstr ""
|
473
|
+
|
474
|
+
#: venv/lib/python3.10/site-packages/click/types.py:1000
|
475
|
+
#, python-brace-format
|
476
|
+
msgid "{name} {filename!r} is not executable."
|
477
|
+
msgstr ""
|
478
|
+
|
479
|
+
#: venv/lib/python3.10/site-packages/click/types.py:1067
|
480
|
+
#, python-brace-format
|
481
|
+
msgid "{len_type} values are required, but {len_value} was given."
|
482
|
+
msgid_plural "{len_type} values are required, but {len_value} were given."
|
483
|
+
msgstr[0] ""
|
484
|
+
msgstr[1] ""
|
485
|
+
|
486
|
+
#: venv/lib/python3.10/site-packages/click/types.py:1130
|
487
|
+
#, python-brace-format
|
488
|
+
msgid "Attempted to use an uninstantiated parameter type ({type})."
|
489
|
+
msgstr ""
|
490
|
+
|
491
|
+
#: venv/lib/python3.10/site-packages/click/utils.py:342
|
492
|
+
#: venv/lib/python3.10/site-packages/click/utils.py:363
|
493
|
+
#, python-brace-format
|
494
|
+
msgid "Unknown standard stream '{name}'"
|
495
|
+
msgstr ""
|
496
|
+
|
artefacts/cli/other.py
CHANGED
@@ -23,6 +23,7 @@ def run_other_tests(run):
|
|
23
23
|
if "params" in scenario:
|
24
24
|
generate_parameter_output(scenario["params"])
|
25
25
|
full_env = {**os.environ, **scenario.get("params", {})}
|
26
|
+
full_env["ARTEFACTS_SCENARIO_PARAMS_FILE"] = TMP_SCENARIO_PARAMS_YAML
|
26
27
|
|
27
28
|
command = scenario["run"]
|
28
29
|
run_and_save_logs(
|
artefacts/cli/ros1.py
CHANGED
@@ -4,6 +4,7 @@ from glob import glob
|
|
4
4
|
import os
|
5
5
|
import logging
|
6
6
|
|
7
|
+
from .i18n import localise
|
7
8
|
from .utils import run_and_save_logs
|
8
9
|
from .utils_ros import parse_tests_results
|
9
10
|
from .parameters import TMP_RUNTIME_PARAMS_YAML, TMP_SCENARIO_PARAMS_YAML
|
@@ -50,7 +51,9 @@ def generate_rosbag_args(scenario: dict) -> str:
|
|
50
51
|
return topics
|
51
52
|
else:
|
52
53
|
logging.warning(
|
53
|
-
|
54
|
+
localise(
|
55
|
+
"[warning in generate_rosbag_args] rosbag_record asks for 'subscriptions' but they are not specified. Falling back to default: no rosbag will be recorded"
|
56
|
+
)
|
54
57
|
)
|
55
58
|
return "none"
|
56
59
|
else:
|
@@ -101,10 +104,20 @@ def get_result_path(scenario, PKGDIR, PACKAGE):
|
|
101
104
|
)
|
102
105
|
return test_result_file_path
|
103
106
|
except Exception as e:
|
104
|
-
logging.error(f"[Exception in get_result_path()] {e}")
|
105
107
|
logging.error(
|
106
|
-
|
107
|
-
|
108
|
+
localise("[Exception in get_result_path()] {message}".format(message=e))
|
109
|
+
)
|
110
|
+
logging.error(
|
111
|
+
localise(
|
112
|
+
"Unable to parse the ros1 .launch specified ({testfile}) and the <test> tag within to find the unittest test method's name.".format(
|
113
|
+
testfile=scenario["ros_testfile"]
|
114
|
+
)
|
115
|
+
)
|
116
|
+
)
|
117
|
+
logging.error(
|
118
|
+
localise(
|
119
|
+
"Please ensure all ROS and unittest naming conventions are respected. Exiting.."
|
120
|
+
)
|
108
121
|
)
|
109
122
|
return None
|
110
123
|
|
@@ -210,12 +223,14 @@ def run_ros1_tests(run):
|
|
210
223
|
new_rosbags = set(rosbags).difference(set(preexisting_rosbags))
|
211
224
|
if len(new_rosbags) > 0:
|
212
225
|
new_rosbag = new_rosbags.pop()
|
213
|
-
logging.info(
|
226
|
+
logging.info(
|
227
|
+
localise("New rosbag found: {file_name}".format(file_name=new_rosbag))
|
228
|
+
)
|
214
229
|
# upload rosbag to dashboard
|
215
230
|
run.log_single_artifact(new_rosbag, "rosbag")
|
216
231
|
# perform any post processing, using the rosbag
|
217
232
|
if "rosbag_postprocess" in scenario.keys():
|
218
|
-
logging.info("starting rosbag postprocess")
|
233
|
+
logging.info(localise("starting rosbag postprocess"))
|
219
234
|
post_process_folder = os.path.expanduser(f"{PKGDIR}/{PACKAGE}_postprocess")
|
220
235
|
os.makedirs(post_process_folder, exist_ok=True)
|
221
236
|
existing_files = glob(f"{post_process_folder}/*")
|
artefacts/cli/ros2.py
CHANGED
@@ -1,7 +1,10 @@
|
|
1
|
-
import yaml
|
2
1
|
from glob import glob
|
3
2
|
import os
|
4
3
|
import shutil
|
4
|
+
|
5
|
+
import yaml
|
6
|
+
|
7
|
+
from .i18n import localise
|
5
8
|
from .utils import run_and_save_logs
|
6
9
|
from .utils_ros import parse_tests_results, get_TestSuite_error_result
|
7
10
|
from .parameters import TMP_SCENARIO_PARAMS_YAML
|
@@ -65,7 +68,11 @@ def generate_scenario_parameter_output(params: dict, param_file: str):
|
|
65
68
|
try:
|
66
69
|
node, pname = k.split("/")
|
67
70
|
except Exception:
|
68
|
-
print(
|
71
|
+
print(
|
72
|
+
localise(
|
73
|
+
"Problem with parameter name. Please ensure params are in the format `node/param`"
|
74
|
+
)
|
75
|
+
)
|
69
76
|
return
|
70
77
|
if node not in content:
|
71
78
|
content[node] = {"ros__parameters": {}}
|
@@ -128,7 +135,7 @@ def run_ros2_tests(run):
|
|
128
135
|
},
|
129
136
|
output_path=os.path.join(run.output_path, "test_process_log.txt"),
|
130
137
|
)
|
131
|
-
except Launch_test_CmdNotFoundError
|
138
|
+
except Launch_test_CmdNotFoundError:
|
132
139
|
# raise Exception(
|
133
140
|
# f"Running {scenario['ros_testfile']} failed. Please check that the launch file exists."
|
134
141
|
# )
|
artefacts/cli/utils.py
CHANGED
@@ -8,7 +8,7 @@ import click
|
|
8
8
|
|
9
9
|
import artefacts_copava as copava
|
10
10
|
from artefacts import ARTEFACTS_DEFAULT_OUTPUT_DIR
|
11
|
-
from artefacts.cli import WarpRun
|
11
|
+
from artefacts.cli import WarpRun, localise
|
12
12
|
|
13
13
|
|
14
14
|
def run_and_save_logs(
|
@@ -74,13 +74,17 @@ def ensure_available(package: str) -> None:
|
|
74
74
|
def read_config(filename: str) -> dict:
|
75
75
|
try:
|
76
76
|
with open(filename) as f:
|
77
|
-
return copava.parse(f.read())
|
77
|
+
return copava.parse(f.read()) or {}
|
78
78
|
except FileNotFoundError:
|
79
|
-
raise click.ClickException(
|
79
|
+
raise click.ClickException(
|
80
|
+
localise(
|
81
|
+
"Project config file {file_name} not found.".format(file_name=filename)
|
82
|
+
)
|
83
|
+
)
|
80
84
|
|
81
85
|
|
82
86
|
# Click callback syntax
|
83
|
-
def config_validation(context:
|
87
|
+
def config_validation(context: click.Context, param: str, value: str) -> str:
|
84
88
|
if context.params.get("skip_validation", False):
|
85
89
|
return value
|
86
90
|
config = read_config(value)
|