arthexis 0.1.16__py3-none-any.whl → 0.1.28__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.

Files changed (67) hide show
  1. {arthexis-0.1.16.dist-info → arthexis-0.1.28.dist-info}/METADATA +95 -41
  2. arthexis-0.1.28.dist-info/RECORD +112 -0
  3. config/asgi.py +1 -15
  4. config/middleware.py +47 -1
  5. config/settings.py +21 -30
  6. config/settings_helpers.py +176 -1
  7. config/urls.py +69 -1
  8. core/admin.py +805 -473
  9. core/apps.py +6 -8
  10. core/auto_upgrade.py +19 -4
  11. core/backends.py +13 -3
  12. core/celery_utils.py +73 -0
  13. core/changelog.py +66 -5
  14. core/environment.py +4 -5
  15. core/models.py +1825 -218
  16. core/notifications.py +1 -1
  17. core/reference_utils.py +10 -11
  18. core/release.py +55 -7
  19. core/sigil_builder.py +2 -2
  20. core/sigil_resolver.py +1 -66
  21. core/system.py +285 -4
  22. core/tasks.py +439 -138
  23. core/test_system_info.py +43 -5
  24. core/tests.py +516 -18
  25. core/user_data.py +94 -21
  26. core/views.py +348 -186
  27. nodes/admin.py +904 -67
  28. nodes/apps.py +12 -1
  29. nodes/feature_checks.py +30 -0
  30. nodes/models.py +800 -127
  31. nodes/rfid_sync.py +1 -1
  32. nodes/tasks.py +98 -3
  33. nodes/tests.py +1381 -152
  34. nodes/urls.py +15 -1
  35. nodes/utils.py +51 -3
  36. nodes/views.py +1382 -152
  37. ocpp/admin.py +1970 -152
  38. ocpp/consumers.py +839 -34
  39. ocpp/models.py +968 -17
  40. ocpp/network.py +398 -0
  41. ocpp/store.py +411 -43
  42. ocpp/tasks.py +261 -3
  43. ocpp/test_export_import.py +1 -0
  44. ocpp/test_rfid.py +194 -6
  45. ocpp/tests.py +1918 -87
  46. ocpp/transactions_io.py +9 -1
  47. ocpp/urls.py +8 -3
  48. ocpp/views.py +700 -53
  49. pages/admin.py +262 -30
  50. pages/apps.py +35 -0
  51. pages/context_processors.py +28 -21
  52. pages/defaults.py +1 -1
  53. pages/forms.py +31 -8
  54. pages/middleware.py +6 -2
  55. pages/models.py +86 -2
  56. pages/module_defaults.py +5 -5
  57. pages/site_config.py +137 -0
  58. pages/tests.py +1050 -126
  59. pages/urls.py +14 -2
  60. pages/utils.py +70 -0
  61. pages/views.py +622 -56
  62. arthexis-0.1.16.dist-info/RECORD +0 -111
  63. core/workgroup_urls.py +0 -17
  64. core/workgroup_views.py +0 -94
  65. {arthexis-0.1.16.dist-info → arthexis-0.1.28.dist-info}/WHEEL +0 -0
  66. {arthexis-0.1.16.dist-info → arthexis-0.1.28.dist-info}/licenses/LICENSE +0 -0
  67. {arthexis-0.1.16.dist-info → arthexis-0.1.28.dist-info}/top_level.txt +0 -0
ocpp/transactions_io.py CHANGED
@@ -46,6 +46,7 @@ def export_transactions(
46
46
  "charger": tx.charger.charger_id if tx.charger else None,
47
47
  "account": tx.account_id,
48
48
  "rfid": tx.rfid,
49
+ "vid": tx.vehicle_identifier,
49
50
  "vin": tx.vin,
50
51
  "meter_start": tx.meter_start,
51
52
  "meter_stop": tx.meter_stop,
@@ -144,11 +145,18 @@ def import_transactions(data: dict) -> int:
144
145
  except ValidationError:
145
146
  continue
146
147
  charger_map[serial] = charger
148
+ vid_value = tx.get("vid")
149
+ vin_value = tx.get("vin")
150
+ vid_text = str(vid_value).strip() if vid_value is not None else ""
151
+ vin_text = str(vin_value).strip() if vin_value is not None else ""
152
+ if not vid_text and vin_text:
153
+ vid_text = vin_text
147
154
  transaction = Transaction.objects.create(
148
155
  charger=charger,
149
156
  account_id=tx.get("account"),
150
157
  rfid=tx.get("rfid", ""),
151
- vin=tx.get("vin", ""),
158
+ vid=vid_text,
159
+ vin=vin_text,
152
160
  meter_start=tx.get("meter_start"),
153
161
  meter_stop=tx.get("meter_stop"),
154
162
  voltage_start=tx.get("voltage_start"),
ocpp/urls.py CHANGED
@@ -3,8 +3,13 @@ from django.urls import include, path
3
3
  from . import views
4
4
 
5
5
  urlpatterns = [
6
- path("", views.dashboard, name="ocpp-dashboard"),
7
- path("simulator/", views.cp_simulator, name="cp-simulator"),
6
+ path("cpms/dashboard/", views.dashboard, name="ocpp-dashboard"),
7
+ path("evcs/simulator/", views.cp_simulator, name="cp-simulator"),
8
+ path(
9
+ "firmware/<int:deployment_id>/<slug:token>/",
10
+ views.firmware_download,
11
+ name="cp-firmware-download",
12
+ ),
8
13
  path("chargers/", views.charger_list, name="charger-list"),
9
14
  path("chargers/<str:cid>/", views.charger_detail, name="charger-detail"),
10
15
  path(
@@ -46,5 +51,5 @@ urlpatterns = [
46
51
  views.charger_status,
47
52
  name="charger-status-connector",
48
53
  ),
49
- path("rfid/", include("ocpp.rfid.urls")),
54
+ path("rfid/validator/", include("ocpp.rfid.urls")),
50
55
  ]