simo 2.1.10__py3-none-any.whl → 2.1.12__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 simo might be problematic. Click here for more details.

Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
simo/core/middleware.py CHANGED
@@ -1,9 +1,8 @@
1
1
  import pytz
2
2
  import threading
3
- import time
4
- from django.urls import set_script_prefix
3
+ import re
5
4
  from django.utils import timezone
6
- from simo.conf import dynamic_settings
5
+
7
6
 
8
7
  _thread_locals = threading.local()
9
8
 
simo/core/storage.py CHANGED
@@ -1,18 +1,9 @@
1
1
  import os
2
- from django.contrib.staticfiles.storage import StaticFilesStorage as OrgStaticFilesStorage
3
2
  from django.core.files.storage import FileSystemStorage as OrgFileSystemStorage
4
3
  from django.conf import settings
5
4
 
6
5
 
7
- class ProxyingStaticFilesStorage(OrgStaticFilesStorage):
8
- pass
9
-
10
-
11
- class ProxyingFileSystemStorage(OrgFileSystemStorage):
12
- pass
13
-
14
-
15
- class OverwriteStorage(ProxyingFileSystemStorage):
6
+ class OverwriteStorage(OrgFileSystemStorage):
16
7
 
17
8
  def get_available_name(self, name, max_length=None):
18
9
  if self.exists(name):
simo/core/views.py CHANGED
@@ -1,11 +1,13 @@
1
1
  import time
2
2
  import threading
3
3
  import subprocess
4
+ import re
4
5
  from django.contrib.auth.decorators import login_required
5
6
  from django.urls import reverse
6
7
  from django.shortcuts import redirect
7
- from django.http import HttpResponse, Http404
8
+ from django.http import HttpResponse, Http404, JsonResponse
8
9
  from django.contrib import messages
10
+ from simo.conf import dynamic_settings
9
11
  from .models import Instance
10
12
  from .tasks import update as update_task, supervisor_restart
11
13
  from .middleware import introduce_instance
@@ -68,4 +70,15 @@ def set_instance(request, instance_slug):
68
70
 
69
71
  if request.META.get('HTTP_REFERER'):
70
72
  return redirect(request.META.get('HTTP_REFERER'))
71
- return redirect(reverse('admin:index'))
73
+ return redirect(reverse('admin:index'))
74
+
75
+
76
+ def hub_info(request):
77
+ data = {"hub_uid": dynamic_settings['core__hub_uid']}
78
+ if not Instance.objects.filter(is_active=True).count():
79
+ if 'localhost' in request.get_host() or re.findall(
80
+ r'[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}',
81
+ request.get_host()
82
+ ):
83
+ data['hub_secret'] = dynamic_settings['core__hub_secret']
84
+ return JsonResponse(data)
Binary file
simo/fleet/utils.py CHANGED
@@ -83,7 +83,7 @@ for no in range(126, 133):
83
83
  }
84
84
 
85
85
 
86
- for no in range(101, 133):
86
+ for no in range(101, 139):
87
87
  GPIO_PINS['game-changer'][no] = {
88
88
  'output': True, 'input': True, 'default_pull': 'LOW',
89
89
  'native': False, 'adc': False,
@@ -383,6 +383,7 @@ class Thermostat(ControllerBase):
383
383
  cooler.turn_off()
384
384
  self.component.value['cooling'] = False
385
385
 
386
+ self.component.error_msg = None
386
387
  self.component.alive = True
387
388
  self.component.save()
388
389
 
simo/generic/models.py CHANGED
@@ -126,7 +126,13 @@ def bind_controlling_locks_to_alarm_groups(sender, instance, *args, **kwargs):
126
126
  config__arming_locks__contains=instance.id
127
127
  ):
128
128
  if ag.config.get('arm_on_away') in (None, 'on_away'):
129
+ for ag in Component.objects.filter(
130
+ base_type=AlarmGroup.base_type,
131
+ config__arming_locks__contains=instance.id
132
+ ):
133
+ ag.arm()
129
134
  continue
135
+
130
136
  users_at_home = InstanceUser.objects.filter(
131
137
  instance=instance.instance, at_home=True
132
138
  ).exclude(is_active=False).exclude(id=instance.id).count()
