arthexis 0.1.12__py3-none-any.whl → 0.1.14__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.
Potentially problematic release.
This version of arthexis might be problematic. Click here for more details.
- {arthexis-0.1.12.dist-info → arthexis-0.1.14.dist-info}/METADATA +222 -221
- arthexis-0.1.14.dist-info/RECORD +109 -0
- {arthexis-0.1.12.dist-info → arthexis-0.1.14.dist-info}/licenses/LICENSE +674 -674
- config/__init__.py +5 -5
- config/active_app.py +15 -15
- config/asgi.py +43 -29
- config/auth_app.py +7 -7
- config/celery.py +32 -25
- config/context_processors.py +67 -69
- config/horologia_app.py +7 -7
- config/loadenv.py +11 -11
- config/logging.py +59 -48
- config/middleware.py +25 -25
- config/offline.py +49 -49
- config/settings.py +691 -716
- config/settings_helpers.py +109 -0
- config/urls.py +171 -166
- config/wsgi.py +17 -17
- core/admin.py +3771 -2772
- core/admin_history.py +50 -50
- core/admindocs.py +151 -151
- core/apps.py +356 -272
- core/auto_upgrade.py +57 -57
- core/backends.py +265 -236
- core/changelog.py +342 -0
- core/entity.py +133 -133
- core/environment.py +61 -61
- core/fields.py +168 -168
- core/form_fields.py +75 -0
- core/github_helper.py +188 -25
- core/github_issues.py +178 -172
- core/github_repos.py +72 -0
- core/lcd_screen.py +78 -78
- core/liveupdate.py +25 -25
- core/log_paths.py +100 -100
- core/mailer.py +85 -85
- core/middleware.py +91 -91
- core/models.py +3609 -2672
- core/notifications.py +105 -105
- core/public_wifi.py +267 -227
- core/reference_utils.py +108 -108
- core/release.py +721 -350
- core/rfid_import_export.py +113 -0
- core/sigil_builder.py +149 -149
- core/sigil_context.py +20 -20
- core/sigil_resolver.py +315 -315
- core/system.py +752 -493
- core/tasks.py +408 -394
- core/temp_passwords.py +181 -181
- core/test_system_info.py +186 -139
- core/tests.py +2095 -1511
- core/tests_liveupdate.py +17 -17
- core/urls.py +11 -11
- core/user_data.py +641 -633
- core/views.py +2175 -1382
- core/widgets.py +213 -51
- core/workgroup_urls.py +17 -17
- core/workgroup_views.py +94 -94
- nodes/admin.py +1720 -898
- nodes/apps.py +87 -70
- nodes/backends.py +160 -160
- nodes/dns.py +203 -203
- nodes/feature_checks.py +133 -133
- nodes/lcd.py +165 -165
- nodes/models.py +1737 -1416
- nodes/reports.py +411 -411
- nodes/rfid_sync.py +195 -0
- nodes/signals.py +18 -0
- nodes/tasks.py +46 -46
- nodes/tests.py +3810 -2497
- nodes/urls.py +15 -13
- nodes/utils.py +121 -105
- nodes/views.py +683 -451
- ocpp/admin.py +948 -804
- ocpp/apps.py +25 -25
- ocpp/consumers.py +1565 -1342
- ocpp/evcs.py +844 -931
- ocpp/evcs_discovery.py +158 -158
- ocpp/models.py +917 -915
- ocpp/reference_utils.py +42 -42
- ocpp/routing.py +11 -9
- ocpp/simulator.py +745 -724
- ocpp/status_display.py +26 -0
- ocpp/store.py +601 -541
- ocpp/tasks.py +31 -31
- ocpp/test_export_import.py +130 -130
- ocpp/test_rfid.py +913 -702
- ocpp/tests.py +4445 -3485
- ocpp/transactions_io.py +189 -179
- ocpp/urls.py +50 -50
- ocpp/views.py +1479 -1151
- pages/admin.py +708 -536
- pages/apps.py +10 -10
- pages/checks.py +40 -40
- pages/context_processors.py +127 -119
- pages/defaults.py +13 -13
- pages/forms.py +198 -169
- pages/middleware.py +205 -153
- pages/models.py +607 -426
- pages/tests.py +2612 -2083
- pages/urls.py +25 -25
- pages/utils.py +12 -12
- pages/views.py +1165 -1120
- arthexis-0.1.12.dist-info/RECORD +0 -102
- nodes/actions.py +0 -70
- {arthexis-0.1.12.dist-info → arthexis-0.1.14.dist-info}/WHEEL +0 -0
- {arthexis-0.1.12.dist-info → arthexis-0.1.14.dist-info}/top_level.txt +0 -0
arthexis-0.1.12.dist-info/RECORD
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
arthexis-0.1.12.dist-info/licenses/LICENSE,sha256=IwGE9guuL-ryRPEKi6wFPI_zOhg7zDZbTYuHbSt_SAk,35823
|
|
2
|
-
config/__init__.py,sha256=8_b7rx_-Xcuzu3Z7mSR94q3PAhjyYqLFQi3IOEz6hcI,108
|
|
3
|
-
config/active_app.py,sha256=MET_G7oHL7GkoSo3VkkMzymM-PwsSZazMLZxpgjFLTo,388
|
|
4
|
-
config/asgi.py,sha256=n09URedOmQ_59II3UCl3iodGSDWOuN_A8DFyfLjuylA,803
|
|
5
|
-
config/auth_app.py,sha256=2NkC_iYQxnpbv0gYxW4xp5DgQtdkVLpa-JzAF-638ZE,205
|
|
6
|
-
config/celery.py,sha256=qRTHgNYfT2OyIz4cW49YiiKgVgzLs2mSfAEQBgso0M4,743
|
|
7
|
-
config/context_processors.py,sha256=bjLSqbz7Qw6knPosIc4KNFEl5HsJHOe23htoNsul40E,2404
|
|
8
|
-
config/horologia_app.py,sha256=u1hTYcEmIqh82Gt5YNPvR5ta2MnVatELvD9ByFrCH1A,194
|
|
9
|
-
config/loadenv.py,sha256=bhFbHTbRJSkSwrFk3UInKEKQ8ZY-poatOGi7rC57YAI,298
|
|
10
|
-
config/logging.py,sha256=334jADN4dM5GNHaCWlYPOKYa5BhfxbsuejH_QDALG6g,1793
|
|
11
|
-
config/middleware.py,sha256=EvraDumepnKwCDswHGXb1mK7vud_dEEoZ4eh0IQ7fhQ,744
|
|
12
|
-
config/offline.py,sha256=mhQjCUzdOwSzZ6oLgPDJR48xaPIDzOi34ARUEz43seE,1431
|
|
13
|
-
config/settings.py,sha256=SVsBKHoGYix3oHKlFAB4zjYRSQ1r-E9NREFYRvmcc1o,22710
|
|
14
|
-
config/urls.py,sha256=MmbES50lTHyMZ6risgXAGfevncN7j4HC74jR4PX_5xY,5228
|
|
15
|
-
config/wsgi.py,sha256=Fu-ONO2SgYeU6rhmy909P-uLX-n8ALJQObdm9MHPS-k,450
|
|
16
|
-
core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
-
core/admin.py,sha256=P7Mbh_POpxrqzLCMf6YH3axhDbJPMQWQyTOKV9Z88UA,101803
|
|
18
|
-
core/admin_history.py,sha256=NIDWkosJoHMaucBvUjq8VmmL-0e8ngJ4l4XA89d4jwQ,1833
|
|
19
|
-
core/admindocs.py,sha256=GufdugiNEG87xGSDYVq4CBMhGRubsQCzgz-FqDIqzpM,5367
|
|
20
|
-
core/apps.py,sha256=Kyv7vnYPBWDg21uYyUo1aOki0Rb5zC3_3LRJTgEHE3s,11236
|
|
21
|
-
core/auto_upgrade.py,sha256=BkoE7rJuYAmwoMux22NqujWZYjYXtN40GBloC0sNMY4,1799
|
|
22
|
-
core/backends.py,sha256=VsZZwskII6QLnxP6Ff593V7o9lqXXfN2_bIfZXrvjyI,8222
|
|
23
|
-
core/entity.py,sha256=dkPywTVk981fV8bOEoZw-1SMrdh8T0jVAUZnRxg3dDg,4505
|
|
24
|
-
core/environment.py,sha256=egNX3vP9xRJt0dqxNZFXi25ZMhe3IZH3Vjne1_k7hxo,1645
|
|
25
|
-
core/fields.py,sha256=4nJ_tngso8NHs6HBl8nn5PWvbcOiuAgkoM6hixrFm64,5580
|
|
26
|
-
core/github_helper.py,sha256=k9LmxL0Ec5MzFwZsbMpWMMJ-5tGMe-5yRoI8V0sbFsw,682
|
|
27
|
-
core/github_issues.py,sha256=LKqt-Ilx5TRYnx2LXttc54Nvuh3_1VRP0u_M3whe09c,4963
|
|
28
|
-
core/lcd_screen.py,sha256=mkKtIJjHGDLaV4t80L-JScsZXbLhlYUDknAcvV9Ijr0,2651
|
|
29
|
-
core/liveupdate.py,sha256=kTgbE2gnU3PPIV-88Bw2swSl1aGp6stSdBYqBFbLvx0,716
|
|
30
|
-
core/log_paths.py,sha256=6UXYk6QIUmRO3ecFaFH3dgJ_pf4C_wUN6b0JqUhLVBY,3045
|
|
31
|
-
core/mailer.py,sha256=OF3UgrTVs2St60tQG3ORV7_N6AWK6EtuB04KQXDop_Q,2829
|
|
32
|
-
core/middleware.py,sha256=a4XL0pld4YiG-vanHrzYbJNHv64s75lvmG9inoG1ln0,3479
|
|
33
|
-
core/models.py,sha256=t38b5raQFARB8MsjFkWm-vng65ITX3Ogtb_HuYZ3vqA,91507
|
|
34
|
-
core/notifications.py,sha256=YtNDGxNveZ6t3tlMXJ7wIaZZTWIZfOKy6vN9mXkeYnA,4021
|
|
35
|
-
core/public_wifi.py,sha256=A08IPJqcdgUKSWbktyqsV4ol8C0uxDxZy1s1ECuPdBE,6526
|
|
36
|
-
core/reference_utils.py,sha256=2AQxtUkEbArieu1FMz3rTTHKPCDTJhHp_7bhzQCkN3U,3735
|
|
37
|
-
core/release.py,sha256=zVDcN2k4NsIydQqSq33jmMdSSYgR-1xocFWBnzaIZhU,11179
|
|
38
|
-
core/sigil_builder.py,sha256=63KSTh7AohG0szr_amBov0zoZuTE8bWqmgsEfPsZHCg,4992
|
|
39
|
-
core/sigil_context.py,sha256=8xrGiB2L1dFfSTrVLsFPLKfkhRwCXXZ0-EXvZdPeTMU,459
|
|
40
|
-
core/sigil_resolver.py,sha256=PAGwF3ugsqN85tKyIvT0YCDCM2MU_Mct2mCJz8XY1s4,11413
|
|
41
|
-
core/system.py,sha256=iH3-Ymonn_wVAvTmg2fJBI81F0nDCcrSJsAwIlD4sR0,15212
|
|
42
|
-
core/tasks.py,sha256=9njUdJUZNtu23XfWhSxk5lX1kKuvckX0qamxlxTHFxA,12328
|
|
43
|
-
core/temp_passwords.py,sha256=Kp4C-y1Hh4GeV1vSOCw3ZyIjcRMts186lUgtEkd3rxY,5452
|
|
44
|
-
core/test_system_info.py,sha256=sHCuo-qyw0BKacbGXFhTWxkuPgywdMGiQ_6YK022n-E,4803
|
|
45
|
-
core/tests.py,sha256=wCzvp3HO2bewvYPN9OstYjqtCLLWhK1msYuZxBg-lQ4,61577
|
|
46
|
-
core/tests_liveupdate.py,sha256=D1o2gPopnK7wDCeDQlJ-tfitWh4umZQFRxSTCFY-puc,527
|
|
47
|
-
core/urls.py,sha256=x-LNCxCgrLINdBsJTUUcAuMS5EK5Sh1ybvsVuUnJfLw,436
|
|
48
|
-
core/user_data.py,sha256=kOzcWJcR-d05E7QYoNzKqQSm9bnKJvtG6zq0zRf-tDI,21371
|
|
49
|
-
core/views.py,sha256=o8gjDuBzo_7YXEdFt4_OJpuz1Zg4Y7srcesNr-DIYYs,49169
|
|
50
|
-
core/widgets.py,sha256=ihah_-NtFJ3oRCS3TdcT6iHCUTlg1tUULJsVCu05C0o,1379
|
|
51
|
-
core/workgroup_urls.py,sha256=2bC8mOMkxIj04WsNis0Td6AmmJFr6z27Ol5epIvhO28,424
|
|
52
|
-
core/workgroup_views.py,sha256=pFJ4PIRN3WWpRyombpWDKKteYQYoI7lu7ddSEKojD7I,2983
|
|
53
|
-
nodes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
54
|
-
nodes/actions.py,sha256=HHnwByTBc3guOORvrKOuvUFID-_BpBq6OENE_PDgk9s,2335
|
|
55
|
-
nodes/admin.py,sha256=VhTQawEOFnosSl5cQo_EnXYmeyHBjHCwSS44bMTbaeA,32766
|
|
56
|
-
nodes/apps.py,sha256=KijGydsQBS-8Q8uBc0ahDZXSSCMzP3tQcYIEigJxdCE,2077
|
|
57
|
-
nodes/backends.py,sha256=-g7PIbGtIn_3kGoi2w_mJ6zVjvUKTRRWhHABPnnf29g,6081
|
|
58
|
-
nodes/dns.py,sha256=X8PML9rPR7i6NwCSqqxnlO1qpHHRo8uA-XePDTQZYrY,7251
|
|
59
|
-
nodes/feature_checks.py,sha256=ZK9PufvF2pFWHUm4khg8lfHVNncA6zrMBxu-WZEw7-E,4129
|
|
60
|
-
nodes/lcd.py,sha256=7MqS3jV_De2ysSmTtXQfYTWaxdfbmm6YfNdb_7qIVZc,5923
|
|
61
|
-
nodes/models.py,sha256=aF_Bhbi54H2A3HuQiwsvTEwk6JAsImJjdAdL8OcHeTg,49040
|
|
62
|
-
nodes/reports.py,sha256=pQwwTa5E-JhUwQIbKKQvgD_Cw9556CH0ieRgRjBMnMQ,12470
|
|
63
|
-
nodes/tasks.py,sha256=jorbN4h0PqWMBRMFdkGgJtvG8GPFwGr5Hxlm5In3EeY,1568
|
|
64
|
-
nodes/tests.py,sha256=28oh6oAINpq8a-EknsB-GKU-4RYfnNSdedqV411W5Jg,100131
|
|
65
|
-
nodes/urls.py,sha256=20yZDZf4DNgIZ9hQWsUzjp8k5Fryg9ukk761_KGQt9k,548
|
|
66
|
-
nodes/utils.py,sha256=h3qVmCBBLyrh06FmDldprxfDQG7dgLw82Tf5PrU-5Qc,4120
|
|
67
|
-
nodes/views.py,sha256=lrT90AsOXeqpvkZnlCPv78mXILGJ8FwJzgsjU-wAZ4Y,15611
|
|
68
|
-
ocpp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
69
|
-
ocpp/admin.py,sha256=LUJw7fk5q336oAoftfGHs5_pbvEozjMPF69-WCTlAiM,26675
|
|
70
|
-
ocpp/apps.py,sha256=mCZ5Z0ei7z7c62luIcIhbEuwL1N4czQFSToOkGvRmms,867
|
|
71
|
-
ocpp/consumers.py,sha256=drfud7XSCP3zhrAc6ljzyrqM8K6VDPNFRs4Z_NeHfLk,57896
|
|
72
|
-
ocpp/evcs.py,sha256=O53rCHdxKcgPsj7o57rDiNHTVvEii3DTtQ3djWFTohw,34065
|
|
73
|
-
ocpp/evcs_discovery.py,sha256=47pWgqX1_JOT5BGSrIdEyuoPTGWN4b6rNjJr8kWeQCg,4034
|
|
74
|
-
ocpp/models.py,sha256=fZlqwPCq3LNHSE-RnGUqgFWI5FT_QyRandxujbxNZZs,32177
|
|
75
|
-
ocpp/reference_utils.py,sha256=sTgbXfmz00f23LBBkpO-sBGoJf1qaEshHeSofLReYCc,1114
|
|
76
|
-
ocpp/routing.py,sha256=g9vPnLw-D1N8L_mW0_oCe-nTDibjC0Et-SFxe8NFAOI,308
|
|
77
|
-
ocpp/simulator.py,sha256=hFwXuX8SaSJKEXWVWakyBxGa6ZbPvwa0PVTnKrXR1nw,28049
|
|
78
|
-
ocpp/store.py,sha256=OjGWT3WkpoahGpUwn_ZpIOsxgOnryoXXSwPCvFsLkzM,17410
|
|
79
|
-
ocpp/tasks.py,sha256=cOcJBshckFKs8GnACvmYZUBG116amtLRAzEP-JNqlZ0,905
|
|
80
|
-
ocpp/test_export_import.py,sha256=TK1__E4K5WrLYPIx-1iJWoIhuRCnOtXc2cYEpGigd3U,4660
|
|
81
|
-
ocpp/test_rfid.py,sha256=hX8VZ2HRyBGjtQLClZ1gy28dOj25RT2r9eK3l9XkmJg,25877
|
|
82
|
-
ocpp/tests.py,sha256=aQZBGmGzhzMh2GrEsunN50gRKUgtIqdD4Y4NbjsPt7E,138325
|
|
83
|
-
ocpp/transactions_io.py,sha256=sFCJvAU5IqWZ4rLvagy4gdcGVvH2rBZvNCfHTXDYJAs,7044
|
|
84
|
-
ocpp/urls.py,sha256=jl6AQLtmLMvrNXP3dQKgPe9Kvaul4oaYd80DskpzVBc,1750
|
|
85
|
-
ocpp/views.py,sha256=FyLt7_67IeteBDADoRkqO3WJGit9noiMs_5RVapwUfo,45669
|
|
86
|
-
pages/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
87
|
-
pages/admin.py,sha256=0D2ZGqOhMjk8LfXnPr0g0uMUPJl2qCgvDJz_2IS3WFM,16904
|
|
88
|
-
pages/apps.py,sha256=mfCxegmnRqKcszyEwpQhZpW9JWOuEYdVereU_w49BXg,298
|
|
89
|
-
pages/checks.py,sha256=an-MlMCIG-FSKmdgOhYV0VOoB_wDQD7dxKD03Hjrzts,1567
|
|
90
|
-
pages/context_processors.py,sha256=4lkk2mTzmsOKhDhQanWXuU2bbwow0h-1Zn5GWOrL2z4,4132
|
|
91
|
-
pages/defaults.py,sha256=cOhb5p_SneIsK6Qfn9SV1fyq7L3gDheWYo1xp7SplF8,535
|
|
92
|
-
pages/forms.py,sha256=xwQ1uKqZBrIjn9DJQIqZtn0u_xO46w9vSjKVX9Mt6pc,6349
|
|
93
|
-
pages/middleware.py,sha256=fUdAscLa6h2EqJTFUjhVijfSf82gBfm6XUZTVygWAnk,5227
|
|
94
|
-
pages/models.py,sha256=O4wtjD8jkZlguxEQFcvijSPM55KBjRBdhzvg0FHnxt4,14577
|
|
95
|
-
pages/tests.py,sha256=Pk0waQkWxi-5EZq44XOUGdhvZC1oXh8dy4j0FqRb6ns,84353
|
|
96
|
-
pages/urls.py,sha256=iwe4hvcr_ko-n4h24t6t2882eZp2qyLXeEYkrIahoGU,1067
|
|
97
|
-
pages/utils.py,sha256=7kik1W0Gk6SFxYGhg6shfI2W9Xdcv1sCpkRCQ883a88,311
|
|
98
|
-
pages/views.py,sha256=_7NqHt0omhAge63Fz6ukbbBE06oQzKgVoO5e3WtSMvk,43044
|
|
99
|
-
arthexis-0.1.12.dist-info/METADATA,sha256=nErwfvr1FpIptkmRFT7yLGLigaHdMcXaLL4iFUTEhXc,10137
|
|
100
|
-
arthexis-0.1.12.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
101
|
-
arthexis-0.1.12.dist-info/top_level.txt,sha256=J2a2q8_BWrCZ8H2WFUNMBfO2jz8j2gax6zZh-_1QDac,29
|
|
102
|
-
arthexis-0.1.12.dist-info/RECORD,,
|
nodes/actions.py
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from typing import Dict, Iterable, Optional, Type
|
|
4
|
-
|
|
5
|
-
from .models import Node
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class NodeAction:
|
|
9
|
-
"""Base class for actions that operate on a :class:`~nodes.models.Node`."""
|
|
10
|
-
|
|
11
|
-
#: Human friendly name for this action
|
|
12
|
-
display_name: str = ""
|
|
13
|
-
#: Short slug used in URLs
|
|
14
|
-
slug: str = ""
|
|
15
|
-
#: Description of the action
|
|
16
|
-
description: str = ""
|
|
17
|
-
#: Whether this action supports running on remote nodes
|
|
18
|
-
supports_remote: bool = False
|
|
19
|
-
|
|
20
|
-
# registry of available actions
|
|
21
|
-
registry: Dict[str, Type["NodeAction"]] = {}
|
|
22
|
-
|
|
23
|
-
def __init_subclass__(cls, **kwargs):
|
|
24
|
-
super().__init_subclass__(**kwargs)
|
|
25
|
-
if cls.slug:
|
|
26
|
-
key = cls.slug
|
|
27
|
-
else:
|
|
28
|
-
key = cls.__name__.lower()
|
|
29
|
-
cls.slug = key
|
|
30
|
-
NodeAction.registry[key] = cls
|
|
31
|
-
|
|
32
|
-
@classmethod
|
|
33
|
-
def get_actions(cls) -> Iterable[Type["NodeAction"]]:
|
|
34
|
-
"""Return all registered node actions."""
|
|
35
|
-
return cls.registry.values()
|
|
36
|
-
|
|
37
|
-
@classmethod
|
|
38
|
-
def run(cls, node: Optional[Node] = None, **kwargs):
|
|
39
|
-
"""Execute this action on ``node``.
|
|
40
|
-
|
|
41
|
-
If ``node`` is ``None`` the local node is used. If the target node is
|
|
42
|
-
not the local host and ``supports_remote`` is ``False``, a
|
|
43
|
-
``NotImplementedError`` is raised.
|
|
44
|
-
"""
|
|
45
|
-
|
|
46
|
-
if node is None:
|
|
47
|
-
node = Node.get_local()
|
|
48
|
-
if node is None:
|
|
49
|
-
raise ValueError("No local node configured")
|
|
50
|
-
if not node.is_local and not cls.supports_remote:
|
|
51
|
-
raise NotImplementedError("Remote node actions are not yet implemented")
|
|
52
|
-
instance = cls()
|
|
53
|
-
return instance.execute(node, **kwargs)
|
|
54
|
-
|
|
55
|
-
def execute(self, node: Node, **kwargs): # pragma: no cover - interface
|
|
56
|
-
"""Perform the action on ``node``."""
|
|
57
|
-
raise NotImplementedError
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
class CaptureScreenshotAction(NodeAction):
|
|
61
|
-
display_name = "Take Site Screenshot"
|
|
62
|
-
slug = "capture-screenshot"
|
|
63
|
-
|
|
64
|
-
def execute(self, node: Node, **kwargs): # pragma: no cover - uses selenium
|
|
65
|
-
from .utils import capture_screenshot, save_screenshot
|
|
66
|
-
|
|
67
|
-
url = f"http://{node.address}:{node.port}"
|
|
68
|
-
path = capture_screenshot(url)
|
|
69
|
-
save_screenshot(path, node=node, method="NODE_ACTION")
|
|
70
|
-
return path
|
|
File without changes
|
|
File without changes
|