django-spire 0.22.4__py3-none-any.whl → 0.23.0__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.
- django_spire/auth/group/forms.py +3 -4
- django_spire/auth/group/utils.py +1 -2
- django_spire/auth/group/views/form_views.py +22 -14
- django_spire/auth/group/views/page_views.py +1 -1
- django_spire/auth/mfa/utils.py +1 -1
- django_spire/auth/permissions/consts.py +2 -1
- django_spire/auth/permissions/decorators.py +1 -2
- django_spire/auth/permissions/permissions.py +1 -3
- django_spire/comment/factories.py +1 -1
- django_spire/comment/mixins.py +1 -1
- django_spire/comment/views.py +1 -1
- django_spire/consts.py +1 -1
- django_spire/contrib/breadcrumb/breadcrumbs.py +1 -1
- django_spire/contrib/form/confirmation_forms.py +1 -1
- django_spire/contrib/form/utils.py +26 -16
- django_spire/contrib/generic_views/modal_views.py +1 -1
- django_spire/contrib/generic_views/portal_views.py +18 -55
- django_spire/contrib/ordering/validators.py +4 -8
- django_spire/core/context_processors.py +1 -1
- django_spire/core/management/commands/spire_startapp_pkg/user_input.py +1 -1
- django_spire/core/middleware/maintenance.py +2 -1
- django_spire/core/middleware.py +2 -1
- django_spire/core/redirect/generic_redirect.py +1 -1
- django_spire/core/redirect/safe_redirect.py +2 -1
- django_spire/core/shortcuts.py +4 -2
- django_spire/core/table/__init__.py +0 -0
- django_spire/core/table/enums.py +18 -0
- django_spire/core/templates/django_spire/card/infinite_scroll_card.html +3 -137
- django_spire/core/templates/django_spire/container/infinite_scroll_container.html +64 -0
- django_spire/core/templates/django_spire/infinite_scroll/base.html +348 -0
- django_spire/core/templates/django_spire/infinite_scroll/element/footer.html +11 -0
- django_spire/core/templates/django_spire/infinite_scroll/scroll.html +152 -0
- django_spire/core/templates/django_spire/item/infinite_scroll_item.html +33 -0
- django_spire/core/templates/django_spire/lazy_tab/element/lazy_tab_section_element.html +19 -0
- django_spire/core/templates/django_spire/lazy_tab/element/lazy_tab_trigger_element.html +15 -0
- django_spire/core/templates/django_spire/lazy_tab/lazy_tab.html +157 -0
- django_spire/core/templates/django_spire/page/infinite_scroll_list_page.html +7 -0
- django_spire/core/templates/django_spire/table/base.html +185 -373
- django_spire/core/templates/django_spire/table/element/footer.html +7 -15
- django_spire/core/templates/django_spire/table/element/header.html +1 -1
- django_spire/core/templates/django_spire/table/element/row.html +15 -7
- django_spire/core/templatetags/spire_core_tags.py +1 -2
- django_spire/file/fields.py +1 -1
- django_spire/file/interfaces.py +1 -1
- django_spire/file/views.py +1 -1
- django_spire/history/activity/utils.py +1 -1
- django_spire/history/mixins.py +0 -4
- django_spire/notification/app/context_data.py +3 -1
- django_spire/notification/app/views/json_views.py +1 -1
- django_spire/notification/app/views/page_views.py +2 -1
- django_spire/notification/app/views/template_views.py +2 -2
- django_spire/profiling/middleware/profiling.py +2 -2
- django_spire/profiling/panel.py +2 -2
- django_spire/testing/__init__.py +0 -0
- django_spire/testing/playwright/__init__.py +64 -0
- django_spire/testing/playwright/components/__init__.py +45 -0
- django_spire/testing/playwright/components/accordion.py +55 -0
- django_spire/testing/playwright/components/attribute_element.py +73 -0
- django_spire/testing/playwright/components/base_session_filter_form.py +57 -0
- django_spire/testing/playwright/components/breadcrumb_element.py +56 -0
- django_spire/testing/playwright/components/card.py +102 -0
- django_spire/testing/playwright/components/dropdown.py +87 -0
- django_spire/testing/playwright/components/infinite_scroll.py +158 -0
- django_spire/testing/playwright/components/lazy_tab.py +92 -0
- django_spire/testing/playwright/components/modal.py +101 -0
- django_spire/testing/playwright/components/navigation.py +119 -0
- django_spire/testing/playwright/components/notification_bell.py +59 -0
- django_spire/testing/playwright/components/theme_selector.py +46 -0
- django_spire/testing/playwright/components/toast.py +72 -0
- django_spire/testing/playwright/fixtures.py +54 -0
- django_spire/testing/playwright/pages/__init__.py +6 -0
- django_spire/testing/playwright/pages/base.py +24 -0
- django_spire/theme/models.py +1 -1
- django_spire/theme/tests/test_context_processor.py +0 -1
- django_spire/theme/views/json_views.py +1 -1
- django_spire/theme/views/page_views.py +1 -1
- {django_spire-0.22.4.dist-info → django_spire-0.23.0.dist-info}/METADATA +4 -1
- {django_spire-0.22.4.dist-info → django_spire-0.23.0.dist-info}/RECORD +81 -51
- {django_spire-0.22.4.dist-info → django_spire-0.23.0.dist-info}/WHEEL +0 -0
- {django_spire-0.22.4.dist-info → django_spire-0.23.0.dist-info}/licenses/LICENSE.md +0 -0
- {django_spire-0.22.4.dist-info → django_spire-0.23.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import TYPE_CHECKING
|
|
4
|
+
|
|
5
|
+
if TYPE_CHECKING:
|
|
6
|
+
from playwright.sync_api import Locator, Page
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class Toast:
|
|
10
|
+
"""Playwright component for django_spire/messages/messages.html"""
|
|
11
|
+
|
|
12
|
+
def __init__(self, page: Page) -> None:
|
|
13
|
+
self.page = page
|
|
14
|
+
|
|
15
|
+
@property
|
|
16
|
+
def container(self) -> Locator:
|
|
17
|
+
return self.page.locator('.fixed-top[\\@notify\\.window]')
|
|
18
|
+
|
|
19
|
+
@property
|
|
20
|
+
def toasts(self) -> Locator:
|
|
21
|
+
return self.container.locator('[x-data*="show:"]')
|
|
22
|
+
|
|
23
|
+
def get_toast(self, index: int = 0) -> Locator:
|
|
24
|
+
return self.toasts.nth(index)
|
|
25
|
+
|
|
26
|
+
def get_toast_count(self) -> int:
|
|
27
|
+
return self.toasts.count()
|
|
28
|
+
|
|
29
|
+
def get_toast_icon(self, index: int = 0) -> Locator:
|
|
30
|
+
return self.get_toast(index).locator('i.bi').first
|
|
31
|
+
|
|
32
|
+
def get_toast_message(self, index: int = 0) -> str:
|
|
33
|
+
return self.get_toast(index).locator('[x-text="notification.message"]').inner_text()
|
|
34
|
+
|
|
35
|
+
def get_toast_type(self, index: int = 0) -> str:
|
|
36
|
+
toast = self.get_toast(index)
|
|
37
|
+
classes = toast.get_attribute('class') or ''
|
|
38
|
+
|
|
39
|
+
if 'border-app-success' in classes:
|
|
40
|
+
return 'success'
|
|
41
|
+
|
|
42
|
+
if 'border-app-warning' in classes:
|
|
43
|
+
return 'warning'
|
|
44
|
+
|
|
45
|
+
if 'border-app-danger' in classes:
|
|
46
|
+
return 'error'
|
|
47
|
+
|
|
48
|
+
if 'border-app-primary' in classes:
|
|
49
|
+
return 'info'
|
|
50
|
+
|
|
51
|
+
return 'unknown'
|
|
52
|
+
|
|
53
|
+
def close_toast(self, index: int = 0) -> None:
|
|
54
|
+
self.get_toast(index).locator('.bi-x-lg').click()
|
|
55
|
+
|
|
56
|
+
def has_success_toast(self) -> bool:
|
|
57
|
+
return self.page.locator('.border-app-success').count() > 0
|
|
58
|
+
|
|
59
|
+
def has_warning_toast(self) -> bool:
|
|
60
|
+
return self.page.locator('.border-app-warning').count() > 0
|
|
61
|
+
|
|
62
|
+
def has_error_toast(self) -> bool:
|
|
63
|
+
return self.page.locator('.border-app-danger').count() > 0
|
|
64
|
+
|
|
65
|
+
def has_info_toast(self) -> bool:
|
|
66
|
+
return self.page.locator('.border-app-primary').count() > 0
|
|
67
|
+
|
|
68
|
+
def wait_for_toast(self, timeout: int = 5000) -> None:
|
|
69
|
+
self.toasts.first.wait_for(state='visible', timeout=timeout)
|
|
70
|
+
|
|
71
|
+
def wait_for_toast_to_disappear(self, timeout: int = 10000) -> None:
|
|
72
|
+
self.toasts.first.wait_for(state='hidden', timeout=timeout)
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import os
|
|
4
|
+
import pytest
|
|
5
|
+
|
|
6
|
+
from typing import Any, TYPE_CHECKING
|
|
7
|
+
|
|
8
|
+
from django.contrib.auth import get_user_model
|
|
9
|
+
|
|
10
|
+
if TYPE_CHECKING:
|
|
11
|
+
from playwright.sync_api import Page
|
|
12
|
+
from pytest_django.plugin import _LiveServer
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
User = get_user_model()
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def pytest_configure(config: Any) -> None:
|
|
19
|
+
os.environ['DJANGO_ALLOW_ASYNC_UNSAFE'] = 'true'
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
@pytest.fixture(scope='session')
|
|
23
|
+
def browser_context_args(browser_context_args: dict[str, Any]) -> dict[str, Any]:
|
|
24
|
+
return {
|
|
25
|
+
**browser_context_args,
|
|
26
|
+
'no_viewport': True,
|
|
27
|
+
'viewport': None,
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
@pytest.fixture(scope='session')
|
|
32
|
+
def browser_type_launch_args(browser_type_launch_args: dict[str, Any]) -> dict[str, Any]:
|
|
33
|
+
return {
|
|
34
|
+
**browser_type_launch_args,
|
|
35
|
+
'args': ['--start-maximized'],
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
@pytest.fixture
|
|
40
|
+
def authenticated_page(page: Page, live_server: _LiveServer, transactional_db: None) -> Page:
|
|
41
|
+
User.objects.create_user(
|
|
42
|
+
username='testuser',
|
|
43
|
+
password='testpass123',
|
|
44
|
+
is_staff=True,
|
|
45
|
+
is_superuser=True
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
page.goto(f'{live_server.url}/admin/login/')
|
|
49
|
+
page.fill('input[name="username"]', 'testuser')
|
|
50
|
+
page.fill('input[name="password"]', 'testpass123')
|
|
51
|
+
page.click('input[type="submit"]')
|
|
52
|
+
page.wait_for_url(f'{live_server.url}/admin/')
|
|
53
|
+
|
|
54
|
+
return page
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import TYPE_CHECKING
|
|
4
|
+
|
|
5
|
+
if TYPE_CHECKING:
|
|
6
|
+
from playwright.sync_api import Page
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class BasePage:
|
|
10
|
+
def __init__(self, page: Page, base_url: str) -> None:
|
|
11
|
+
self.base_url = base_url
|
|
12
|
+
self.page = page
|
|
13
|
+
|
|
14
|
+
def goto(self, url: str) -> None:
|
|
15
|
+
self.page.goto(url)
|
|
16
|
+
|
|
17
|
+
def has_text(self, text: str) -> bool:
|
|
18
|
+
return text in self.page.locator('body').inner_text()
|
|
19
|
+
|
|
20
|
+
def wait_for_load_state(self, state: str = 'networkidle') -> None:
|
|
21
|
+
self.page.wait_for_load_state(state)
|
|
22
|
+
|
|
23
|
+
def wait_for_timeout(self, timeout: int) -> None:
|
|
24
|
+
self.page.wait_for_timeout(timeout)
|
django_spire/theme/models.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: django-spire
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.23.0
|
|
4
4
|
Summary: A project for Django Spire
|
|
5
5
|
Author-email: Brayden Carlson <braydenc@stratusadv.com>, Nathan Johnson <nathanj@stratusadv.com>
|
|
6
6
|
License: Copyright (c) 2024 Stratus Advanced Technologies and Contributors.
|
|
@@ -73,9 +73,12 @@ Requires-Dist: django-browser-reload; extra == "development"
|
|
|
73
73
|
Requires-Dist: django-debug-toolbar; extra == "development"
|
|
74
74
|
Requires-Dist: django-watchfiles; extra == "development"
|
|
75
75
|
Requires-Dist: pip; extra == "development"
|
|
76
|
+
Requires-Dist: playwright; extra == "development"
|
|
76
77
|
Requires-Dist: pyinstrument; extra == "development"
|
|
77
78
|
Requires-Dist: pyrefly; extra == "development"
|
|
78
79
|
Requires-Dist: pytest; extra == "development"
|
|
80
|
+
Requires-Dist: pytest-django; extra == "development"
|
|
81
|
+
Requires-Dist: pytest-playwright; extra == "development"
|
|
79
82
|
Requires-Dist: setuptools; extra == "development"
|
|
80
83
|
Requires-Dist: twine; extra == "development"
|
|
81
84
|
Provides-Extra: documentation
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
django_spire/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
django_spire/conf.py,sha256=c5Hs-7lk9T15254tOasiQ2ZTFLQIVJof9_QJDfm1PAI,933
|
|
3
|
-
django_spire/consts.py,sha256=
|
|
3
|
+
django_spire/consts.py,sha256=xIvLbayXa8bBS1w8s_UdEMqzBVZIdIBVPm-BNoLz090,171
|
|
4
4
|
django_spire/exceptions.py,sha256=L5ndRO5ftMmh0pHkO2z_NG3LSGZviJ-dDHNT73SzTNw,48
|
|
5
5
|
django_spire/settings.py,sha256=B4GPqBGt_dmkt0Ay0j-IP-SZ6mY44m2Ap5kVSON5YLA,1005
|
|
6
6
|
django_spire/urls.py,sha256=mKeZszb5U4iIGqddMb5Tt5fRC72U2wABEOi6mvOfEBU,656
|
|
@@ -135,10 +135,10 @@ django_spire/auth/group/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
|
|
|
135
135
|
django_spire/auth/group/admin.py,sha256=Dky8NfcKF2Egxfd2s09FI10fvtvlZo0U5vogMKdz17E,2038
|
|
136
136
|
django_spire/auth/group/apps.py,sha256=zxJHx1FweMSvtNYBqk7nmvJJSnttmKBCIEQLzjkvIRk,582
|
|
137
137
|
django_spire/auth/group/factories.py,sha256=XrUEdbPIETFW7BdAaUZu2XCw6FuOPRpbE4JGge2w4lU,395
|
|
138
|
-
django_spire/auth/group/forms.py,sha256=
|
|
138
|
+
django_spire/auth/group/forms.py,sha256=SkyjlG3LnI4nBxHZJC1r3z10k2PrMw5TWogB7XsLqAY,1163
|
|
139
139
|
django_spire/auth/group/models.py,sha256=m_5cxrtz2-Z9Uq9Qxun-kM66yByjL0E3xR1a97VqPG0,1007
|
|
140
140
|
django_spire/auth/group/querysets.py,sha256=XQG6I6tNCphQgdJIYcbs2r_IXS2THgZAINsDAV0d7Bs,166
|
|
141
|
-
django_spire/auth/group/utils.py,sha256=
|
|
141
|
+
django_spire/auth/group/utils.py,sha256=oNrUQQ0ns0O7wcoyKDDv7SVHVW2KK3Jm94usGgLFmhE,2045
|
|
142
142
|
django_spire/auth/group/migrations/0001_initial.py,sha256=IpjRZsK00ovpSOuV6R5_zs7wMcYAZNYg0rvnCGcM2d0,797
|
|
143
143
|
django_spire/auth/group/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
144
144
|
django_spire/auth/group/templates/django_spire/auth/group/card/detail_card.html,sha256=UQWxNthDiN1e-ypGiaunnTOLiey22uHf4DkSSr9Of7s,936
|
|
@@ -173,16 +173,16 @@ django_spire/auth/group/urls/form_urls.py,sha256=bGofmsYfaWi7XRmaWS7zdFXgd8jNrIq
|
|
|
173
173
|
django_spire/auth/group/urls/json_urls.py,sha256=uOQqYiYwtFN1KafQSW6vFzzvkMFaRB5jOjFtw21NpMM,423
|
|
174
174
|
django_spire/auth/group/urls/page_urls.py,sha256=KarZ6j8PPQCDxuczLDHbJ0ALPM-67ldbJd4_bdOmoL0,302
|
|
175
175
|
django_spire/auth/group/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
176
|
-
django_spire/auth/group/views/form_views.py,sha256=
|
|
176
|
+
django_spire/auth/group/views/form_views.py,sha256=7L70faNeIYfMwjlXzDsIwVrtRedpqI_stmVwnfSZy1g,5426
|
|
177
177
|
django_spire/auth/group/views/json_views.py,sha256=pST2eF_RaB_ePspcrXTSB4sosH8z5PqiRrnwq6lJt6Y,3527
|
|
178
|
-
django_spire/auth/group/views/page_views.py,sha256=
|
|
178
|
+
django_spire/auth/group/views/page_views.py,sha256=T8S8Ku3wCRT8LQIO0froB8RReL6ZYUZ79Z3yaK8-Usg,2226
|
|
179
179
|
django_spire/auth/mfa/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
180
180
|
django_spire/auth/mfa/admin.py,sha256=SacSWYyKe3gvEHsFT5uDdcABmuu6AZ358aGTXJ_2cPg,704
|
|
181
181
|
django_spire/auth/mfa/apps.py,sha256=kE0sHpYNzE_vJHfOiooLt10XEvok3dfJ_v8p2TyoGZ0,379
|
|
182
182
|
django_spire/auth/mfa/forms.py,sha256=e-zTaa7V47NSrueHzpgkf-tOKzR4On3p_m0l_NjciWQ,928
|
|
183
183
|
django_spire/auth/mfa/models.py,sha256=baebXP-TjDuimFyIh1wD9FKJd5AGz74pMZKCu7cy9YM,2115
|
|
184
184
|
django_spire/auth/mfa/querysets.py,sha256=0nkJjYBvuw8_REapKGxCW3h4ozSsMgldlkaLvrBGAag,269
|
|
185
|
-
django_spire/auth/mfa/utils.py,sha256=
|
|
185
|
+
django_spire/auth/mfa/utils.py,sha256=E8ydMNWWRl8xXT9f717c8k_5ge_Q6r_8fUBWlhl5Atg,376
|
|
186
186
|
django_spire/auth/mfa/migrations/0001_initial.py,sha256=DzS_kB7AE_sBf3jGE0wcdvaGQZNbpPOp0b-CRT_di-Y,1104
|
|
187
187
|
django_spire/auth/mfa/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
188
188
|
django_spire/auth/mfa/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -194,9 +194,9 @@ django_spire/auth/mfa/views/page_views.py,sha256=EF9s6tqVqG2OTr9PZq5GJkHWGSkgmGP
|
|
|
194
194
|
django_spire/auth/mfa/views/redirect_views.py,sha256=Wl3m7dyboB5nMk8LmFT_IbxqjxrXCIvPkKWSLK7I77Y,641
|
|
195
195
|
django_spire/auth/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
196
196
|
django_spire/auth/permissions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
197
|
-
django_spire/auth/permissions/consts.py,sha256=
|
|
198
|
-
django_spire/auth/permissions/decorators.py,sha256=
|
|
199
|
-
django_spire/auth/permissions/permissions.py,sha256=
|
|
197
|
+
django_spire/auth/permissions/consts.py,sha256=Sm7Oqq-lfOLpViar6yiZI2DPBYmNvbYBG6kkY1ugsag,551
|
|
198
|
+
django_spire/auth/permissions/decorators.py,sha256=LA169sW50UUDlnpuAJuUmRzb_nvGWrR_AsyNlKXWiBE,1502
|
|
199
|
+
django_spire/auth/permissions/permissions.py,sha256=089AidHUVx0DcpGtfJ9DAN38dyUmoUuEp8cIem8O-Is,6187
|
|
200
200
|
django_spire/auth/permissions/tools.py,sha256=vfoI6KNLHVSaEzo1YSdNoStna0OLaoY5Xb3UBnt-DRo,2460
|
|
201
201
|
django_spire/auth/seeding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
202
202
|
django_spire/auth/seeding/seed.py,sha256=TDbGgJb5XADk4STs5jU7VvHb9qWFWE1hhqjqsCCgn74,92
|
|
@@ -268,14 +268,14 @@ django_spire/auth/views/redirect_views.py,sha256=xaCUeUNzN6eSqOjaxPBV6IumdbVus2M
|
|
|
268
268
|
django_spire/comment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
269
269
|
django_spire/comment/admin.py,sha256=U8ZapPJ6aniL0ENZ1VwpSfmzaC-9KW0ccU5z3VnjhAs,1446
|
|
270
270
|
django_spire/comment/apps.py,sha256=kUaCY2WU2hzsRhKuqdo-fmGF8dq_5gHjXEBjnVjPZzg,452
|
|
271
|
-
django_spire/comment/factories.py,sha256=
|
|
271
|
+
django_spire/comment/factories.py,sha256=74Fo_PzET7AwDLj7JEe50Q92NSxgO14lJnDtmoPx97s,258
|
|
272
272
|
django_spire/comment/forms.py,sha256=KOwOxMsOQ1YUkhnX183B7qUpYha3s7zqa423HKmtzo8,482
|
|
273
|
-
django_spire/comment/mixins.py,sha256=
|
|
273
|
+
django_spire/comment/mixins.py,sha256=ar7vnJEEsVUvUcyrFLTBvivTWhmIb0OjUI_8oNWF3nY,843
|
|
274
274
|
django_spire/comment/models.py,sha256=jj1YGrgK8sjB1IDmEAJP7kivAAPeYwQlsMfC63zV7pU,2694
|
|
275
275
|
django_spire/comment/querysets.py,sha256=iopM6CDK0IntTFJ_7-_HMT3iQFSW0QpnI_Ypj-umXHc,486
|
|
276
276
|
django_spire/comment/urls.py,sha256=VD1tNdEFmKv5O7FlSQpelvLxmV5_n-lkMowP8TjIxZc,579
|
|
277
277
|
django_spire/comment/utils.py,sha256=9-bDjC8EXCZuhjP2-XFIYBlnbuG45bsgxyqPTBlkQjM,1578
|
|
278
|
-
django_spire/comment/views.py,sha256=
|
|
278
|
+
django_spire/comment/views.py,sha256=vsLu0wxflTgewP6IFxg52nu9zXngvjIWWv_8coXM-HA,4251
|
|
279
279
|
django_spire/comment/widgets.py,sha256=gZdh7Rm0gZMA344hvCOcE1X_6IMbq3ONkNxJRkKt4Gg,938
|
|
280
280
|
django_spire/comment/migrations/0001_initial.py,sha256=S4-j2eszRZZ7tKRz0wrqltKgs2waTa9KTknURHCa7Gw,1894
|
|
281
281
|
django_spire/comment/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -304,22 +304,22 @@ django_spire/contrib/__init__.py,sha256=Cw4KTzAMKPQucNRy541gYSe9ph_JtA1rRrILaYVs
|
|
|
304
304
|
django_spire/contrib/utils.py,sha256=y8CYWE1P6kWHS8dnNZHJilF_zBUU0oriyWtC0GidrBk,130
|
|
305
305
|
django_spire/contrib/breadcrumb/__init__.py,sha256=Cw4KTzAMKPQucNRy541gYSe9ph_JtA1rRrILaYVsb1w,100
|
|
306
306
|
django_spire/contrib/breadcrumb/apps.py,sha256=u6pmpk4FAcBShmoEykUqspobvbhkkJuUOE-n9uWzjKA,212
|
|
307
|
-
django_spire/contrib/breadcrumb/breadcrumbs.py,sha256=
|
|
307
|
+
django_spire/contrib/breadcrumb/breadcrumbs.py,sha256=k6g8fEfcjMlzwvB2S_iimSaAnHoaVct8gIAT6bo3b24,2048
|
|
308
308
|
django_spire/contrib/breadcrumb/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
309
309
|
django_spire/contrib/constructor/__init__.py,sha256=DjACil4sVPH2YCeQYbA0eIw43X6yPmXeST05NL_XINM,345
|
|
310
310
|
django_spire/contrib/constructor/constructor.py,sha256=Xy7JHQNMHH5u-6XKY9ADqjXbcE_fYH3wRmnXPlZZfZ0,2943
|
|
311
311
|
django_spire/contrib/constructor/django_model_constructor.py,sha256=91EUls76hG8W4gyVtKB42-I4DIrH-EKiDJdhbB_8FT4,1180
|
|
312
312
|
django_spire/contrib/constructor/exceptions.py,sha256=JPNZlwkNOMb8XhFiLODAjaPcLJu3vZiFlP7rmrgHlTw,117
|
|
313
313
|
django_spire/contrib/form/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
314
|
-
django_spire/contrib/form/confirmation_forms.py,sha256=
|
|
315
|
-
django_spire/contrib/form/utils.py,sha256=
|
|
314
|
+
django_spire/contrib/form/confirmation_forms.py,sha256=K0H-8f-Ysv24aFT2mOGzCNVOyFtS7OrX7_NgHS7FW2k,1276
|
|
315
|
+
django_spire/contrib/form/utils.py,sha256=9XZzUuSDqebXiX_0HhSungLi0Wvk30SIAYEU-qPKB7g,1127
|
|
316
316
|
django_spire/contrib/form/templates/django_spire/contrib/form/button/form_submit_button.html,sha256=3wMz2az0G2Cx_f_g-nJjISITWHOIAIlUKEQz3dLq8Zk,1298
|
|
317
317
|
django_spire/contrib/gamification/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
318
318
|
django_spire/contrib/gamification/static/django_spire/css/contrib/gamification/gamification.css,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
319
319
|
django_spire/contrib/gamification/templates/django_spire/contrib/gamification/effect/kapow.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
320
320
|
django_spire/contrib/generic_views/__init__.py,sha256=fJU5nY61oqFCK-osl1Hnr7W2FKc_ZWeFuEkADWqCKzA,245
|
|
321
|
-
django_spire/contrib/generic_views/modal_views.py,sha256=
|
|
322
|
-
django_spire/contrib/generic_views/portal_views.py,sha256=
|
|
321
|
+
django_spire/contrib/generic_views/modal_views.py,sha256=nDiVW9uIqNGYQx6hbY_H1YoiXg-FEKOCFow2z0qQk4A,2041
|
|
322
|
+
django_spire/contrib/generic_views/portal_views.py,sha256=Xb_gorC3JHqE2nik1eqdVOlUdLKmh8LOZDTO1nlgwwo,7894
|
|
323
323
|
django_spire/contrib/help/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
324
324
|
django_spire/contrib/help/apps.py,sha256=UM1IoIMFNaVaQdUfACTMfUkm541TqNhOMqlp9X47zBc,193
|
|
325
325
|
django_spire/contrib/help/templates/django_spire/contrib/help/help_button.html,sha256=ikym1hVCy1OuBJnU0CWhi-aCPCrLsfP3stCs0OV3PFk,162
|
|
@@ -336,7 +336,7 @@ django_spire/contrib/ordering/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5N
|
|
|
336
336
|
django_spire/contrib/ordering/exceptions.py,sha256=ebNUrHIsCNkWLOdej8643q7QwwA3Xa5mo_R2jIzh3gA,105
|
|
337
337
|
django_spire/contrib/ordering/mixins.py,sha256=T0Gz-AeRft34UVoY2oVe3nbRF61D-xk765qdRXYYmts,296
|
|
338
338
|
django_spire/contrib/ordering/querysets.py,sha256=qtRd6UpnYUjdKRm4RvbYxckhCtJbB_y7-TrS0Vqifwk,91
|
|
339
|
-
django_spire/contrib/ordering/validators.py,sha256=
|
|
339
|
+
django_spire/contrib/ordering/validators.py,sha256=ZqY-teh6zEPlGhSEicYUvzvCLXxRfBvmNjnWIuTh_8Q,1497
|
|
340
340
|
django_spire/contrib/ordering/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
341
341
|
django_spire/contrib/ordering/services/processor_service.py,sha256=20EbsKOLw2CkAiuX-sn87DrYCxcA53CH02ThezT51xA,3252
|
|
342
342
|
django_spire/contrib/ordering/services/service.py,sha256=4GJzz0TOjin0nUDGSvMyiYHj487NO4Lfdw3G_zNKh9M,468
|
|
@@ -416,12 +416,12 @@ django_spire/contrib/session/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQe
|
|
|
416
416
|
django_spire/contrib/session/tests/test_session_controller.py,sha256=KSRBWSKnEe5lkeFnuzUpmF81vcyeQp3J3bHAIKXjcFc,4016
|
|
417
417
|
django_spire/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
418
418
|
django_spire/core/apps.py,sha256=nIhw9qtKP_5yVHMY7EpMvDlxjkdTWLwmDXNqD4F6dCg,279
|
|
419
|
-
django_spire/core/context_processors.py,sha256=
|
|
419
|
+
django_spire/core/context_processors.py,sha256=v2m0ilcDGTIzrPznK3gQvL3_YXSq749aCO1VydXFRdI,1506
|
|
420
420
|
django_spire/core/decorators.py,sha256=-zRi8lSRqbGMTxBEJ3Ek7sLmowgpLDMhC0at80Fu8vo,674
|
|
421
421
|
django_spire/core/maps.py,sha256=5q48KuTT7NB-oLFTKpL7A3QuCQHAjdEZvp_JPQdlRy0,1508
|
|
422
|
-
django_spire/core/middleware.py,sha256=
|
|
422
|
+
django_spire/core/middleware.py,sha256=KlzcJ5DLi8FZsk5Ccku-pDh7mLcWJhdhHRRHJAPuzOc,938
|
|
423
423
|
django_spire/core/models.py,sha256=-4p4u2zWd6huWzfWMoTdHxOEtNzWd8VQWQGzO5M1eYQ,223
|
|
424
|
-
django_spire/core/shortcuts.py,sha256=
|
|
424
|
+
django_spire/core/shortcuts.py,sha256=hNmF-Ugp55zNfEsDTGbN9mftrALqZAxNXubO_n3GTm8,2767
|
|
425
425
|
django_spire/core/urls.py,sha256=A0ylc3k9QuPJrWzNEyvqj7aTxaCNKB0StsZ4jTB76dc,509
|
|
426
426
|
django_spire/core/utils.py,sha256=IrLFwuvhQzsa11wMDNumnHfnkdLBxkkRri6mtjGDXuQ,1003
|
|
427
427
|
django_spire/core/converters/__init__.py,sha256=ruwegt86KWKPn9VldOXftTLL-r67R3Pm7xawppw6YVg,226
|
|
@@ -448,7 +448,7 @@ django_spire/core/management/commands/spire_startapp_pkg/processor.py,sha256=zQh
|
|
|
448
448
|
django_spire/core/management/commands/spire_startapp_pkg/registry.py,sha256=olBBFvDir6-zOoltQRIzHNIWkRG6CnA1FcP80tU7S3s,2185
|
|
449
449
|
django_spire/core/management/commands/spire_startapp_pkg/reporter.py,sha256=CS8cufg6kQq48A5fO4qIdUNDZWsCriHaW_wqQhzlqUc,10062
|
|
450
450
|
django_spire/core/management/commands/spire_startapp_pkg/resolver.py,sha256=loVIG8zCN_Bo6vjBV2UsUF930Rc5SG5P2klJl3qp0pc,2331
|
|
451
|
-
django_spire/core/management/commands/spire_startapp_pkg/user_input.py,sha256=
|
|
451
|
+
django_spire/core/management/commands/spire_startapp_pkg/user_input.py,sha256=kjtQtBrzVqawpnVDcyqifEd5yE6_gSJonRI2NVonhPY,9816
|
|
452
452
|
django_spire/core/management/commands/spire_startapp_pkg/validator.py,sha256=q6fsyRmR1kcN2eAFu-5pDaadJ05FDog7N23eR215Yx0,3322
|
|
453
453
|
django_spire/core/management/commands/spire_startapp_pkg/template/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
454
454
|
django_spire/core/management/commands/spire_startapp_pkg/template/app/__init__.py.template,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -501,12 +501,12 @@ django_spire/core/management/commands/spire_startapp_pkg/template/templates/page
|
|
|
501
501
|
django_spire/core/management/commands/spire_startapp_pkg/template/templates/page/${form_page_template_name}.html.template,sha256=JdUCGpWgCvwg328dgAkCA9b7MGTyQG2EZs_Dol8c-pM,346
|
|
502
502
|
django_spire/core/management/commands/spire_startapp_pkg/template/templates/page/${list_page_template_name}.html.template,sha256=Ve0RVvWjMU6m33wXdDv10MkDoEFKWULuu-1_BK-O4aI,254
|
|
503
503
|
django_spire/core/middleware/__init__.py,sha256=BvBwVHLVebknJkObtKk_s5OqaIJaAmnavTvnnv4TBO8,149
|
|
504
|
-
django_spire/core/middleware/maintenance.py,sha256=
|
|
504
|
+
django_spire/core/middleware/maintenance.py,sha256=IMeG_irw0MrrkoheDYoeBq7JiwTpdCFKNK3CmQT4VBw,911
|
|
505
505
|
django_spire/core/migrations/0001_initial.py,sha256=kbwHzfNnEf10O1rvqjXPhTyMT0ThZll_YtxHxDpq9GY,675
|
|
506
506
|
django_spire/core/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
507
507
|
django_spire/core/redirect/__init__.py,sha256=ubAsz_h3ufwgNNkdtqiJQDgXc6DodE2LTUyBwi9dgkE,71
|
|
508
|
-
django_spire/core/redirect/generic_redirect.py,sha256=
|
|
509
|
-
django_spire/core/redirect/safe_redirect.py,sha256=
|
|
508
|
+
django_spire/core/redirect/generic_redirect.py,sha256=mbW0Gclaybe2PbhM_BwdJ5WuCJDX2Gti4BxlG9q7Yxw,1234
|
|
509
|
+
django_spire/core/redirect/safe_redirect.py,sha256=FGxURTuosytCE6Ypv6JkJjxGv3uHxLWgxtjmOLG8qE0,2891
|
|
510
510
|
django_spire/core/static/django_spire/css/app-background.css,sha256=9O7qhtRw98dIHjTO0ZWYhnAov19RZc4M3QNl4jHx7Xw,12160
|
|
511
511
|
django_spire/core/static/django_spire/css/app-border.css,sha256=z_DT3sB5tNQFu4Y7gSqYFn_bpOmEgEgJCrNmAnmSGDI,3439
|
|
512
512
|
django_spire/core/static/django_spire/css/app-button.css,sha256=iUPOFgXp2v_gsNBeX8-CoDEWg_oIBAF1khNue2bdq40,8095
|
|
@@ -582,6 +582,8 @@ django_spire/core/static/django_spire/js/modal.js,sha256=ay0Sovi0HhedEz3dRhB_INh
|
|
|
582
582
|
django_spire/core/static/django_spire/js/session_controller.js,sha256=aMom087y00MUhdxrZlrg89f88mBC7cWEhGWopeb5hlQ,232
|
|
583
583
|
django_spire/core/static/django_spire/js/theme.js,sha256=Aq3KOJarjCr_Qjn0HyJlEFG0FWW1C948ppVvWxW554o,9606
|
|
584
584
|
django_spire/core/static/django_spire/js/ui.js,sha256=Xrnw6cMmddCiUKC7iAJn1U7lk3nMJYxFJJO-J5zCqSw,673
|
|
585
|
+
django_spire/core/table/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
586
|
+
django_spire/core/table/enums.py,sha256=QzyjZTEeonEPEFCGFOLQT-siHOED_woyy2w9ECbV8rM,533
|
|
585
587
|
django_spire/core/tag/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
586
588
|
django_spire/core/tag/mixins.py,sha256=jbBlg-ycTUE7SX1j08iRE2cu8_9j6dp5eI2uzeoYC7Y,707
|
|
587
589
|
django_spire/core/tag/models.py,sha256=XBxDvfwl_k0dWxm9eClD1jxzVu--gRLQu5FMwmzY8Xs,817
|
|
@@ -634,10 +636,11 @@ django_spire/core/templates/django_spire/card/card.html,sha256=nF4s17lygR6vpm2Ja
|
|
|
634
636
|
django_spire/core/templates/django_spire/card/delete_confirmation_form_card.html,sha256=A-IrDQHKgQ1iveGJJ9EKsvs-TUW0eVY8uTcWM4dmQ_4,1097
|
|
635
637
|
django_spire/core/templates/django_spire/card/delete_form_card.html,sha256=7nAZ0LuIq9l2BwNiBny_C__Q9EUXYQ_CM1aFXrafd6c,212
|
|
636
638
|
django_spire/core/templates/django_spire/card/form_card.html,sha256=bctVy9CeHuf05xsuE-zEsQVOaq24Igjq6xTKgv2AO4Y,391
|
|
637
|
-
django_spire/core/templates/django_spire/card/infinite_scroll_card.html,sha256=
|
|
639
|
+
django_spire/core/templates/django_spire/card/infinite_scroll_card.html,sha256=EM57LOCjuKqJZfsTwNmzRB3I8lzvRLcXdmpq8h7c-q0,261
|
|
638
640
|
django_spire/core/templates/django_spire/card/title_card.html,sha256=igzwDLWuotqggSBUinQam2eIN6gAk0p6S6BB6O-ij-M,1048
|
|
639
641
|
django_spire/core/templates/django_spire/container/container.html,sha256=Dfr7K8xgEbg3CZYxMleLjjiQGyRS-GNJdPySA4OYY8U,867
|
|
640
642
|
django_spire/core/templates/django_spire/container/form_container.html,sha256=FZwZs4gnIYkurV5u8v6fj2rbrm4WDX16jyUSTMniEtw,313
|
|
643
|
+
django_spire/core/templates/django_spire/container/infinite_scroll_container.html,sha256=L3sPkIQG99SFJpkuYOg_RnlYFFobxE0B-weuDqUwiv0,2494
|
|
641
644
|
django_spire/core/templates/django_spire/dropdown/dropdown.html,sha256=O3gUp2YZm_2g0Qd-odFOnxfBkRc4c4af4zTbyGibSU0,528
|
|
642
645
|
django_spire/core/templates/django_spire/dropdown/ellipsis_dropdown.html,sha256=6DrFtcvfCnegs_gLfDZDkEGYb6ZpJ85clKQWckiTH00,1431
|
|
643
646
|
django_spire/core/templates/django_spire/dropdown/ellipsis_modal_dropdown.html,sha256=kUNcg-dSqr1wHjU_NijBAyCsa_7Z6_spVE5jytqYaME,898
|
|
@@ -661,9 +664,16 @@ django_spire/core/templates/django_spire/forms/elements/dict_element.html,sha256
|
|
|
661
664
|
django_spire/core/templates/django_spire/forms/elements/list_element.html,sha256=NbKavjm9qlSUnl5sao3xZILT-bW-TmIFB3Bqy0NfZkg,682
|
|
662
665
|
django_spire/core/templates/django_spire/forms/elements/value_element.html,sha256=LaOR2ggmf-J_cPCVHjNoD4l_858zHCRA58T_ZB3EIkE,57
|
|
663
666
|
django_spire/core/templates/django_spire/forms/widgets/json_tree_widget.html,sha256=dykf6xYRZ477i6SgcGR3TSnxDwLsu2p3FR45hEr4DF8,1489
|
|
667
|
+
django_spire/core/templates/django_spire/infinite_scroll/base.html,sha256=x4JJgXTnWXTRz2laFHBW5jpD4D9sU-P8eAUDgEc3-UU,10875
|
|
668
|
+
django_spire/core/templates/django_spire/infinite_scroll/scroll.html,sha256=fF_U1EPoZbkhK0zh-Q7ggrvR12yCsT1UOY2z63uM8es,4668
|
|
669
|
+
django_spire/core/templates/django_spire/infinite_scroll/element/footer.html,sha256=22yxDuYB2vKqaDaMsARStrYTYoHtPGYmK6Xl9XQdwH8,391
|
|
670
|
+
django_spire/core/templates/django_spire/item/infinite_scroll_item.html,sha256=NMx3jQwtcKJiKtzbQXaXI3eWOtnJFiZhCI13tLTxSnc,1011
|
|
664
671
|
django_spire/core/templates/django_spire/item/item.html,sha256=9AD6qRcYIb7q-EcmWlRUFiK8XfnmPBSS5NOsXdKEAAA,1217
|
|
665
672
|
django_spire/core/templates/django_spire/item/no_data_item.html,sha256=7YnibXp9nDrO5KxTN3-0p1Uc8AaFT2aW6fDnLuQHE9U,353
|
|
666
673
|
django_spire/core/templates/django_spire/item/element/item_ellipsis_spacer_element.html,sha256=BkFi7EVW5fVbdQEFEYGVrC6eP3L69jnRiKOPGGToq7M,26
|
|
674
|
+
django_spire/core/templates/django_spire/lazy_tab/lazy_tab.html,sha256=4Yww3cWMk7hLrRzcz7Vo_jTxQB2hxwSyEfyI0_gBP6I,4419
|
|
675
|
+
django_spire/core/templates/django_spire/lazy_tab/element/lazy_tab_section_element.html,sha256=TAvtm0yk_SsHGkoFndPF-V2_QXi-_py019DpkOHl3jo,597
|
|
676
|
+
django_spire/core/templates/django_spire/lazy_tab/element/lazy_tab_trigger_element.html,sha256=dExwdndbWEsF3SJGFgr_eHOkcbuI12ndM8WlpUukxrQ,520
|
|
667
677
|
django_spire/core/templates/django_spire/messages/messages.html,sha256=sHSLWhrsExQpDLX-PBlTDPHoIr25fVSO3eU2CXAyoDI,859
|
|
668
678
|
django_spire/core/templates/django_spire/messages/element/messages_element.html,sha256=Cx5Emj2E7wh7JFxA7LlJfUbZC5WvT6VNqtzVt1ivk-o,1827
|
|
669
679
|
django_spire/core/templates/django_spire/modal/center_modal.html,sha256=1ceBcqThMJrzrRuxTj4m8FOTcoKrLegArVm2hJfwosU,294
|
|
@@ -689,20 +699,21 @@ django_spire/core/templates/django_spire/page/delete_confirmation_form_page.html
|
|
|
689
699
|
django_spire/core/templates/django_spire/page/delete_form_page.html,sha256=0ZYlWgl3eVq2OTbu_C0UiHVfSIbj2gg_iJ7xeafHVu4,240
|
|
690
700
|
django_spire/core/templates/django_spire/page/form_full_page.html,sha256=5yp3EfOC2LlcTc0PYQ5MLuQvuw1QFPsMtnPvRdP0A2g,299
|
|
691
701
|
django_spire/core/templates/django_spire/page/full_page.html,sha256=HijZKeAlEwXVA2andd8A6RMpSTvaZ3aC6FVGDwSTJyc,12182
|
|
702
|
+
django_spire/core/templates/django_spire/page/infinite_scroll_list_page.html,sha256=q5rUOwuiMVHqE1ptOJ_NKzWE_TtZXN7z5WmBDToT-Rg,234
|
|
692
703
|
django_spire/core/templates/django_spire/page/page.html,sha256=D6qoyoo3E0_Qu8qov6c2YaYbJQ-LnZnCLKHb5bN0sOs,397
|
|
693
704
|
django_spire/core/templates/django_spire/speech/speech_recognition.html,sha256=0SiRq9L4wFPFl_c8WnwflsYFfQ2wVUPi7aklEPdZPjQ,805
|
|
694
705
|
django_spire/core/templates/django_spire/speech/speech_synthesis.html,sha256=25HetXDLzVWxC8hBnIuVbNXfvGxfaYvtZUPPtN0fkQY,805
|
|
695
706
|
django_spire/core/templates/django_spire/tab/tab.html,sha256=1zSIX0Xk337VV9Qa4tvoSJlhoT2LDTfEfCwJvESNG-Q,1964
|
|
696
707
|
django_spire/core/templates/django_spire/tab/element/tab_section_element.html,sha256=tEo0ENKhss74ll8HcFE9_kml35vusAfiMQHpudh3aEc,181
|
|
697
708
|
django_spire/core/templates/django_spire/tab/element/tab_trigger_element.html,sha256=9VmMhfEGa3ARHerwyXojtQWyIkUj9sOPGhckcQR3h6k,442
|
|
698
|
-
django_spire/core/templates/django_spire/table/base.html,sha256=
|
|
709
|
+
django_spire/core/templates/django_spire/table/base.html,sha256=O1tjCuNDd1s8d6Tqoo14xMZw89sTmfJJuAJV6dN5H4k,7197
|
|
699
710
|
django_spire/core/templates/django_spire/table/element/child_row.html,sha256=B0fIXw3-p7YREdNtpIBwijCom6RS64Lrzj-teRuvvKI,1916
|
|
700
711
|
django_spire/core/templates/django_spire/table/element/expandable_row.html,sha256=sAzzUeGishdYRUqs9t4lduxuxZaOzUYNhMfMytRLq90,1516
|
|
701
|
-
django_spire/core/templates/django_spire/table/element/footer.html,sha256=
|
|
702
|
-
django_spire/core/templates/django_spire/table/element/header.html,sha256=
|
|
712
|
+
django_spire/core/templates/django_spire/table/element/footer.html,sha256=fVxbDrVj4C9jIswkri7B2Dr4nEr2Lf_EPPULMU3mRs0,312
|
|
713
|
+
django_spire/core/templates/django_spire/table/element/header.html,sha256=NBx9Lfn3Dav5uEb-SlyB-vhZapCzxbfc2xxmrg7Bu3c,647
|
|
703
714
|
django_spire/core/templates/django_spire/table/element/loading_skeleton.html,sha256=b3EGdrXoFT1tku4dA_sWv8FAxck5ZZhef_9FumYZYNA,577
|
|
704
715
|
django_spire/core/templates/django_spire/table/element/refreshing_skeleton.html,sha256=nCoDCITzPewTYJ-vPDZiSCv1qhdhT2BqMwygIdF1tYg,562
|
|
705
|
-
django_spire/core/templates/django_spire/table/element/row.html,sha256=
|
|
716
|
+
django_spire/core/templates/django_spire/table/element/row.html,sha256=BoNZTjRs_cVG11CKK5VVocAq4p-UtB79FnhGPfSXKEo,3379
|
|
706
717
|
django_spire/core/templates/django_spire/table/element/trigger.html,sha256=KixtqIshbs8V1QSupIMxTe0UYJbK2oJIsqD8fZYxAOs,66
|
|
707
718
|
django_spire/core/templates/django_spire/table/item/no_data_item.html,sha256=PxTyI98edGtMxRdRzuEh1P_uOKRY_X5awrWXQsVb1jI,441
|
|
708
719
|
django_spire/core/templates/django_spire/tag/element/tag.html,sha256=Zx2HyGd-A01SrfohjHhPGjYrJj3h0xH0BUNFDD5BH_4,131
|
|
@@ -711,7 +722,7 @@ django_spire/core/templates/django_spire/wizard/wizard_page.html,sha256=emW5W2z_
|
|
|
711
722
|
django_spire/core/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
712
723
|
django_spire/core/templatetags/json.py,sha256=2XY8hQZrJOSmGMblL8bLRYD9hvUSQvhYaSJvwGaKzwU,280
|
|
713
724
|
django_spire/core/templatetags/message.py,sha256=y70pMv1ddttJ41c11O1S7h7v8h_gTtJVdXe67J4Ld3g,491
|
|
714
|
-
django_spire/core/templatetags/spire_core_tags.py,sha256=
|
|
725
|
+
django_spire/core/templatetags/spire_core_tags.py,sha256=5hUxjSMV9W4PBAo_P8C166pbhhBiaanmENGPETxKCRU,4546
|
|
715
726
|
django_spire/core/templatetags/string_formating.py,sha256=pE5ID0-cvOKfmbAIixVXEW3LN8_XLEF_OlpztHkiILk,444
|
|
716
727
|
django_spire/core/templatetags/variable_types.py,sha256=LFk9NO-LKBTBnXu04jLJ_miOKyuO-KAvqaBM8jwzg7s,686
|
|
717
728
|
django_spire/core/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -722,16 +733,16 @@ django_spire/core/tests/tests_shortcuts.py,sha256=4yJx_n6uFv99dOUNMfw4H91bFhS2cJ
|
|
|
722
733
|
django_spire/file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
723
734
|
django_spire/file/admin.py,sha256=3zTkTiDt9NjLGLW-mZxsPjdnqD5mk4fkjdcIu3VkP_c,1034
|
|
724
735
|
django_spire/file/apps.py,sha256=AGDhviujlmpQLYjNdF6UKnHYjo7wsYVCQUR5gZ8DAS4,932
|
|
725
|
-
django_spire/file/fields.py,sha256=
|
|
736
|
+
django_spire/file/fields.py,sha256=VcxNZ65SlzfClzxc3yYg9PZhM81HEF-cLAe6Dqi0T_c,1196
|
|
726
737
|
django_spire/file/forms.py,sha256=pEAW1y2bCzYgS_RJaJGTcePjT0Ip1ayNJh1_dTM0HC4,657
|
|
727
|
-
django_spire/file/interfaces.py,sha256=
|
|
738
|
+
django_spire/file/interfaces.py,sha256=YRwFMXl5SxUyP7nA-DuykwDJc7O8irmowGUXV_AqKEA,6277
|
|
728
739
|
django_spire/file/mixins.py,sha256=jSRljAO61EEVs74L0Ap74zfnE6Ful4Gsw7pe4wu7HGU,618
|
|
729
740
|
django_spire/file/models.py,sha256=FZCuThGV6cjKRvXWaDfxwzZTopVvGw51eEarcLHmiJ8,1506
|
|
730
741
|
django_spire/file/queryset.py,sha256=RNIVCFd-Z0sQCz2UfHfvR-fYOhoztVduf9WO-NlhiKM,289
|
|
731
742
|
django_spire/file/tools.py,sha256=QHKk0YNNDxks2VtkqmM0UKf3LXcrhIlUUZuNnWCNZ74,936
|
|
732
743
|
django_spire/file/urls.py,sha256=BadfH7ba7X4PDCmGhUEVqY3FFBfqaTqqOF1eNJxfR8A,364
|
|
733
744
|
django_spire/file/utils.py,sha256=gI8aVCw9-a4TJs3dRx2Ld5btlW1zcP5Ut22Rqpn7Aj0,157
|
|
734
|
-
django_spire/file/views.py,sha256=
|
|
745
|
+
django_spire/file/views.py,sha256=pUL69C0XziDrRz2urP-xcIWiOgfwOSRV_rXgTbVCdVw,1034
|
|
735
746
|
django_spire/file/widgets.py,sha256=ylS_FExzTfnDgW-0DCw79CtAM_ILSDjszUrUsO_3JD0,1282
|
|
736
747
|
django_spire/file/migrations/0001_initial.py,sha256=i7Btgk8Zst7mcEugZN3WMkeUcI44i0Ga_JrRuWk1fwc,1833
|
|
737
748
|
django_spire/file/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -795,7 +806,7 @@ django_spire/history/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
|
|
|
795
806
|
django_spire/history/admin.py,sha256=wNWX4hel9QfT2uME_V7-_IoA9V3AA8dhBk4Nw3F0Isg,886
|
|
796
807
|
django_spire/history/apps.py,sha256=pVcuuIfcu0kk4-TbmKguTxVmeZfWCz8-dHzbENFa9DY,396
|
|
797
808
|
django_spire/history/choices.py,sha256=tlMhIqGGeUaibw93yppqKUV4Lm3kCHzxx3NKWMsL4a4,274
|
|
798
|
-
django_spire/history/mixins.py,sha256=
|
|
809
|
+
django_spire/history/mixins.py,sha256=uQKZ0qlIWChPNwxCM59dwejKnnQV_c2zDWn4rsAg5qw,1617
|
|
799
810
|
django_spire/history/models.py,sha256=G886OmKoV7XPzg4x2sf7WJDazFi8YuQP9pz6E1r3CI4,1215
|
|
800
811
|
django_spire/history/querysets.py,sha256=12tWQVBE2-q3-95tskRtrzo5UgZdLSrmnXXz5smck-E,347
|
|
801
812
|
django_spire/history/activity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -805,7 +816,7 @@ django_spire/history/activity/mixins.py,sha256=9CTb9hWjElOQo5T2co_fdbImmXcKjTaQ4
|
|
|
805
816
|
django_spire/history/activity/models.py,sha256=d0RIseFt3e1fjYWgKQhKL4jLesrMfyNpSmVcv8WE8vg,2470
|
|
806
817
|
django_spire/history/activity/querysets.py,sha256=gJa_4HXRlcafceDRXIlqH10xf4orWVifB8Mm8V2juNE,148
|
|
807
818
|
django_spire/history/activity/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
|
|
808
|
-
django_spire/history/activity/utils.py,sha256=
|
|
819
|
+
django_spire/history/activity/utils.py,sha256=Tt2Elt6ci-6ILOva8SxQHHuOFUg2yu6wknX7l70x6Lg,599
|
|
809
820
|
django_spire/history/activity/views.py,sha256=xc1IQHrsij7j33TUbo-_oewy3vs03pw_etpBWaMYJl0,63
|
|
810
821
|
django_spire/history/activity/migrations/0001_initial.py,sha256=dctWUdc1iWHOEDEuZuWVXr8ejVfF7V72YWpkx_rmWr8,2844
|
|
811
822
|
django_spire/history/activity/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -1034,7 +1045,7 @@ django_spire/notification/utils.py,sha256=cc2qHoKHv9xUfqkUljN2hPSPUmgnXS30dIez3e
|
|
|
1034
1045
|
django_spire/notification/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1035
1046
|
django_spire/notification/app/admin.py,sha256=WG6Ig6ASaIq2NKLiWD4Go-rEJK8I0gPJE0ceMN921Qw,270
|
|
1036
1047
|
django_spire/notification/app/apps.py,sha256=lzttQ75ldEakrDip9Dzz4ofZzWpQj8dHnV2gZTMdGaA,413
|
|
1037
|
-
django_spire/notification/app/context_data.py,sha256=
|
|
1048
|
+
django_spire/notification/app/context_data.py,sha256=r8U2IzaptkcF673yKjSvzY1fiTTPFMLqMcdvjhohhOw,1063
|
|
1038
1049
|
django_spire/notification/app/exceptions.py,sha256=CBCMuzm8I8kYW67qBHpZwKB5YordzufjsJ7prKcOo2E,122
|
|
1039
1050
|
django_spire/notification/app/models.py,sha256=-vWoB2Hjacp5KDg-do-9YdVNgMW8ML5oN7vFXsh2-u8,2081
|
|
1040
1051
|
django_spire/notification/app/processor.py,sha256=Di_sgwvAHbq7aO7p3J6LTFRmYNgfa5qxsOSqIYwefeI,2873
|
|
@@ -1053,9 +1064,9 @@ django_spire/notification/app/urls/json_urls.py,sha256=ZLOg5ZSIYIqCicfinGsvqWB5u
|
|
|
1053
1064
|
django_spire/notification/app/urls/page_urls.py,sha256=F5aqfAooAo3ktwwZSHC5wgVIwqXjA5BqxyYtPZEs1Sk,273
|
|
1054
1065
|
django_spire/notification/app/urls/template_urls.py,sha256=WLAcXMHjGhbBt_qLmWXLEeLU0C9aXU2PcxXYs3XDzt4,297
|
|
1055
1066
|
django_spire/notification/app/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1056
|
-
django_spire/notification/app/views/json_views.py,sha256=
|
|
1057
|
-
django_spire/notification/app/views/page_views.py,sha256=
|
|
1058
|
-
django_spire/notification/app/views/template_views.py,sha256=
|
|
1067
|
+
django_spire/notification/app/views/json_views.py,sha256=WhdbbeZyzf408vHMUgMQ9ERbawQk085A-Nlrxzve56U,1466
|
|
1068
|
+
django_spire/notification/app/views/page_views.py,sha256=Wt6vUoD3qS2b8K3JFj-YKbE81oF0F3Tfi_IEOoadKoA,961
|
|
1069
|
+
django_spire/notification/app/views/template_views.py,sha256=4yNJdw-KBLRqK16HMx13geCHjb4wLBjrw8TAcXU9fiE,1173
|
|
1059
1070
|
django_spire/notification/email/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1060
1071
|
django_spire/notification/email/admin.py,sha256=qpz1nfYx9oy_Bvnkc5wtZktP_7KNzBOjPwIG1s2G7A8,264
|
|
1061
1072
|
django_spire/notification/email/apps.py,sha256=xePF3Rnc2IEWxFF-jO_vNi-ynl-WGQ4yCvX6itfLfaE,419
|
|
@@ -1103,14 +1114,33 @@ django_spire/notification/sms/urls/media_urls.py,sha256=fYAW8LWMwUe5nP2QuWWdnhuS
|
|
|
1103
1114
|
django_spire/notification/sms/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1104
1115
|
django_spire/notification/sms/views/media_views.py,sha256=STrTC1irBSHEFQ0SZfUhpBI9Xmc6luWDf7Lembfd5Ic,1080
|
|
1105
1116
|
django_spire/profiling/__init__.py,sha256=V5zHoTaqGCOU-gfwkGQI01XcXeRYoAjO103yDkk1tIQ,251
|
|
1106
|
-
django_spire/profiling/panel.py,sha256=
|
|
1117
|
+
django_spire/profiling/panel.py,sha256=SSVlqlk31bTxGlmI-iM2G66MrdgVCPGujOAyyBlUGOk,9548
|
|
1107
1118
|
django_spire/profiling/middleware/__init__.py,sha256=K6wjo7xUhOAJaB5Vbqa5JRf3EQM78NwToz_VtW3zz78,148
|
|
1108
|
-
django_spire/profiling/middleware/profiling.py,sha256=
|
|
1119
|
+
django_spire/profiling/middleware/profiling.py,sha256=gqaTuNGMgE-yUt_BGjiu1qa6teEXUshipCdJqxdB0Rk,5081
|
|
1109
1120
|
django_spire/profiling/templates/panel.html,sha256=YNK5ypTpUezWCtT0CE-awIpKPo4pKOPo9wbD4fkzgwc,6684
|
|
1121
|
+
django_spire/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1122
|
+
django_spire/testing/playwright/__init__.py,sha256=u8F3kPdEqD1HqL_vMHtUgkJiIsPzC7IqjtrXhAoB0Ng,1216
|
|
1123
|
+
django_spire/testing/playwright/fixtures.py,sha256=ACTOLE3c97-ZpCx_ufKAPqylk1SbAmIniXU3Lzz8cCY,1344
|
|
1124
|
+
django_spire/testing/playwright/components/__init__.py,sha256=hsIt8E09S_qm5cORGVvYlI5POgSuieK1RWSADhlH5dA,1839
|
|
1125
|
+
django_spire/testing/playwright/components/accordion.py,sha256=p0H5HkVIocy-wioO62J2xSyTgb0r6MBCv1z2coqhCTI,1466
|
|
1126
|
+
django_spire/testing/playwright/components/attribute_element.py,sha256=kitt86APvlgVO6JVvMYseyxLT6CZsoXLgyI-_fvDG-g,2363
|
|
1127
|
+
django_spire/testing/playwright/components/base_session_filter_form.py,sha256=U48Elaq9lzR5mItuRyBXMZgAX_RP13urupX_Qw1Y3s8,1861
|
|
1128
|
+
django_spire/testing/playwright/components/breadcrumb_element.py,sha256=rFLKR_2QOiY66QT3y5udj2zXKbRfjZBaoUDdSM-V4n0,1525
|
|
1129
|
+
django_spire/testing/playwright/components/card.py,sha256=rAzOzfVqfJ6WILXNrGduiwQ3ICUsaBLZCzeoA_jq070,2959
|
|
1130
|
+
django_spire/testing/playwright/components/dropdown.py,sha256=Zg2yMRERaaOWse1i2LtWPm8lR47WNO2LVEZr7XC44_s,2364
|
|
1131
|
+
django_spire/testing/playwright/components/infinite_scroll.py,sha256=qSqVFVhuUVsduMwiOdrU8L0f4I8EJekbrqFALMrTmJk,4993
|
|
1132
|
+
django_spire/testing/playwright/components/lazy_tab.py,sha256=WNUmYWmiOQrwBDvVOwNj7PT4XU9SSMqWLXszm8bZ3Qk,2555
|
|
1133
|
+
django_spire/testing/playwright/components/modal.py,sha256=YglC9zn63mp3lZTPhoZhvuSvOCksMSsLQTxrDIbfo5Y,2852
|
|
1134
|
+
django_spire/testing/playwright/components/navigation.py,sha256=1Qf0DXjgZtnfqWTYfO0FzxRRg84hUpRwDiz3gqV1oK4,3367
|
|
1135
|
+
django_spire/testing/playwright/components/notification_bell.py,sha256=yg2S1vErm7LVye0aGBjiiJivhexX0sFeAhqpdgWyezs,1500
|
|
1136
|
+
django_spire/testing/playwright/components/theme_selector.py,sha256=ZA4uTmwi33C3hj111II2RlpXOMMDLkIg5kBKhcViwJ4,1332
|
|
1137
|
+
django_spire/testing/playwright/components/toast.py,sha256=VaF4u022KePmZEP43D55-oqNpZqEaoviCJVwVit30Tk,2227
|
|
1138
|
+
django_spire/testing/playwright/pages/__init__.py,sha256=pCAj6WqPXv1yu2LFEP1p1x0hOJU_j2InobEymHQ8lEc,96
|
|
1139
|
+
django_spire/testing/playwright/pages/base.py,sha256=Fl5JQhWqP05dMTaXPQu67QvtGV7apYXeYjRH7F0BIHA,653
|
|
1110
1140
|
django_spire/theme/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1111
1141
|
django_spire/theme/apps.py,sha256=yol2S7ooTuplc8JKETEg6oAu9hpeHUpJ6wt1Bo3dQ3E,479
|
|
1112
1142
|
django_spire/theme/enums.py,sha256=Pe5snW7q_fws50vAnfx1JvRCW5G9WeWxsAiU3s6lWpE,409
|
|
1113
|
-
django_spire/theme/models.py,sha256=
|
|
1143
|
+
django_spire/theme/models.py,sha256=Zy__kImVfeFiwuiDxjE5lTjYK_gbgfz624AO13OUMMU,4102
|
|
1114
1144
|
django_spire/theme/utils.py,sha256=Ka3CfK7BzBDOJWTw6XO097cqpdkXothWxPvUwFpjdv8,377
|
|
1115
1145
|
django_spire/theme/templates/django_spire/theme/card/badges_preview_card.html,sha256=0fNfmL4IyQRrK5Kry95j6APQk3sAJv2XqjodPzOxwWg,1429
|
|
1116
1146
|
django_spire/theme/templates/django_spire/theme/card/base_preview_card.html,sha256=2aKpoNTh6jHE9TT_enKJ9ZChFol9LgPq-y88um_vpZo,658
|
|
@@ -1150,7 +1180,7 @@ django_spire/theme/templates/django_spire/theme/section/color_section_card.html,
|
|
|
1150
1180
|
django_spire/theme/templates/django_spire/theme/section/typography_section.html,sha256=VWvstH1qXBYWSgRWm0Gwge7wNNvZ1AzPGXkKk61e73w,5668
|
|
1151
1181
|
django_spire/theme/templates/django_spire/theme/section/typography_section_card.html,sha256=cgshyWYzFF__fcAXTxxxMd2jAb6TGAjTIL-GZI4dsHs,155
|
|
1152
1182
|
django_spire/theme/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1153
|
-
django_spire/theme/tests/test_context_processor.py,sha256=
|
|
1183
|
+
django_spire/theme/tests/test_context_processor.py,sha256=1fNUaUZzAqm160VNNEn04lBXyFSU3cWYuKdA2TTnjGc,2992
|
|
1154
1184
|
django_spire/theme/tests/test_enums.py,sha256=-s4zUD8F08dzoVfBkjwjpfzmX6X4h8hZ4x9k8EGsmvo,765
|
|
1155
1185
|
django_spire/theme/tests/test_filesystem.py,sha256=o18Hqkf7iUE1XYP2GfN-upnTFYM3nhzuU9e0Jq3RmZQ,6629
|
|
1156
1186
|
django_spire/theme/tests/test_integration.py,sha256=QTRHxQWy-c8Uz2K_P8aipxRDOSuEvWVRHsib6fQGNPs,1869
|
|
@@ -1161,10 +1191,10 @@ django_spire/theme/urls/__init__.py,sha256=0AGqZ-kWrE50HwlFRH_t19qO7CH1OqGLtPrf6
|
|
|
1161
1191
|
django_spire/theme/urls/json_urls.py,sha256=CHqKcicKQpKI3OrlxTOQKgdYvzHWZDgScqpCDu9r7oU,247
|
|
1162
1192
|
django_spire/theme/urls/page_urls.py,sha256=S8nkKkgbhG3XHI3uMUL-piOjXIrRkuY2UlM_JNX4L3Q,641
|
|
1163
1193
|
django_spire/theme/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1164
|
-
django_spire/theme/views/json_views.py,sha256=
|
|
1165
|
-
django_spire/theme/views/page_views.py,sha256=
|
|
1166
|
-
django_spire-0.
|
|
1167
|
-
django_spire-0.
|
|
1168
|
-
django_spire-0.
|
|
1169
|
-
django_spire-0.
|
|
1170
|
-
django_spire-0.
|
|
1194
|
+
django_spire/theme/views/json_views.py,sha256=PWwVTaty0BVGbj65L5cxex6JNhc-xVAI_rEYjbJWqEM,1893
|
|
1195
|
+
django_spire/theme/views/page_views.py,sha256=WenjOa6Welpu3IMolY56ZwBjy4aK9hpbiMNuygjAl1A,3922
|
|
1196
|
+
django_spire-0.23.0.dist-info/licenses/LICENSE.md,sha256=tlTbOtgKoy-xAQpUk9gPeh9O4oRXCOzoWdW3jJz0wnA,1091
|
|
1197
|
+
django_spire-0.23.0.dist-info/METADATA,sha256=D_Ci76LXS9AAtpSki9idJoi2EBdAta3wPc3OluSfq5A,5127
|
|
1198
|
+
django_spire-0.23.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
1199
|
+
django_spire-0.23.0.dist-info/top_level.txt,sha256=xf3QV1e--ONkVpgMDQE9iqjQ1Vg4--_6C8wmO-KxPHQ,13
|
|
1200
|
+
django_spire-0.23.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|