simo/settings.py CHANGED
@@ -223,11 +223,6 @@ LOGIN_REDIRECT_URL = "/admin/"
223
223
  LOGOUT_REDIRECT_URL = 'https://simo.io/hubs/my-hubs/'
224
224
 
225
225
 
226
- STATICFILES_STORAGE = 'simo.core.storage.ProxyingStaticFilesStorage'
227
- DEFAULT_FILE_STORAGE = 'simo.core.storage.ProxyingFileSystemStorage'
228
- THUMBNAIL_DEFAULT_STORAGE = DEFAULT_FILE_STORAGE
229
-
230
-
231
226
  SITE_ID = 1
232
227
 
233
228
  LOGGING = {
simo/urls.py CHANGED
@@ -12,6 +12,7 @@ from rest_framework import routers
12
12
  from rest_framework.viewsets import GenericViewSet
13
13
  from django.contrib.admin import site as admin_site
14
14
  from simo.users.views import protected_static
15
+ from simo.core.views import hub_info
15
16
 
16
17
 
17
18
 
@@ -43,6 +44,7 @@ urlpatterns = [
43
44
  ),
44
45
  path('logout/', LogoutView.as_view(), name='logout'),
45
46
  path('admin/', admin_site.urls),
47
+ path('api-hub-info/', hub_info),
46
48
  path('api/<instance_slug>/', include(rest_router.urls)),
47
49
 
48
50
  ]
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: simo
3
- Version: 2.1.10
3
+ Version: 2.1.12
4
4
  Summary: Smart Home on Steroids!
5
5
  Author-email: Simanas Venčkauskas <simanas@simo.io>
6
6
  Project-URL: Homepage, https://simo.io
@@ -3,14 +3,14 @@ simo/asgi.py,sha256=RphoxqFJjh8Tm8RGC2ztDfFedCyn3a3JQwsLMdAtuaM,863
3
3
  simo/celeryc.py,sha256=eab7_e9rw0c__DCeoUFUh_tjAGVlulxVrk75BaJf57Q,1512
4
4
  simo/conf.py,sha256=H2BhXAV8MEDVXF8AbkaLSfR4ULd-9_bS4bnhE5sE5fg,112
5
5
  simo/scripting.py,sha256=PVIkGsiMDWj4CNTbOM3rq7pJ6ruavuns-ZMU7VudLa4,923
6
- simo/settings.py,sha256=AVTTNjLEdghdBMSOP9BCoI6dG6b5aZ-c6tU3D4qySkc,7142
7
- simo/urls.py,sha256=PgKGCZON3SAL3Hh9vVDWVJ9zDQO5ZPsRQLz_s5GWSV0,2328
6
+ simo/settings.py,sha256=p1T_M-eooNjIAcqRPTYsQRMTRNeOAgi24ZJ703nYKh4,6953
7
+ simo/urls.py,sha256=fRmAsNQ_pzFloimLmxNeDcR6hHRJ3rOoZ3kGy8zOQ_A,2402
8
8
  simo/__pycache__/__init__.cpython-38.pyc,sha256=j81de0BqHMr6bs0C7cuYrXl7HwtK_vv8hDEtAdSwDJc,153
9
9
  simo/__pycache__/asgi.cpython-38.pyc,sha256=UI_puPxc6q4otRqtz0IALTwrh00975iGxc0UyQgLreQ,891
10
10
  simo/__pycache__/celeryc.cpython-38.pyc,sha256=eSRoaKwfYlxVaxAiwqpQ2ndEcx7W-VpZtbxRFSV8UYg,1653
11
11
  simo/__pycache__/conf.cpython-38.pyc,sha256=MYP2yk3ULxiYwZsZR6tCLjKnU-z03A3avzQzIn66y3k,273
12
- simo/__pycache__/settings.cpython-38.pyc,sha256=0dZH8Nn7VxWgdwVyieyaGo_2QaihD2r592oyIiSYods,6287
13
- simo/__pycache__/urls.cpython-38.pyc,sha256=sqfstQthcjXtv31Tad0RAlWWI2A0HH6HN0fW0VmmWQw,2050
12
+ simo/__pycache__/settings.cpython-38.pyc,sha256=ZdhdXOZPZOAljVIHlClO3YFQLpRlqi4LnwLKXcoCcRk,6108
13
+ simo/__pycache__/urls.cpython-38.pyc,sha256=u0x6EqT8S1YfDOSPgbI8Kf-RDlveY9OV-EDXMYKAQ7w,2125
14
14
  simo/__pycache__/wsgi.cpython-38.pyc,sha256=TpRxO7VM_ql31hbKphVdanydC5RI1nHB4l0QA2pdWxo,322
