hardpy 0.19.0__tar.gz → 0.19.1__tar.gz
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.
- {hardpy-0.19.0 → hardpy-0.19.1}/PKG-INFO +2 -1
- {hardpy-0.19.0 → hardpy-0.19.1}/README.md +1 -0
- hardpy-0.19.1/hardpy/hardpy_panel/frontend/dist/locales/cs/translation.json +85 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/plugin.py +24 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/pytest_wrapper.py +6 -1
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/reporter/hook_reporter.py +18 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/pyproject.toml +1 -1
- {hardpy-0.19.0 → hardpy-0.19.1}/.gitignore +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/LICENSE +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/__init__.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/cli/__init__.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/cli/cli.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/cli/template.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/common/__init__.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/common/config.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/common/singleton.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/common/stand_cloud/__init__.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/common/stand_cloud/connector.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/common/stand_cloud/exception.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/common/stand_cloud/oauth2.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/common/stand_cloud/registration.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/common/stand_cloud/token_manager.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/common/stand_cloud/utils.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/__init__.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/api.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/assets/allPaths-C_-7WXHD.js +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/assets/allPathsLoader-DgH0Xily.js +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/assets/blueprint-icons-16-B2twAPZE.ttf +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/assets/blueprint-icons-16-C0Unyq1d.eot +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/assets/blueprint-icons-16-CVy9qFng.svg +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/assets/blueprint-icons-16-Ck1ifK4A.woff +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/assets/blueprint-icons-16-DwWyHYRo.woff2 +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/assets/blueprint-icons-20-9zitLjlL.woff2 +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/assets/blueprint-icons-20-CjKGIKxE.woff +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/assets/blueprint-icons-20-DQ09GSQq.svg +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/assets/blueprint-icons-20-DmR755bS.ttf +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/assets/blueprint-icons-20-p9MhBXD8.eot +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/assets/browser-ponyfill-BbOvdqIF.js +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/assets/index-B-fsa5Ru.js +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/assets/index-B7T9xvaW.css +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/assets/index-DEJb2W0B.js +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/assets/index-DLOviMB1.js +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/assets/logo_smol-CK3jE85c.png +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/assets/splitPathsBySizeLoader-o5HCcdVL.js +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/favicon.ico +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/index.html +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/locales/de/translation.json +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/locales/en/translation.json +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/locales/es/translation.json +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/locales/fr/translation.json +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/locales/ja/translation.json +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/locales/ru/translation.json +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/locales/zh/translation.json +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/logo192.png +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/logo512.png +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/manifest.json +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/__init__.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/db/__init__.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/db/base_store.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/db/const.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/db/runstore.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/db/schema/__init__.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/db/schema/v1.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/db/stand_type.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/db/statestore.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/db/tempstore.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/pytest_call.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/reporter/__init__.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/reporter/base.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/reporter/runner_reporter.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/result/__init__.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/result/couchdb_config.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/result/report_loader/__init__.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/result/report_loader/couchdb_loader.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/result/report_loader/stand_cloud_loader.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/result/report_reader/__init__.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/result/report_reader/couchdb_reader.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/result/report_reader/stand_cloud_reader.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/result/report_synchronizer/__init__.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/result/report_synchronizer/synchronizer.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/utils/__init__.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/utils/const.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/utils/dialog_box.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/utils/exception.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/utils/machineid.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/utils/node_info.py +0 -0
- {hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/utils/progress_calculator.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hardpy
|
|
3
|
-
Version: 0.19.
|
|
3
|
+
Version: 0.19.1
|
|
4
4
|
Summary: HardPy library for device testing
|
|
5
5
|
Project-URL: Homepage, https://github.com/everypinio/hardpy/
|
|
6
6
|
Project-URL: Documentation, https://everypinio.github.io/hardpy/
|
|
@@ -69,6 +69,7 @@ HardPy is a python library for creating a test bench for devices.
|
|
|
69
69
|
[](https://docs.pytest.org/en/latest/)
|
|
70
70
|
[](https://everypinio.github.io/hardpy/)
|
|
71
71
|
[](https://www.reddit.com/r/HardPy)
|
|
72
|
+
[]()
|
|
72
73
|
[](https://t.me/everypin)
|
|
73
74
|
|
|
74
75
|
</div>
|
|
@@ -13,6 +13,7 @@ HardPy is a python library for creating a test bench for devices.
|
|
|
13
13
|
[](https://docs.pytest.org/en/latest/)
|
|
14
14
|
[](https://everypinio.github.io/hardpy/)
|
|
15
15
|
[](https://www.reddit.com/r/HardPy)
|
|
16
|
+
[]()
|
|
16
17
|
[](https://t.me/everypin)
|
|
17
18
|
|
|
18
19
|
</div>
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
{
|
|
2
|
+
"app": {
|
|
3
|
+
"title": "HardPy Panel operátora",
|
|
4
|
+
"lastLaunch": "Poslední běh:",
|
|
5
|
+
"duration": "Doba trvání",
|
|
6
|
+
"seconds": "s",
|
|
7
|
+
"soundOn": "Zapnout zvuk",
|
|
8
|
+
"soundOff": "Vypnout zvuk",
|
|
9
|
+
"debugOn": "Zapnout režim ladění",
|
|
10
|
+
"debugOff": "Vypnout režim ladění",
|
|
11
|
+
"connection": "Navazuji spojení... 🧐🔎",
|
|
12
|
+
"dbError": "Chyba připojení k databázi. 🙅🏽♀️🚫",
|
|
13
|
+
"noEntries": "Žádné záznamy v databázi 🙅🏽♀️🚫",
|
|
14
|
+
"stoppedTestCase": "Zastavený test",
|
|
15
|
+
"failedTestCases": "Testy selhaly",
|
|
16
|
+
"modalResultDismissHint": "Klikněte kamkoliv nebo stiskněte libovolnou klávesu pro zavření",
|
|
17
|
+
"modalResultAutoDismissHint": "Automaticky zmizí za {{seconds}} sekund...",
|
|
18
|
+
"manualCollectOn": "Zapnout manuální výběr testů",
|
|
19
|
+
"manualCollectOff": "Vypnout manuální výběr testů",
|
|
20
|
+
"testConfigurationSelector": "Vyberte testovací konfiguraci",
|
|
21
|
+
"status": {
|
|
22
|
+
"ready": "Připraveno",
|
|
23
|
+
"run": "Běží",
|
|
24
|
+
"passed": "Uspěl",
|
|
25
|
+
"failed": "Neuspěl",
|
|
26
|
+
"stopped": "Zastaveno",
|
|
27
|
+
"unknown": "Neznámý"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"button": {
|
|
31
|
+
"start": "Začít",
|
|
32
|
+
"stop": "Zastavit",
|
|
33
|
+
"confirm": "Potvrdit",
|
|
34
|
+
"pass": "OK",
|
|
35
|
+
"fail": "Zrušit"
|
|
36
|
+
},
|
|
37
|
+
"error": {
|
|
38
|
+
"dbConnectionTitle": "Chyba připojení k databázi",
|
|
39
|
+
"dbConnectionMessage": "Nepodařilo se navázat spojení s databází"
|
|
40
|
+
},
|
|
41
|
+
"chart": {
|
|
42
|
+
"dataChart": "Grafy",
|
|
43
|
+
"xAxis": "Osa X",
|
|
44
|
+
"yAxis": "Osa Y",
|
|
45
|
+
"chart": "Graf",
|
|
46
|
+
"showChart": "Zobrazit graf {{title}}",
|
|
47
|
+
"fullscreenButton": "Otevřít graf na celé obrazovce",
|
|
48
|
+
"series": "Řada {{number}}"
|
|
49
|
+
},
|
|
50
|
+
"operatorDialog": {
|
|
51
|
+
"defaultTitle": "Zpráva",
|
|
52
|
+
"imageAlt": "Obrázek pro operátora",
|
|
53
|
+
"htmlCodeTitle": "HTML kód",
|
|
54
|
+
"htmlLinkTitle": "HTML odkaz",
|
|
55
|
+
"enterAnswer": "Zadejte odpověď",
|
|
56
|
+
"fieldNotEmpty": "Pole nesmí být prázdné",
|
|
57
|
+
"notificationTitle": "Oznámení",
|
|
58
|
+
"notificationDesc": "Okno bylo uzavřeno. Testy byly zastaveny.",
|
|
59
|
+
"numericInputError": "Zadejte prosím číslo",
|
|
60
|
+
"radioButtonError": "Vyberte prosím jednu možnost",
|
|
61
|
+
"checkboxError": "Vyberte prosím alespoň jednu možnost"
|
|
62
|
+
},
|
|
63
|
+
"suiteList": {
|
|
64
|
+
"loadingTests": "Načítání testů... 🤔",
|
|
65
|
+
"refreshHint": "Zkuste aktualizovat stránku.",
|
|
66
|
+
"standName": "Název stanoviště",
|
|
67
|
+
"status": "Stav",
|
|
68
|
+
"startTime": "Čas zahájení",
|
|
69
|
+
"finishTime": "Čas dokončení",
|
|
70
|
+
"alert": "Upozornění"
|
|
71
|
+
},
|
|
72
|
+
"testSuite": {
|
|
73
|
+
"nameColumn": "Název",
|
|
74
|
+
"dataColumn": "Údaje",
|
|
75
|
+
"loading": "Načítám...",
|
|
76
|
+
"stubName": "Sada testů",
|
|
77
|
+
"runSelectedTests": "Spustit {{count}} vybrané testy",
|
|
78
|
+
"noTestsSelected": "Nebyly vybrány žádné testy",
|
|
79
|
+
"testsStarted": "Zahájené testy {{count}}",
|
|
80
|
+
"startError": "Chyba při spouštění testů",
|
|
81
|
+
"connectionError": "Chyba připojení",
|
|
82
|
+
"selectionColumn": "Vybrat",
|
|
83
|
+
"skipped": "Přeskočeno"
|
|
84
|
+
}
|
|
85
|
+
}
|
|
@@ -205,6 +205,7 @@ class HardpyPlugin:
|
|
|
205
205
|
status = self._get_run_status(exitstatus)
|
|
206
206
|
if status == TestStatus.STOPPED:
|
|
207
207
|
self._stop_tests()
|
|
208
|
+
self._validate_stop_time()
|
|
208
209
|
self._reporter.finish(status)
|
|
209
210
|
self._reporter.update_db_by_doc()
|
|
210
211
|
self._reporter.compact_all()
|
|
@@ -483,6 +484,29 @@ class HardpyPlugin:
|
|
|
483
484
|
case _:
|
|
484
485
|
return TestStatus.FAILED
|
|
485
486
|
|
|
487
|
+
def _validate_stop_time(self) -> None:
|
|
488
|
+
"""Update module and case stop times if they are not set.
|
|
489
|
+
|
|
490
|
+
If module start time is set but module stop time is not set,
|
|
491
|
+
set module stop time to module start time.
|
|
492
|
+
If case start time is set but case stop time is not set, set
|
|
493
|
+
case stop time to case start time.
|
|
494
|
+
"""
|
|
495
|
+
for module_id, module_data in self._results.items():
|
|
496
|
+
module_start_time = self._reporter.get_module_start_time(module_id)
|
|
497
|
+
module_stop_time = self._reporter.get_module_stop_time(module_id)
|
|
498
|
+
if module_start_time and not module_stop_time:
|
|
499
|
+
self._reporter.set_module_stop_time(module_start_time)
|
|
500
|
+
for module_data_key in module_data:
|
|
501
|
+
# skip module status
|
|
502
|
+
if module_data_key == "module_status":
|
|
503
|
+
continue
|
|
504
|
+
case_id = module_data_key
|
|
505
|
+
case_start_time = self._reporter.get_case_start_time(module_id, case_id)
|
|
506
|
+
case_stop_time = self._reporter.get_case_stop_time(module_id, case_id)
|
|
507
|
+
if case_start_time and not case_stop_time:
|
|
508
|
+
self._reporter.set_case_stop_time(case_start_time)
|
|
509
|
+
|
|
486
510
|
def _stop_tests(self) -> None:
|
|
487
511
|
"""Update module and case statuses to stopped and skipped."""
|
|
488
512
|
is_module_stopped = False
|
|
@@ -208,11 +208,16 @@ class PyTestWrapper:
|
|
|
208
208
|
return config_manager.config.model_dump()
|
|
209
209
|
|
|
210
210
|
def _tests_name(self) -> str:
|
|
211
|
-
|
|
211
|
+
manual_str = ""
|
|
212
|
+
if self.config.frontend.manual_collect:
|
|
213
|
+
manual_str = " Manual mode"
|
|
214
|
+
|
|
215
|
+
tests_name = (
|
|
212
216
|
self.config.tests_name + f" {self.config.current_test_config}"
|
|
213
217
|
if self.config.current_test_config
|
|
214
218
|
else self.config.tests_name
|
|
215
219
|
)
|
|
220
|
+
return tests_name + manual_str
|
|
216
221
|
|
|
217
222
|
def _add_config_file(self, cmd: list) -> None:
|
|
218
223
|
"""Add test configuration file if specified."""
|
|
@@ -231,6 +231,15 @@ class HookReporter(BaseReporter):
|
|
|
231
231
|
key = self.generate_key(DF.MODULES, module_id, DF.START_TIME)
|
|
232
232
|
return self._statestore.get_field(key)
|
|
233
233
|
|
|
234
|
+
def get_module_stop_time(self, module_id: str) -> int:
|
|
235
|
+
"""Get module stop time.
|
|
236
|
+
|
|
237
|
+
Returns:
|
|
238
|
+
int: module time
|
|
239
|
+
"""
|
|
240
|
+
key = self.generate_key(DF.MODULES, module_id, DF.STOP_TIME)
|
|
241
|
+
return self._statestore.get_field(key)
|
|
242
|
+
|
|
234
243
|
def get_case_start_time(self, module_id: str, case_id: str) -> int:
|
|
235
244
|
"""Get case start time.
|
|
236
245
|
|
|
@@ -240,6 +249,15 @@ class HookReporter(BaseReporter):
|
|
|
240
249
|
key = self.generate_key(DF.MODULES, module_id, DF.CASES, case_id, DF.START_TIME)
|
|
241
250
|
return self._statestore.get_field(key)
|
|
242
251
|
|
|
252
|
+
def get_case_stop_time(self, module_id: str, case_id: str) -> int:
|
|
253
|
+
"""Get case stop time.
|
|
254
|
+
|
|
255
|
+
Returns:
|
|
256
|
+
int: module time
|
|
257
|
+
"""
|
|
258
|
+
key = self.generate_key(DF.MODULES, module_id, DF.CASES, case_id, DF.STOP_TIME)
|
|
259
|
+
return self._statestore.get_field(key)
|
|
260
|
+
|
|
243
261
|
def set_caused_dut_failure_id(self, module_id: str, case_id: str) -> None:
|
|
244
262
|
"""Set caused DUT failure id.
|
|
245
263
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/assets/allPaths-C_-7WXHD.js
RENAMED
|
File without changes
|
{hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/assets/allPathsLoader-DgH0Xily.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/assets/logo_smol-CK3jE85c.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/locales/de/translation.json
RENAMED
|
File without changes
|
{hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/locales/en/translation.json
RENAMED
|
File without changes
|
{hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/locales/es/translation.json
RENAMED
|
File without changes
|
{hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/locales/fr/translation.json
RENAMED
|
File without changes
|
{hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/locales/ja/translation.json
RENAMED
|
File without changes
|
{hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/locales/ru/translation.json
RENAMED
|
File without changes
|
{hardpy-0.19.0 → hardpy-0.19.1}/hardpy/hardpy_panel/frontend/dist/locales/zh/translation.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/result/report_loader/stand_cloud_loader.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/result/report_reader/stand_cloud_reader.py
RENAMED
|
File without changes
|
|
File without changes
|
{hardpy-0.19.0 → hardpy-0.19.1}/hardpy/pytest_hardpy/result/report_synchronizer/synchronizer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|