15
15
  simo/core/__init__.py,sha256=_s2TjJfQImsMrTIxqLAx9AZie1Ojmm6sCHASdl3WLGU,50
16
16
  simo/core/admin.py,sha256=Gb1lSyvFtYj2oC5lA7j3VqU6zlqlncx5R-_XJbb8Wdk,17927
@@ -32,22 +32,22 @@ simo/core/forms.py,sha256=QTPEe7nxzhg8NNCQFsVJpoO1LQW6MNNTHkEhBs7keYw,21386
32
32
  simo/core/gateways.py,sha256=m0eS3XjVe34Dge6xtoCq16kFWCKJcdQrT0JW0REqoq8,3715
33
33
  simo/core/loggers.py,sha256=EBdq23gTQScVfQVH-xeP90-wII2DQFDjoROAW6ggUP4,1645
34
34
  simo/core/managers.py,sha256=sCo9R7ctGepYK-uspl7cR-KFBrJxSy3TZkbWbOP0YHs,2914
35
- simo/core/middleware.py,sha256=pO52hQOJV_JRmNyUe7zfufSnJFlRITOWX6jwkoPWJhk,2052
35
+ simo/core/middleware.py,sha256=Go4DAdnXWd7i0ZEbftwfcZI5YGjZ31aQqDzWE4s676c,1970
36
36
  simo/core/models.py,sha256=Mg6UjGQjA5WtxO2kq9fO-iW2f9UzDh58etcZ9-X5RSU,21570
37
37
  simo/core/permissions.py,sha256=D8JA3gdsbSfA1Lz6-AIP5ILsYYZ59_Rw4csLqVpuKuE,2928
38
38
  simo/core/routing.py,sha256=X1_IHxyA-_Q7hw1udDoviVP4_FSBDl8GYETTC2zWTbY,499
39
39
  simo/core/serializers.py,sha256=K13SDW-FIcNiRYmJufSDS2EkRAW3cuoiHRByof2DYXQ,20629
40
40
  simo/core/signal_receivers.py,sha256=9-qFCCeSLcMFEMg6QUtKOVgUsoNoqhzGoI98nuNSTEo,6228
41
41
  simo/core/socket_consumers.py,sha256=n7VE2Fvqt4iEAYLTRbTPOcI-7tszMAADu7gimBxB-Fg,9635
42
- simo/core/storage.py,sha256=YlxmdRs-zhShWtFKgpJ0qp2NDBuIkJGYC1OJzqkbttQ,572
42
+ simo/core/storage.py,sha256=_5igjaoWZAiExGWFEJMElxUw55DzJG1jqFty33xe8BE,342
43
43
  simo/core/tasks.py,sha256=BAnCnNPuHtZQL9CG4n_e6G_aKL0aZBZFjp-HOWQg4O0,14049
44
44
  simo/core/todos.py,sha256=eYVXfLGiapkxKK57XuviSNe3WsUYyIWZ0hgQJk7ThKo,665
45
45
  simo/core/types.py,sha256=WJEq48mIbFi_5Alt4wxWMGXxNxUTXqfQU5koH7wqHHI,1108
46
- simo/core/views.py,sha256=ze8yX0PBLN-DH8B8jol6NKj0hLOAE4WA1rTXf07G-MU,2129
46
+ simo/core/views.py,sha256=VVqfEPzK0EdbVMMarkG8rd7cODG5QHpXnr3e8UdrTQE,2600
47
47
  simo/core/widgets.py,sha256=J9e06C6I22F6xKic3VMgG7WeX07glAcl-4bF2Mg180A,2827
48
48
  simo/core/__pycache__/__init__.cpython-38.pyc,sha256=ZJFM_XN0RmJMULQulgA_wFiOnEtsMoedcOWnXjH-Y8o,208
49
49
  simo/core/__pycache__/admin.cpython-38.pyc,sha256=Lqs-wHz-vxGEo7ApOk6nkpNwfxselcFHqAUozotdZU4,13231
50
- simo/core/__pycache__/api.cpython-38.pyc,sha256=8deqsTEUmnRJxarLWVOzmgHJqPdemM_qvy-1g_RUXG0,21721
50
+ simo/core/__pycache__/api.cpython-38.pyc,sha256=tECqcoyjHT9f2o0qt9aQlamf6a-i2CMNn-IWWuToocQ,21736
51
51
  simo/core/__pycache__/api_auth.cpython-38.pyc,sha256=6M9Cl_ha4y_Vf8Rv4GMYL8dcBCmp0KzYi6jn3SQTgys,1712
52
52
  simo/core/__pycache__/api_meta.cpython-38.pyc,sha256=VYx5ZeDyNBI4B_CBEIhV5B3GnLsMOx9s3rNZTSMODco,3703
53
53
  simo/core/__pycache__/app_widgets.cpython-38.pyc,sha256=vUCEAYqppjgRZYMs6pTuSxWWuZxreLygPuPBGw044dQ,3643
@@ -57,7 +57,7 @@ simo/core/__pycache__/autocomplete_views.cpython-38.pyc,sha256=hJ6JILI1LqrAtpQMv
57
57
  simo/core/__pycache__/base_types.cpython-38.pyc,sha256=hmq22vvGyCmhbYyuV6bFAOOSIupspgW5yq_VzqWd-vY,759
58
58
  simo/core/__pycache__/context.cpython-38.pyc,sha256=MSZPDhqMhCpUuBJl3HCIBHZA3BntYeP8RAnQcdqAH9k,1278
59
59
  simo/core/__pycache__/controllers.cpython-38.pyc,sha256=hqSv7xLR6qhK-d7Ymu17aVeHfVqPkLR9IiTs646vV5E,26574
60
- simo/core/__pycache__/dynamic_settings.cpython-38.pyc,sha256=BFZG__TKP8T7v138Jbva4MqYQh7H99laKaXIETsbSHQ,2198
60
+ simo/core/__pycache__/dynamic_settings.cpython-38.pyc,sha256=9ge2uV4QBKdA4f2pIZp4EIGB9vY2z4IUb-UMc4ZY0I4,2384
61
61
  simo/core/__pycache__/events.cpython-38.pyc,sha256=A1Axx-qftd1r7st7wkO3DkvTdt9-RkcJe5KJhpzJVk8,5109
62
62
  simo/core/__pycache__/filters.cpython-38.pyc,sha256=VIMADCBiYhziIyRmxAyUDJluZvuZmiC4bNYWTRsGSao,721
63
63
  simo/core/__pycache__/form_fields.cpython-38.pyc,sha256=u0voKXkA64xbH6LY_-jMBHQS4mOJZZeuB9WTvtv9JWE,3433
@@ -65,17 +65,17 @@ simo/core/__pycache__/forms.cpython-38.pyc,sha256=gDYKULuBTMLxrKfzWXaLDbxuCJvhi2
65
65
  simo/core/__pycache__/gateways.cpython-38.pyc,sha256=D1ooHL-iSpQrxnD8uAl4xWFJmm-QWZfbkLiLlFOMtdU,4553
66
66
  simo/core/__pycache__/loggers.cpython-38.pyc,sha256=Z-cdQnC6XlIonPV4Sl4E52tP4NMEdPAiHK0cFaIL7I8,1623
67
67
  simo/core/__pycache__/managers.cpython-38.pyc,sha256=wuZuRuyf_mZwM0DJeA83mewOLunfz4-miA2YEQphE60,3292
68
- simo/core/__pycache__/middleware.cpython-38.pyc,sha256=ESR5JPtITo9flczO0672sfzYUxrc_cQU0e0w5DFL-60,2038
69
- simo/core/__pycache__/models.cpython-38.pyc,sha256=q-rGNkbO2wtAhoe1TRIOapHTuCoogpF9y7iBxZnuIKo,17753
68
+ simo/core/__pycache__/middleware.cpython-38.pyc,sha256=94jRByEYOhsIuiMgPq_oHrRKrvD8rgQw8plS0n1Mrz8,1933
69
+ simo/core/__pycache__/models.cpython-38.pyc,sha256=rKg-_vQ-3L3_NKbCd0HIij7Nyev1t7SOz32-6PS4Rds,17907
70
70
  simo/core/__pycache__/permissions.cpython-38.pyc,sha256=pg11ulzmKh4IeWGPIDJ-KYG-S0dKyY5lHh-S3iljb0E,2930
71
71
  simo/core/__pycache__/routing.cpython-38.pyc,sha256=3T3FPJ8Cn99xZCGvMyg2xjl7al-Shm9CelbSpkJtNP8,599
72
72
  simo/core/__pycache__/serializers.cpython-38.pyc,sha256=DhfGacxAy35un3edthOzgOWeVFbD93bvBWCJ4cAMPN4,19280
73
73
  simo/core/__pycache__/signal_receivers.cpython-38.pyc,sha256=3Bt9S47DR_ZFS3O-crElFgLLXPIYyDgPIc2ibwEkaic,4904
74
74
  simo/core/__pycache__/socket_consumers.cpython-38.pyc,sha256=NJUr7nRyHFvmAumxxWpsod5wzVVZM99rCEuJs1utHA4,8432
75
- simo/core/__pycache__/storage.cpython-38.pyc,sha256=BTkYH8QQyjqI0WOtJC8fHNtgu0YA1vjqZclXjC2vCVI,1116
76
- simo/core/__pycache__/tasks.cpython-38.pyc,sha256=HAYNyqMYRWdObXs72e_svZrq2QMSC8HBi_4CGLxGTNU,10076
75
+ simo/core/__pycache__/storage.cpython-38.pyc,sha256=9R1Xu0FJDflfRXUPsqEgt0SpwiP7FGk7HaR8s8XRyI8,721
76
+ simo/core/__pycache__/tasks.cpython-38.pyc,sha256=O3FjdRHaMDFiuOGMCrzaMjNYSpekogYXbEzD8IUfkv0,9604
77
77
  simo/core/__pycache__/todos.cpython-38.pyc,sha256=lOqGZ58siHM3isoJV4r7sg8igrfE9fFd-jSfeBa0AQI,253
78
- simo/core/__pycache__/views.cpython-38.pyc,sha256=ULyoiWRiU_auXTuxzi2RyqYIea9VfaiMuTzkMAWaWOA,2343
78
+ simo/core/__pycache__/views.cpython-38.pyc,sha256=D7X_fFxYySe-mKNB4bEnIt9ubYM7CbbRcIpX52Ou4RE,2809
79
79
  simo/core/__pycache__/widgets.cpython-38.pyc,sha256=sR0ZeHCHrhnNDBJuRrxp3zUsfBp0xrtF0xrK2TkQv1o,3520
80
80
  simo/core/db_backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
81
  simo/core/db_backend/base.py,sha256=wY5jsZ8hQpwot3o-7JNtDe33xy-vlfMLXa011htDojI,601
@@ -10200,7 +10200,7 @@ simo/fleet/routing.py,sha256=cofGsVWXMfPDwsJ6HM88xxtRxHwERhJ48Xyxc8mxg5o,149
10200
10200
  simo/fleet/serializers.py,sha256=-16BjY_bp9VbDOYuD0V54h7r_RHpuLNkJX0SydWL9aU,2247
10201
10201
  simo/fleet/socket_consumers.py,sha256=aBNTxvYIw5a5l2ns9x0LnjVJvp4NValEJG4MT4hGAT0,17903
10202
10202
  simo/fleet/tasks.py,sha256=AGq9BXFNAqkhOANsPvId8yjEbDtVCB3MRsi_AKDpgIM,821
10203
- simo/fleet/utils.py,sha256=yKmNibif94FerynqLXQMYUcVZ4FHDD1CNxkdJou38xw,4455
10203
+ simo/fleet/utils.py,sha256=BYqvLexbIJzBdPVPsPuMfkrzM0zHVwo0HPkCFBxOJEQ,4455
10204
10204
  simo/fleet/views.py,sha256=OzsumjMjjt2WEXuThBzSAHcTNLU2dyBtvz4IyeHoAaA,3226
10205
10205
  simo/fleet/__pycache__/__init__.cpython-38.pyc,sha256=pIZE7EL6-cuJ3pQtaSwjKLrKLsTYelp1k9sRhXKLh6s,159
10206
10206
  simo/fleet/__pycache__/admin.cpython-38.pyc,sha256=IqVvpyyOnHChnEc07GubvtH6Tk1PA0rcYGYrJDg0hm4,6503
@@ -10212,12 +10212,12 @@ simo/fleet/__pycache__/controllers.cpython-38.pyc,sha256=61dvQDl2nIuB4iaCzdBMwQn
10212
10212
  simo/fleet/__pycache__/forms.cpython-38.pyc,sha256=7B6NZnY6yS8qrmv5zlTa07iUYmdv4nW7PTpOVfRn3OY,37436
10213
10213
  simo/fleet/__pycache__/gateways.cpython-38.pyc,sha256=0RKVn0ndreVKhsrukqeLPSdMnRrsQ_W7yeVeBkRLfIk,5058
10214
10214
  simo/fleet/__pycache__/managers.cpython-38.pyc,sha256=8uz-xpUiqbGDgXIZ_XRZtFb-Tju6NGxflGg-Ee4Yo6k,1310
10215
- simo/fleet/__pycache__/models.cpython-38.pyc,sha256=yudhmE7zhXN5t3b63N6TwAtBLC4OXiAZiNBzki3SuHI,13664
10215
+ simo/fleet/__pycache__/models.cpython-38.pyc,sha256=xmzziQxCWL7TLNhOsHWeIvlJJ4ondGq1Td6cmmDVyvg,13664
10216
10216
  simo/fleet/__pycache__/routing.cpython-38.pyc,sha256=aPrCmxFKVyB8R8ZbJDwdPdFfvT7CvobovvZeq_mqRgY,314
10217
10217
  simo/fleet/__pycache__/serializers.cpython-38.pyc,sha256=9ljhwoHkolcVrJwOVbYCbGPAUKgALRwor_M3W_K0adE,3173
10218
10218
  simo/fleet/__pycache__/socket_consumers.cpython-38.pyc,sha256=oAnUJbrKjhC3-G-o4F-bx3ZztQf7JhmHi-Sh3cm4-4s,13549
10219
10219
  simo/fleet/__pycache__/tasks.cpython-38.pyc,sha256=RoNxL2WUiW67s9O9DjaYVVjCBSZu2nje0Qn9FJkWVS0,1116
10220
- simo/fleet/__pycache__/utils.cpython-38.pyc,sha256=VWIR1RTVP3OjSaxiJAXkVG3uPZnzYq5ON5Ei7I_CFTg,3234
10220
+ simo/fleet/__pycache__/utils.cpython-38.pyc,sha256=e-cajNdKJjfBbZ9LdO7KUIccafp1xIIrVosjzM2v1BQ,3239
10221
10221
  simo/fleet/__pycache__/views.cpython-38.pyc,sha256=qwW2t_SNX7lLBS1RvYuxYBk9XRkeUcir5O5VYcrjMLY,3136
10222
10222
  simo/fleet/migrations/0001_initial.py,sha256=lce8nkD8Sz6pYr-XJSpDm4CMDuB6TA__WtnHpIp-eA4,1326
10223
10223
  simo/fleet/migrations/0002_auto_20220422_0743.py,sha256=sFOfAjnQOzcJjE8lHrrHgTaGilJNYswMdXphgVzUZqY,825
@@ -10299,18 +10299,18 @@ simo/fleet/templates/fleet/controllers_info/button.md,sha256=GIuxqG617174NEtpPeC
10299
10299
  simo/generic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10300
10300
  simo/generic/app_widgets.py,sha256=E_pnpA1hxMIhenRCrHoQ5cik06jm2BAHCkl_eo-OudU,1264
10301
10301
  simo/generic/base_types.py,sha256=djymox_boXTHX1BTTCLXrCH7ED-uAsV_idhaDOc3OLI,409
10302
- simo/generic/controllers.py,sha256=YLkekwDFDJPAJKTC0w8As2B5ctzfvlLuRf0YLSi_vv4,58252
10302
+ simo/generic/controllers.py,sha256=gojeCP_vSyLTaP4h56LqqLDykny5lEG-nLclieyVrRg,58292
10303
10303
  simo/generic/forms.py,sha256=IAfDtmEk1-CP0JBoetOD_ahLm64nK41GOUXjmbUzNtY,29550
10304
10304
  simo/generic/gateways.py,sha256=cc_q_g2HsI2_rWmr8yZ3spnMPwsgoYS5ApWRimc11wU,18831
10305
- simo/generic/models.py,sha256=92TACMhJHadAg0TT9GnARO_R3_Sl6i-GGjhG_x7YdFI,7391
10305
+ simo/generic/models.py,sha256=jKlNOzpGrjIZt7zL5tKM4AzcD6cAQgqF2AwsIb7anVo,7607
10306
10306
  simo/generic/routing.py,sha256=elQVZmgnPiieEuti4sJ7zITk1hlRxpgbotcutJJgC60,228
10307
10307
  simo/generic/socket_consumers.py,sha256=NfTQGYtVAc864IoogZRxf_0xpDPM0eMCWn0SlKA5P7Y,1751
10308
10308
  simo/generic/__pycache__/__init__.cpython-38.pyc,sha256=mLu54WS9KIl-pHwVCBKpsDFIlOqml--JsOVzAUHg6cU,161
10309
10309
  simo/generic/__pycache__/app_widgets.cpython-38.pyc,sha256=0IoKRG9n1tkNRRkrqAeOQwWBPd_33u98JBcVtMVVCio,2374
10310
10310
  simo/generic/__pycache__/base_types.cpython-38.pyc,sha256=ptw6axyAqemZA35oa6vzr7EihzvbhW9w7Y-G6kfDedU,555
10311
- simo/generic/__pycache__/controllers.cpython-38.pyc,sha256=9VD3YsKyKWnw2LBCV1rRJ0ZVWG9RZd8ubecvAxJVHSk,36463
10311
+ simo/generic/__pycache__/controllers.cpython-38.pyc,sha256=9ZnI6Z084og6Q-9fmhT-PZEM5w_yOC1rwMAHHA6af_Q,36460
10312
10312
  simo/generic/__pycache__/forms.cpython-38.pyc,sha256=v85YEQR9l0QyUgYW_uTKr5qFCjp8TYOAAnfYQvYActI,21227
10313
- simo/generic/__pycache__/gateways.cpython-38.pyc,sha256=B0fvNggaazKVccSshd0ZFgaBQ79l30CuXKoa0NdgIxM,13408
10313
+ simo/generic/__pycache__/gateways.cpython-38.pyc,sha256=8NbsLVDww3Ov5DKF--LKgyrgnrn8yVcKrY21cdvV5aA,13979
10314
10314
  simo/generic/__pycache__/models.cpython-38.pyc,sha256=PzlZsM1jxo3FVb7QDm3bny8UFwTsGrMQe4mj4tJ06eQ,5675
10315
10315
  simo/generic/__pycache__/routing.cpython-38.pyc,sha256=xtxTUTBTdivzFyA5Wh7k-hUj1WDO_FiRq6HYXdbr9Ks,382
10316
10316
  simo/generic/__pycache__/socket_consumers.cpython-38.pyc,sha256=piFHces0J9QuXu_CNBCQCYjoZEeoaxyVjLfJ9KaR8C8,1898
@@ -10424,12 +10424,12 @@ simo/users/__pycache__/auth_backends.cpython-38.pyc,sha256=MuOieBIXt6lrDx83-UQtd
10424
10424
  simo/users/__pycache__/auto_urls.cpython-38.pyc,sha256=K-3sz2h-cEitoflSmZk1t0eUg5mQMMGLNZFREVwG7_o,430
10425
10425
  simo/users/__pycache__/dynamic_settings.cpython-38.pyc,sha256=6F8JBjZkHykySnmZjNEzjS0ijbmPdcp9yUAZ5kqq_Fo,864
10426
10426
  simo/users/__pycache__/middleware.cpython-38.pyc,sha256=Tj4nVEAvxEW3xA63fBRiJWRJpz_M848ZOqbHioc_IPE,1149
10427
- simo/users/__pycache__/models.cpython-38.pyc,sha256=mGTfDKyCDfLc4_KDzi8446eCJnL7lqj-NKkrMVv00zk,18319
10427
+ simo/users/__pycache__/models.cpython-38.pyc,sha256=uZ_rkg8_aQsX94HPssGrtZsuxjIrklPnyD46-uPYjFA,18342
10428
10428
  simo/users/__pycache__/permissions.cpython-38.pyc,sha256=ez5NxoL_JUeeH6GsKhvFreuA3FCBgGf9floSypdXUtM,633
10429
10429
  simo/users/__pycache__/serializers.cpython-38.pyc,sha256=tZzdmCdSnqekAgRl0kyq-msm7QfUA0J_IipfrysAMRM,3477
10430
10430
  simo/users/__pycache__/sso_urls.cpython-38.pyc,sha256=uAwDozpOmrhUald-8tOHANILXkH7-TI8fNYXOtPkSY8,402
10431
10431
  simo/users/__pycache__/sso_views.cpython-38.pyc,sha256=sHEoxLOac3U3Epmhm197huFnW_J3gGCDZSji57itijU,3969
10432
- simo/users/__pycache__/tasks.cpython-38.pyc,sha256=xq-XaJ5gzkpVVZRWe0bvGdA31Eh_WS2rKSY62p4eY5E,1111
10432
+ simo/users/__pycache__/tasks.cpython-38.pyc,sha256=XLMKt3suT7BlcXrJZoH9ZIhhtBuqyiW4lsOB9IbBkko,1225
10433
10433
  simo/users/__pycache__/utils.cpython-38.pyc,sha256=CGaRBk-y9A-8lWWY4bYkI9faAziO0pVYdr5BJNmqbUg,1600
10434
10434
  simo/users/__pycache__/views.cpython-38.pyc,sha256=AXuUnVYRD0ai4FSFDp4qJwryukujAoN6LD3oIj-Cv3o,2426
10435
10435
  simo/users/migrations/0001_initial.py,sha256=5ojkoyTndS2kW5guKK9G9WntXOqbJMyyT_8s_fcJogc,7072
@@ -10502,9 +10502,9 @@ simo/users/templates/invitations/expired_msg.html,sha256=47DEQpj8HBSa-_TImW-5JCe
10502
10502
  simo/users/templates/invitations/expired_suggestion.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10503
10503
  simo/users/templates/invitations/taken_msg.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10504
10504
  simo/users/templates/invitations/taken_suggestion.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10505
- simo-2.1.10.dist-info/LICENSE.md,sha256=M7wm1EmMGDtwPRdg7kW4d00h1uAXjKOT3HFScYQMeiE,34916
10506
- simo-2.1.10.dist-info/METADATA,sha256=cEdSVJo82lzIaZ7seRKzsmZTw3AO9mqBzT8qHcIy55o,1848
10507
- simo-2.1.10.dist-info/WHEEL,sha256=mguMlWGMX-VHnMpKOjjQidIo1ssRlCFu4a4mBpz1s2M,91
10508
- simo-2.1.10.dist-info/entry_points.txt,sha256=SJBxiDpH7noO0STxVI_eRIsGR-nLgdXXeqCDe8cXlbM,65
10509
- simo-2.1.10.dist-info/top_level.txt,sha256=GmS1hrAbpVqn9OWZh6UX82eIOdRLgYA82RG9fe8v4Rs,5
10510
- simo-2.1.10.dist-info/RECORD,,
10505
+ simo-2.1.12.dist-info/LICENSE.md,sha256=M7wm1EmMGDtwPRdg7kW4d00h1uAXjKOT3HFScYQMeiE,34916
10506
+ simo-2.1.12.dist-info/METADATA,sha256=9gW_akGr2kphJi5Aj9G3FQJfEtSPVIykU8ugLkZrAXE,1848
10507
+ simo-2.1.12.dist-info/WHEEL,sha256=-oYQCr74JF3a37z2nRlQays_SX2MqOANoqVjBBAP2yE,91
10508
+ simo-2.1.12.dist-info/entry_points.txt,sha256=SJBxiDpH7noO0STxVI_eRIsGR-nLgdXXeqCDe8cXlbM,65
10509
+ simo-2.1.12.dist-info/top_level.txt,sha256=GmS1hrAbpVqn9OWZh6UX82eIOdRLgYA82RG9fe8v4Rs,5
10510
+ simo-2.1.12.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (70.1.1)
2
+ Generator: setuptools (71.0.3)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5