simo 2.4.1__py3-none-any.whl → 2.5.1__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.
- simo/backups/__pycache__/admin.cpython-38.pyc +0 -0
- simo/backups/__pycache__/models.cpython-38.pyc +0 -0
- simo/backups/__pycache__/tasks.cpython-38.pyc +0 -0
- simo/backups/admin.py +10 -13
- simo/backups/migrations/0003_alter_backuplog_options_alter_backup_size.py +22 -0
- simo/backups/migrations/0004_alter_backup_options_alter_backuplog_options_and_more.py +29 -0
- simo/backups/migrations/__pycache__/0003_alter_backuplog_options_alter_backup_size.cpython-38.pyc +0 -0
- simo/backups/migrations/__pycache__/0004_alter_backup_options_alter_backuplog_options_and_more.cpython-38.pyc +0 -0
- simo/backups/models.py +1 -7
- simo/backups/tasks.py +221 -145
- simo/core/__pycache__/admin.cpython-38.pyc +0 -0
- simo/core/__pycache__/api.cpython-38.pyc +0 -0
- simo/core/__pycache__/app_widgets.cpython-38.pyc +0 -0
- simo/core/__pycache__/controllers.cpython-38.pyc +0 -0
- simo/core/__pycache__/events.cpython-38.pyc +0 -0
- simo/core/__pycache__/forms.cpython-38.pyc +0 -0
- simo/core/__pycache__/middleware.cpython-38.pyc +0 -0
- simo/core/__pycache__/models.cpython-38.pyc +0 -0
- simo/core/__pycache__/serializers.cpython-38.pyc +0 -0
- simo/core/__pycache__/tasks.cpython-38.pyc +0 -0
- simo/core/admin.py +4 -4
- simo/core/api.py +20 -4
- simo/core/app_widgets.py +5 -0
- simo/core/controllers.py +2 -2
- simo/core/events.py +2 -0
- simo/core/forms.py +2 -0
- simo/core/management/commands/gateways_manager.py +0 -3
- simo/core/middleware.py +7 -1
- simo/core/migrations/0042_alter_instance_timezone.py +18 -0
- simo/core/migrations/__pycache__/0042_alter_instance_timezone.cpython-38.pyc +0 -0
- simo/core/models.py +26 -6
- simo/core/serializers.py +17 -17
- simo/core/tasks.py +10 -7
- simo/fleet/__pycache__/controllers.cpython-38.pyc +0 -0
- simo/fleet/__pycache__/forms.cpython-38.pyc +0 -0
- simo/fleet/__pycache__/models.cpython-38.pyc +0 -0
- simo/fleet/controllers.py +86 -22
- simo/fleet/forms.py +224 -185
- simo/fleet/migrations/0038_alter_colonel_type.py +18 -0
- simo/fleet/migrations/0039_auto_20241016_1047.py +28 -0
- simo/fleet/migrations/0040_alter_colonel_pwm_frequency.py +18 -0
- simo/fleet/migrations/__pycache__/0038_alter_colonel_type.cpython-38.pyc +0 -0
- simo/fleet/migrations/__pycache__/0039_auto_20241016_1047.cpython-38.pyc +0 -0
- simo/fleet/migrations/__pycache__/0040_alter_colonel_pwm_frequency.cpython-38.pyc +0 -0
- simo/fleet/models.py +2 -2
- simo/generic/__pycache__/controllers.cpython-38.pyc +0 -0
- simo/generic/__pycache__/forms.cpython-38.pyc +0 -0
- simo/generic/__pycache__/gateways.cpython-38.pyc +0 -0
- simo/generic/__pycache__/models.cpython-38.pyc +0 -0
- simo/generic/controllers.py +41 -2
- simo/generic/forms.py +71 -7
- simo/generic/models.py +0 -1
- simo/generic/scripting/__init__.py +16 -0
- simo/generic/scripting/__pycache__/__init__.cpython-38.pyc +0 -0
- simo/generic/scripting/__pycache__/serializers.cpython-38.pyc +0 -0
- simo/generic/scripting/helpers.py +35 -0
- simo/generic/scripting/serializers.py +77 -0
- simo/generic/templates/admin/controller_widgets/weather_forecast.html +2 -2
- simo/notifications/__pycache__/models.cpython-38.pyc +0 -0
- simo/notifications/__pycache__/utils.cpython-38.pyc +0 -0
- simo/notifications/utils.py +30 -12
- simo/scripting.py +2 -2
- simo/users/__pycache__/api.cpython-38.pyc +0 -0
- simo/users/__pycache__/managers.cpython-38.pyc +0 -0
- simo/users/__pycache__/models.cpython-38.pyc +0 -0
- simo/users/__pycache__/serializers.cpython-38.pyc +0 -0
- simo/users/__pycache__/utils.cpython-38.pyc +0 -0
- simo/users/api.py +36 -7
- simo/users/managers.py +5 -1
- simo/users/migrations/0033_alter_user_ssh_key.py +18 -0
- simo/users/migrations/0034_instanceuser_last_seen_location_and_more.py +24 -0
- simo/users/migrations/__pycache__/0033_alter_user_ssh_key.cpython-38.pyc +0 -0
- simo/users/migrations/__pycache__/0034_instanceuser_last_seen_location_and_more.cpython-38.pyc +0 -0
- simo/users/models.py +37 -32
- simo/users/serializers.py +11 -8
- simo/users/utils.py +14 -3
- {simo-2.4.1.dist-info → simo-2.5.1.dist-info}/METADATA +1 -1
- {simo-2.4.1.dist-info → simo-2.5.1.dist-info}/RECORD +82 -59
- {simo-2.4.1.dist-info → simo-2.5.1.dist-info}/WHEEL +1 -1
- {simo-2.4.1.dist-info → simo-2.5.1.dist-info}/LICENSE.md +0 -0
- {simo-2.4.1.dist-info → simo-2.5.1.dist-info}/entry_points.txt +0 -0
- {simo-2.4.1.dist-info → simo-2.5.1.dist-info}/top_level.txt +0 -0
simo/users/models.py
CHANGED
|
@@ -22,6 +22,7 @@ from simo.conf import dynamic_settings
|
|
|
22
22
|
from simo.core.utils.mixins import SimoAdminMixin
|
|
23
23
|
from simo.core.utils.helpers import get_random_string
|
|
24
24
|
from simo.core.events import OnChangeMixin
|
|
25
|
+
from simo.core.middleware import get_current_instance
|
|
25
26
|
from .middleware import get_current_user
|
|
26
27
|
from .utils import rebuild_authorized_keys
|
|
27
28
|
from .managers import ActiveInstanceManager
|
|
@@ -98,6 +99,12 @@ class InstanceUser(DirtyFieldsMixin, models.Model, OnChangeMixin):
|
|
|
98
99
|
role = models.ForeignKey(PermissionsRole, on_delete=models.CASCADE)
|
|
99
100
|
at_home = models.BooleanField(default=False, db_index=True)
|
|
100
101
|
is_active = models.BooleanField(default=True, db_index=True)
|
|
102
|
+
last_seen_location = PlainLocationField(
|
|
103
|
+
zoom=7, null=True, blank=True, help_text="Sent by user mobile app"
|
|
104
|
+
)
|
|
105
|
+
last_seen_location_datetime = models.DateTimeField(
|
|
106
|
+
null=True, blank=True,
|
|
107
|
+
)
|
|
101
108
|
|
|
102
109
|
objects = ActiveInstanceManager()
|
|
103
110
|
|
|
@@ -123,17 +130,18 @@ def post_instance_user_save(sender, instance, created, **kwargs):
|
|
|
123
130
|
return
|
|
124
131
|
from simo.core.events import ObjectChangeEvent
|
|
125
132
|
dirty_fields = instance.get_dirty_fields()
|
|
126
|
-
if 'at_home' in dirty_fields:
|
|
133
|
+
if 'at_home' in dirty_fields or 'last_seen_location' in dirty_fields:
|
|
127
134
|
def post_update():
|
|
128
|
-
if
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
135
|
+
if 'at_home' in dirty_fields:
|
|
136
|
+
if instance.at_home:
|
|
137
|
+
verb = 'came home'
|
|
138
|
+
else:
|
|
139
|
+
verb = 'left'
|
|
140
|
+
action.send(
|
|
141
|
+
instance.user, verb=verb,
|
|
142
|
+
instance_id=instance.instance.id,
|
|
143
|
+
action_type='user_presence', value=instance.at_home
|
|
144
|
+
)
|
|
137
145
|
ObjectChangeEvent(
|
|
138
146
|
instance.instance, instance, dirty_fields=dirty_fields
|
|
139
147
|
).publish()
|
|
@@ -182,8 +190,6 @@ class User(AbstractBaseUser, SimoAdminMixin):
|
|
|
182
190
|
USERNAME_FIELD = 'email'
|
|
183
191
|
REQUIRED_FIELDS = ['name']
|
|
184
192
|
|
|
185
|
-
_instance = None
|
|
186
|
-
|
|
187
193
|
class Meta:
|
|
188
194
|
verbose_name = _('user')
|
|
189
195
|
verbose_name_plural = _('users')
|
|
@@ -206,12 +212,10 @@ class User(AbstractBaseUser, SimoAdminMixin):
|
|
|
206
212
|
obj = super().save(*args, **kwargs)
|
|
207
213
|
|
|
208
214
|
if org:
|
|
209
|
-
if org.can_ssh() != self.can_ssh():
|
|
215
|
+
if org.can_ssh() != self.can_ssh() or org.ssh_key != self.ssh_key:
|
|
210
216
|
rebuild_authorized_keys()
|
|
211
217
|
elif self.can_ssh():
|
|
212
218
|
rebuild_authorized_keys()
|
|
213
|
-
elif org and org.ssh_key != self.ssh_key:
|
|
214
|
-
rebuild_authorized_keys()
|
|
215
219
|
|
|
216
220
|
if not org or (org.secret_key != self.secret_key):
|
|
217
221
|
self.update_mqtt_secret()
|
|
@@ -230,7 +234,7 @@ class User(AbstractBaseUser, SimoAdminMixin):
|
|
|
230
234
|
)
|
|
231
235
|
|
|
232
236
|
def can_ssh(self):
|
|
233
|
-
return self.is_active and self.
|
|
237
|
+
return self.is_active and self.is_master
|
|
234
238
|
|
|
235
239
|
def get_role(self, instance):
|
|
236
240
|
cache_key = f'user-{self.id}_instance-{instance.id}_role'
|
|
@@ -244,19 +248,17 @@ class User(AbstractBaseUser, SimoAdminMixin):
|
|
|
244
248
|
cache.set(cache_key, role, 20)
|
|
245
249
|
return role
|
|
246
250
|
|
|
247
|
-
def set_instance(self, instance):
|
|
248
|
-
self._instance = instance
|
|
249
|
-
|
|
250
251
|
@property
|
|
251
252
|
def role_id(self):
|
|
252
253
|
'''Used by API serializer to get users role on a given instance.'''
|
|
253
|
-
|
|
254
|
+
instance = get_current_instance()
|
|
255
|
+
if not instance:
|
|
254
256
|
return None
|
|
255
|
-
cache_key = f'user-{self.id}_instance-{
|
|
257
|
+
cache_key = f'user-{self.id}_instance-{instance.id}-role-id'
|
|
256
258
|
cached_val = cache.get(cache_key, 'expired')
|
|
257
259
|
if cached_val == 'expired':
|
|
258
260
|
for role in self.roles.all().select_related('instance'):
|
|
259
|
-
if role.instance ==
|
|
261
|
+
if role.instance == instance:
|
|
260
262
|
cached_val = role.id
|
|
261
263
|
cache.set(cache_key, role.id, 20)
|
|
262
264
|
return cached_val
|
|
@@ -264,16 +266,17 @@ class User(AbstractBaseUser, SimoAdminMixin):
|
|
|
264
266
|
|
|
265
267
|
@role_id.setter
|
|
266
268
|
def role_id(self, id):
|
|
267
|
-
|
|
269
|
+
instance = get_current_instance()
|
|
270
|
+
if not instance:
|
|
268
271
|
return
|
|
269
272
|
role = PermissionsRole.objects.filter(
|
|
270
|
-
id=id, instance=
|
|
273
|
+
id=id, instance=instance
|
|
271
274
|
).first()
|
|
272
275
|
if not role:
|
|
273
276
|
raise ValueError("There is no such a role on this instance")
|
|
274
277
|
|
|
275
278
|
InstanceUser.objects.update_or_create(
|
|
276
|
-
user=self, instance=
|
|
279
|
+
user=self, instance=instance, defaults={
|
|
277
280
|
'role': role
|
|
278
281
|
}
|
|
279
282
|
)
|
|
@@ -305,20 +308,21 @@ class User(AbstractBaseUser, SimoAdminMixin):
|
|
|
305
308
|
|
|
306
309
|
@property
|
|
307
310
|
def is_active(self):
|
|
308
|
-
|
|
311
|
+
instance = get_current_instance()
|
|
312
|
+
if not instance:
|
|
309
313
|
cache_key = f'user-{self.id}_is_active'
|
|
310
314
|
else:
|
|
311
|
-
cache_key = f'user-{self.id}_is_active_instance-{
|
|
315
|
+
cache_key = f'user-{self.id}_is_active_instance-{instance.id}'
|
|
312
316
|
cached_value = cache.get(cache_key, 'expired')
|
|
313
317
|
if cached_value == 'expired':
|
|
314
318
|
if self.is_master and not self.instance_roles.all():
|
|
315
319
|
# Master who have no roles on any instance are in GOD mode!
|
|
316
320
|
# It can not be disabled by anybody, nor it is seen by anybody. :)
|
|
317
321
|
cached_value = True
|
|
318
|
-
elif
|
|
322
|
+
elif instance:
|
|
319
323
|
cached_value = bool(
|
|
320
324
|
self.instance_roles.filter(
|
|
321
|
-
instance=
|
|
325
|
+
instance=instance, is_active=True
|
|
322
326
|
).first()
|
|
323
327
|
)
|
|
324
328
|
else:
|
|
@@ -331,13 +335,14 @@ class User(AbstractBaseUser, SimoAdminMixin):
|
|
|
331
335
|
|
|
332
336
|
@is_active.setter
|
|
333
337
|
def is_active(self, val):
|
|
334
|
-
|
|
338
|
+
instance = get_current_instance()
|
|
339
|
+
if not instance:
|
|
335
340
|
return
|
|
336
341
|
|
|
337
342
|
self.instance_roles.filter(
|
|
338
|
-
instance=
|
|
343
|
+
instance=instance
|
|
339
344
|
).update(is_active=bool(val))
|
|
340
|
-
cache_key = f'user-{self.id}_is_active_instance-{
|
|
345
|
+
cache_key = f'user-{self.id}_is_active_instance-{instance.id}'
|
|
341
346
|
try:
|
|
342
347
|
cache.delete(cache_key)
|
|
343
348
|
except:
|
simo/users/serializers.py
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
from rest_framework import serializers
|
|
2
2
|
from collections.abc import Iterable
|
|
3
|
-
from simo.core.middleware import get_current_request
|
|
3
|
+
from simo.core.middleware import get_current_request, get_current_instance
|
|
4
4
|
from simo.core.utils.api import ReadWriteSerializerMethodField
|
|
5
5
|
from .models import (
|
|
6
|
-
User, PermissionsRole,
|
|
6
|
+
User, PermissionsRole, ComponentPermission,
|
|
7
|
+
InstanceInvitation, InstanceUser, Fingerprint
|
|
7
8
|
)
|
|
8
9
|
|
|
9
10
|
|
|
@@ -15,11 +16,6 @@ class UserSerializer(serializers.ModelSerializer):
|
|
|
15
16
|
|
|
16
17
|
def __init__(self, *args, **kwargs):
|
|
17
18
|
super().__init__(*args, **kwargs)
|
|
18
|
-
if isinstance(self.instance, Iterable):
|
|
19
|
-
for inst in self.instance:
|
|
20
|
-
inst.set_instance(self.context['instance'])
|
|
21
|
-
elif self.instance:
|
|
22
|
-
self.instance.set_instance(self.context['instance'])
|
|
23
19
|
|
|
24
20
|
class Meta:
|
|
25
21
|
model = User
|
|
@@ -53,7 +49,7 @@ class UserSerializer(serializers.ModelSerializer):
|
|
|
53
49
|
|
|
54
50
|
def get_at_home(self, obj):
|
|
55
51
|
iu = InstanceUser.objects.filter(
|
|
56
|
-
user=obj, instance=
|
|
52
|
+
user=obj, instance=get_current_instance()
|
|
57
53
|
).first()
|
|
58
54
|
if iu:
|
|
59
55
|
return iu.at_home
|
|
@@ -68,6 +64,13 @@ class PermissionsRoleSerializer(serializers.ModelSerializer):
|
|
|
68
64
|
fields = '__all__'
|
|
69
65
|
|
|
70
66
|
|
|
67
|
+
class ComponentPermissionSerializer(serializers.ModelSerializer):
|
|
68
|
+
|
|
69
|
+
class Meta:
|
|
70
|
+
model = ComponentPermission
|
|
71
|
+
fields = '__all__'
|
|
72
|
+
|
|
73
|
+
|
|
71
74
|
class InstanceInvitationSerializer(serializers.ModelSerializer):
|
|
72
75
|
|
|
73
76
|
class Meta:
|
simo/users/utils.py
CHANGED
|
@@ -29,10 +29,21 @@ def rebuild_authorized_keys():
|
|
|
29
29
|
try:
|
|
30
30
|
with open('/root/.ssh/authorized_keys', 'w') as keys_file:
|
|
31
31
|
for user in User.objects.filter(
|
|
32
|
-
ssh_key__isnull=False
|
|
32
|
+
ssh_key__isnull=False, is_master=True
|
|
33
33
|
):
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
has_roles = user.instance_roles.filter(
|
|
35
|
+
instance__is_active=True
|
|
36
|
+
).first()
|
|
37
|
+
has_active_roles = user.instance_roles.filter(
|
|
38
|
+
instance__is_active=True, is_active=True
|
|
39
|
+
).first()
|
|
40
|
+
# if master user has active roles on some instances
|
|
41
|
+
# but no longer has a single active role on an instance
|
|
42
|
+
# he is most probably has been disabled by the property owner
|
|
43
|
+
# therefore he should no longer be able to ssh in to this hub!
|
|
44
|
+
if has_roles and not has_active_roles:
|
|
45
|
+
continue
|
|
46
|
+
keys_file.write(user.ssh_key + '\n')
|
|
36
47
|
except:
|
|
37
48
|
print(traceback.format_exc(), file=sys.stderr)
|
|
38
49
|
pass
|
|
@@ -2,7 +2,7 @@ simo/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
|
2
2
|
simo/asgi.py,sha256=L8CUVZLM32IMzWDZ4IShdDN-m69t7oxAUeHods4-xNM,822
|
|
3
3
|
simo/celeryc.py,sha256=eab7_e9rw0c__DCeoUFUh_tjAGVlulxVrk75BaJf57Q,1512
|
|
4
4
|
simo/conf.py,sha256=H2BhXAV8MEDVXF8AbkaLSfR4ULd-9_bS4bnhE5sE5fg,112
|
|
5
|
-
simo/scripting.py,sha256=
|
|
5
|
+
simo/scripting.py,sha256=ixgi6mKzxHJD5d9-TDl4YhG9n8dZWIoCFNzku_I648g,931
|
|
6
6
|
simo/settings.py,sha256=BcirAAKau1KiJ5qKTD0ni8hTk3jHAASBcUCBNZPGNCk,6962
|
|
7
7
|
simo/urls.py,sha256=fRmAsNQ_pzFloimLmxNeDcR6hHRJ3rOoZ3kGy8zOQ_A,2402
|
|
8
8
|
simo/__pycache__/__init__.cpython-38.pyc,sha256=j81de0BqHMr6bs0C7cuYrXl7HwtK_vv8hDEtAdSwDJc,153
|
|
@@ -13,82 +13,87 @@ simo/__pycache__/settings.cpython-38.pyc,sha256=Mi9iweMgAZ16ppKmiK0eFSDYsrY6XRHF
|
|
|
13
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/backups/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
|
-
simo/backups/admin.py,sha256=
|
|
16
|
+
simo/backups/admin.py,sha256=cEakxnQlOHvUf8LdBdekXpDAvnqPoVN8y7pnN3WK29A,2487
|
|
17
17
|
simo/backups/dynamic_settings.py,sha256=Q52RLa3UQsmAhqkwR16cM6pbBnIbXqmVQ2oIUP2ZVD0,416
|
|
18
|
-
simo/backups/models.py,sha256
|
|
19
|
-
simo/backups/tasks.py,sha256=
|
|
18
|
+
simo/backups/models.py,sha256=-tgILgkqmBEuxBwoymKZN1a0UVQzmJvqWrIGYMMFDaQ,695
|
|
19
|
+
simo/backups/tasks.py,sha256=Vz6hJGWzlfaHtXRkLMhCg8e3oH80aQtgc3YfDsRLpgg,13372
|
|
20
20
|
simo/backups/__pycache__/__init__.cpython-38.pyc,sha256=vzOf-JIMeZ6P85FyvTpYev3mscFosUy-SJTshcQbOHU,161
|
|
21
|
-
simo/backups/__pycache__/admin.cpython-38.pyc,sha256=
|
|
21
|
+
simo/backups/__pycache__/admin.cpython-38.pyc,sha256=KnVH67nEpTeoOzSFB-x1i-XMcC9fMgW8Y_C-hANs9jw,3065
|
|
22
22
|
simo/backups/__pycache__/dynamic_settings.cpython-38.pyc,sha256=51gJFjn_XqQBRoHeubo6ppb9pNuFQKI5hAR0ms9flE8,731
|
|
23
|
-
simo/backups/__pycache__/models.cpython-38.pyc,sha256=
|
|
23
|
+
simo/backups/__pycache__/models.cpython-38.pyc,sha256=zclX7HwOT4_izweyKNQ8LmgSHb3hNcYcfsSiwwfQoLY,1220
|
|
24
|
+
simo/backups/__pycache__/tasks.cpython-38.pyc,sha256=bKz_Rxt_H0lC0d9_4Dxqv7cirQDSH9LVurZZC0LU94s,9179
|
|
24
25
|
simo/backups/migrations/0001_initial.py,sha256=0LzCusTUyYf61ksiepdnqXIuYYNTNd_djh_Wa484HA0,770
|
|
25
26
|
simo/backups/migrations/0002_backuplog_backup_level_backup_size.py,sha256=w9T9MQWuecy91OZE1fMExriwPuXA8HMPKsPwXhmC8_k,1023
|
|
27
|
+
simo/backups/migrations/0003_alter_backuplog_options_alter_backup_size.py,sha256=0e3roYpxOmMTEfaEu41-OKPOZRnRiOhFDG5Fw2vuzZM,531
|
|
28
|
+
simo/backups/migrations/0004_alter_backup_options_alter_backuplog_options_and_more.py,sha256=MU0NUVXRG5YUxaJSLXnVzb0Axz5BCetXyPPxH1i_ZMI,655
|
|
26
29
|
simo/backups/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
30
|
simo/backups/migrations/__pycache__/0001_initial.cpython-38.pyc,sha256=jumm0xjwRhiYPOAXi4o-AGpcRi-GVOj5bSJkOTYtT7w,834
|
|
28
31
|
simo/backups/migrations/__pycache__/0002_backuplog_backup_level_backup_size.cpython-38.pyc,sha256=moD04sv6Fc6crxZwTQHMtJ18iFG2O_zrqbMBzskPhgw,1024
|
|
32
|
+
simo/backups/migrations/__pycache__/0003_alter_backuplog_options_alter_backup_size.cpython-38.pyc,sha256=eYzS4qm7T8AoWGFr6G7XtgnHW5dQUHLtiwr3UjRJERQ,743
|
|
33
|
+
simo/backups/migrations/__pycache__/0004_alter_backup_options_alter_backuplog_options_and_more.cpython-38.pyc,sha256=f4leTBkOB2kraQYyCkz9B_2pb6aKn7srV2unQA5HV1Q,710
|
|
29
34
|
simo/backups/migrations/__pycache__/__init__.cpython-38.pyc,sha256=Lz1fs6V05h2AoxTOLNye0do9bEMnyuaXB_hHOjG5-HU,172
|
|
30
35
|
simo/core/__init__.py,sha256=_s2TjJfQImsMrTIxqLAx9AZie1Ojmm6sCHASdl3WLGU,50
|
|
31
|
-
simo/core/admin.py,sha256=
|
|
32
|
-
simo/core/api.py,sha256=
|
|
36
|
+
simo/core/admin.py,sha256=5mi0Qe9TM-OILCxbcRfGJvq397QCPxjYX30K3CIZrPs,18133
|
|
37
|
+
simo/core/api.py,sha256=A8P47OFFcqw-AXQPF3XqIV3pshEyqQGwLdM8aByddns,28288
|
|
33
38
|
simo/core/api_auth.py,sha256=vCxvczA8aWNcW0VyKs5WlC_ytlqeGP_H_hkKUNVkCwM,1247
|
|
34
39
|
simo/core/api_meta.py,sha256=EaiY-dCADP__9MvLpoHvhjytFT92IrxPZDv95xgqasU,4955
|
|
35
|
-
simo/core/app_widgets.py,sha256=
|
|
40
|
+
simo/core/app_widgets.py,sha256=ReWXLolUX6xW7QgB_qXTrrYyNvzustj9tXCXnUyCvJ8,2224
|
|
36
41
|
simo/core/apps.py,sha256=CsqpiQerhmrMsH-wGiG-gQgXd9qEkIi-LUaA9cXpKSw,425
|
|
37
42
|
simo/core/auto_urls.py,sha256=nNXEgLAAAQAhRWQDA9AbDtw-zcPKmu_pufJaSa8g818,1102
|
|
38
43
|
simo/core/autocomplete_views.py,sha256=JT5LA2_Wtr60XYSAIqaXFKFYPjrmkEf6yunXD9y2zco,4022
|
|
39
44
|
simo/core/base_types.py,sha256=qVh6MrXZEfN7bFOyFftC7u0yyz0PkvpsjllLBc6SCp4,616
|
|
40
45
|
simo/core/context.py,sha256=snfPIGcZQTrx8iiZc5PI91A0dRQH6y5kH4uG_lfhU6Q,1486
|
|
41
|
-
simo/core/controllers.py,sha256=
|
|
46
|
+
simo/core/controllers.py,sha256=nX6AtkYX6GjRnHuywWesrvRwA8EBHt_fR7yB_8BGA_I,29932
|
|
42
47
|
simo/core/dynamic_settings.py,sha256=bUs58XEZOCIEhg1TigR3LmYggli13KMryBZ9pC7ugAQ,1872
|
|
43
|
-
simo/core/events.py,sha256=
|
|
48
|
+
simo/core/events.py,sha256=HXapr_aLPM-T42yl4RB3M_HC76Bg_KmGJry5M8AlNK8,4493
|
|
44
49
|
simo/core/filters.py,sha256=ghtOZcrwNAkIyF5_G9Sn73NkiI71mXv0NhwCk4IyMIM,411
|
|
45
50
|
simo/core/form_fields.py,sha256=9tIjiEN3IE55GPyB4tOlfkd51JDne3-h8pKhpL3tLFE,2220
|
|
46
|
-
simo/core/forms.py,sha256=
|
|
51
|
+
simo/core/forms.py,sha256=nL_trDNs7RLic11zLSen4EobtywGx8igUMYe7Ojuv1k,21988
|
|
47
52
|
simo/core/gateways.py,sha256=m0eS3XjVe34Dge6xtoCq16kFWCKJcdQrT0JW0REqoq8,3715
|
|
48
53
|
simo/core/loggers.py,sha256=EBdq23gTQScVfQVH-xeP90-wII2DQFDjoROAW6ggUP4,1645
|
|
49
54
|
simo/core/managers.py,sha256=n-b3I4uXzfHKTeB1VMjSaMsDUxp8FegFJwnbV1IsWQ4,3019
|
|
50
|
-
simo/core/middleware.py,sha256=
|
|
51
|
-
simo/core/models.py,sha256=
|
|
55
|
+
simo/core/middleware.py,sha256=aEHwnyR9IFGWxmrYuViJiXIWcCpD5GUeCxcTCpfX_Q8,2934
|
|
56
|
+
simo/core/models.py,sha256=fEbRVY128-FdjG2ueQhBlSMRpvKcxY2VKCJUqXsSMPI,22441
|
|
52
57
|
simo/core/permissions.py,sha256=v0iJM4LOeYoEfMiw3OLPYio272G1aUEAg_z9Wd1q5m0,2993
|
|
53
58
|
simo/core/routing.py,sha256=X1_IHxyA-_Q7hw1udDoviVP4_FSBDl8GYETTC2zWTbY,499
|
|
54
|
-
simo/core/serializers.py,sha256=
|
|
59
|
+
simo/core/serializers.py,sha256=Pa2lhJ6VgNalbH4awbKdGJCYAPNsu5WQWfo6Tz6LbOQ,20782
|
|
55
60
|
simo/core/signal_receivers.py,sha256=9-qFCCeSLcMFEMg6QUtKOVgUsoNoqhzGoI98nuNSTEo,6228
|
|
56
61
|
simo/core/socket_consumers.py,sha256=n7VE2Fvqt4iEAYLTRbTPOcI-7tszMAADu7gimBxB-Fg,9635
|
|
57
62
|
simo/core/storage.py,sha256=_5igjaoWZAiExGWFEJMElxUw55DzJG1jqFty33xe8BE,342
|
|
58
|
-
simo/core/tasks.py,sha256
|
|
63
|
+
simo/core/tasks.py,sha256=wYCaARytOqnBkoZ1zV59yCtZBqmu3Sd-eNpyZsv4LW0,14572
|
|
59
64
|
simo/core/todos.py,sha256=eYVXfLGiapkxKK57XuviSNe3WsUYyIWZ0hgQJk7ThKo,665
|
|
60
65
|
simo/core/types.py,sha256=WJEq48mIbFi_5Alt4wxWMGXxNxUTXqfQU5koH7wqHHI,1108
|
|
61
66
|
simo/core/views.py,sha256=3SRZr00fyLQf8ja3U-9eekKt-ld5TvU1WQqUWprXfQ4,2390
|
|
62
67
|
simo/core/widgets.py,sha256=J9e06C6I22F6xKic3VMgG7WeX07glAcl-4bF2Mg180A,2827
|
|
63
68
|
simo/core/__pycache__/__init__.cpython-38.pyc,sha256=ZJFM_XN0RmJMULQulgA_wFiOnEtsMoedcOWnXjH-Y8o,208
|
|
64
|
-
simo/core/__pycache__/admin.cpython-38.pyc,sha256=
|
|
65
|
-
simo/core/__pycache__/api.cpython-38.pyc,sha256=
|
|
69
|
+
simo/core/__pycache__/admin.cpython-38.pyc,sha256=ksoB8Jz8PxcFQ3FlgPJtShwTnBR0LayaVZv6ezDe9OE,13723
|
|
70
|
+
simo/core/__pycache__/api.cpython-38.pyc,sha256=OFl3_PMd48Is0ohUEXeN-eQv_V2oAlphKyWS4FzKGhY,21862
|
|
66
71
|
simo/core/__pycache__/api_auth.cpython-38.pyc,sha256=6M9Cl_ha4y_Vf8Rv4GMYL8dcBCmp0KzYi6jn3SQTgys,1712
|
|
67
72
|
simo/core/__pycache__/api_meta.cpython-38.pyc,sha256=VYx5ZeDyNBI4B_CBEIhV5B3GnLsMOx9s3rNZTSMODco,3703
|
|
68
|
-
simo/core/__pycache__/app_widgets.cpython-38.pyc,sha256=
|
|
73
|
+
simo/core/__pycache__/app_widgets.cpython-38.pyc,sha256=fmZhynYrx5X5gidhXovhnf8-FdbCLfUB9NS_lpHBF3s,3830
|
|
69
74
|
simo/core/__pycache__/apps.cpython-38.pyc,sha256=JL0BEqgXcSQvMlcK48PBpPfyDEkPMdO1Y0teqMRGirs,713
|
|
70
75
|
simo/core/__pycache__/auto_urls.cpython-38.pyc,sha256=Tyf8PYHq5YqSwTp25Joy-eura_Fm86fpX9zKLSklhvo,872
|
|
71
76
|
simo/core/__pycache__/autocomplete_views.cpython-38.pyc,sha256=hJ6JILI1LqrAtpQMvxnLvljGdW1v1gpvBsD79vFkZ58,3972
|
|
72
77
|
simo/core/__pycache__/base_types.cpython-38.pyc,sha256=hmq22vvGyCmhbYyuV6bFAOOSIupspgW5yq_VzqWd-vY,759
|
|
73
78
|
simo/core/__pycache__/context.cpython-38.pyc,sha256=ck1FcBljLB4__5F6poS2tEEn8IDDgK7pU3FcXDPc_mI,1329
|
|
74
|
-
simo/core/__pycache__/controllers.cpython-38.pyc,sha256=
|
|
79
|
+
simo/core/__pycache__/controllers.cpython-38.pyc,sha256=P90-jhkH086_z3Mawo-gYjBWRnZtsxTffqtsSiTTDDU,26864
|
|
75
80
|
simo/core/__pycache__/dynamic_settings.cpython-38.pyc,sha256=wGpnscX1DxFpRl54MQURhjz2aD3NJohSzw9JCFnzh2Y,2384
|
|
76
|
-
simo/core/__pycache__/events.cpython-38.pyc,sha256=
|
|
81
|
+
simo/core/__pycache__/events.cpython-38.pyc,sha256=wMN1cxlAKSGVzBU4rAsnbIJwMgbKImBCoSBgdZhkPUg,5131
|
|
77
82
|
simo/core/__pycache__/filters.cpython-38.pyc,sha256=VIMADCBiYhziIyRmxAyUDJluZvuZmiC4bNYWTRsGSao,721
|
|
78
83
|
simo/core/__pycache__/form_fields.cpython-38.pyc,sha256=u0voKXkA64xbH6LY_-jMBHQS4mOJZZeuB9WTvtv9JWE,3433
|
|
79
|
-
simo/core/__pycache__/forms.cpython-38.pyc,sha256=
|
|
84
|
+
simo/core/__pycache__/forms.cpython-38.pyc,sha256=O_mCWAQHAJhiqcKLUina7tIFbw5uXwnLOYlJoWxqUDQ,17918
|
|
80
85
|
simo/core/__pycache__/gateways.cpython-38.pyc,sha256=D1ooHL-iSpQrxnD8uAl4xWFJmm-QWZfbkLiLlFOMtdU,4553
|
|
81
86
|
simo/core/__pycache__/loggers.cpython-38.pyc,sha256=Z-cdQnC6XlIonPV4Sl4E52tP4NMEdPAiHK0cFaIL7I8,1623
|
|
82
87
|
simo/core/__pycache__/managers.cpython-38.pyc,sha256=6RTIxyjOgpQGtAqcUyE2vFPS09w1V5Wmd_vOV7rHRRI,3370
|
|
83
|
-
simo/core/__pycache__/middleware.cpython-38.pyc,sha256=
|
|
84
|
-
simo/core/__pycache__/models.cpython-38.pyc,sha256=
|
|
88
|
+
simo/core/__pycache__/middleware.cpython-38.pyc,sha256=Ae2NvZ8sv-AeYoFS-xzuA196ajCuE411Ao-U1SY5HXU,2500
|
|
89
|
+
simo/core/__pycache__/models.cpython-38.pyc,sha256=vq7ysMUjqPdcPl6DfLzAzmJWPC9_WNR5W789w8fZirc,18460
|
|
85
90
|
simo/core/__pycache__/permissions.cpython-38.pyc,sha256=fH4iyqd9DdzRLEu2b621-FeM-napR0M7hzBUTHo9Q3g,2972
|
|
86
91
|
simo/core/__pycache__/routing.cpython-38.pyc,sha256=3T3FPJ8Cn99xZCGvMyg2xjl7al-Shm9CelbSpkJtNP8,599
|
|
87
|
-
simo/core/__pycache__/serializers.cpython-38.pyc,sha256=
|
|
92
|
+
simo/core/__pycache__/serializers.cpython-38.pyc,sha256=qIHxrurPk555mHc9P8Udg9eGv-ODw1FTmBS_jXrPuws,19220
|
|
88
93
|
simo/core/__pycache__/signal_receivers.cpython-38.pyc,sha256=3Bt9S47DR_ZFS3O-crElFgLLXPIYyDgPIc2ibwEkaic,4904
|
|
89
94
|
simo/core/__pycache__/socket_consumers.cpython-38.pyc,sha256=NJUr7nRyHFvmAumxxWpsod5wzVVZM99rCEuJs1utHA4,8432
|
|
90
95
|
simo/core/__pycache__/storage.cpython-38.pyc,sha256=9R1Xu0FJDflfRXUPsqEgt0SpwiP7FGk7HaR8s8XRyI8,721
|
|
91
|
-
simo/core/__pycache__/tasks.cpython-38.pyc,sha256=
|
|
96
|
+
simo/core/__pycache__/tasks.cpython-38.pyc,sha256=HCp_TnVN3_q7WlAXrLbTbux30OG0hyTOqOHYvqcz1hU,9989
|
|
92
97
|
simo/core/__pycache__/todos.cpython-38.pyc,sha256=lOqGZ58siHM3isoJV4r7sg8igrfE9fFd-jSfeBa0AQI,253
|
|
93
98
|
simo/core/__pycache__/views.cpython-38.pyc,sha256=ySH8l-clhUdpkIVm9aMQOlt1VoZoJgNrqoE_sEiYMR8,2495
|
|
94
99
|
simo/core/__pycache__/widgets.cpython-38.pyc,sha256=sR0ZeHCHrhnNDBJuRrxp3zUsfBp0xrtF0xrK2TkQv1o,3520
|
|
@@ -153,7 +158,7 @@ simo/core/management/_hub_template/hub/supervisor.conf,sha256=MOsMo8QjBKUl5EUWG4
|
|
|
153
158
|
simo/core/management/_hub_template/hub/urls.py,sha256=Ydm-1BkYAzWeEF-MKSDIFf-7aE4qNLPm48-SA51XgJQ,25
|
|
154
159
|
simo/core/management/_hub_template/hub/wsgi.py,sha256=Lo-huLHnMDTxSmMBOodVFMWBls9poddrV2KRzXU0xGo,280
|
|
155
160
|
simo/core/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
156
|
-
simo/core/management/commands/gateways_manager.py,sha256=
|
|
161
|
+
simo/core/management/commands/gateways_manager.py,sha256=oHzgC-eV4w_KHkiz6eCAlt3XMIwtS8_7mHDQ4UsU5y0,6967
|
|
157
162
|
simo/core/management/commands/on_http_start.py,sha256=A2V40pyGY7AfONhtnxiGATOkqd0i9FUvRRxkwyAJF9k,2252
|
|
158
163
|
simo/core/management/commands/run_gateway.py,sha256=bp0FQQoBeOSoxjHCCMicDL1fxPZZGyLgnq2QKht3bJo,645
|
|
159
164
|
simo/core/management/commands/__pycache__/__init__.cpython-38.pyc,sha256=WKpfZZpAB9D7U4X6oWQIrU_H-6rUmq8Gl9fj9XaY2fw,178
|
|
@@ -200,6 +205,7 @@ simo/core/migrations/0038_remove_instance_cover_image_and_more.py,sha256=cmTNDcR
|
|
|
200
205
|
simo/core/migrations/0039_instance_is_active_alter_instance_timezone.py,sha256=8VobRMIQDxa22gBsERRXn0akiVvD2L_qchPY2Sd5a7k,23490
|
|
201
206
|
simo/core/migrations/0040_alter_instance_name.py,sha256=FqUq-NnO_eqMy3lg5Yl0uG3C-NgC_Qff7bcoBipTZSc,424
|
|
202
207
|
simo/core/migrations/0041_alter_instance_slug.py,sha256=MmuW0n5CCpF7NyKYINDcqChOU1DynSqQu_3wAYQypCo,401
|
|
208
|
+
simo/core/migrations/0042_alter_instance_timezone.py,sha256=5fLprOmoV06y37rh3uJWq8Fy4SjNmu86Imky6t7j13g,23334
|
|
203
209
|
simo/core/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
204
210
|
simo/core/migrations/__pycache__/0001_initial.cpython-38.pyc,sha256=w6GiBXVxWj30Bg4Sn_pFVeA041d-pCrkaq8mR3KuF70,5381
|
|
205
211
|
simo/core/migrations/__pycache__/0002_load_icons.cpython-38.pyc,sha256=Nb9RrPjVYo_RpZ5PmzoaEIWGCeVt4kicpmGiKlBrpIw,2123
|
|
@@ -242,6 +248,7 @@ simo/core/migrations/__pycache__/0038_remove_instance_cover_image_and_more.cpyth
|
|
|
242
248
|
simo/core/migrations/__pycache__/0039_instance_is_active_alter_instance_timezone.cpython-38.pyc,sha256=E3gQfskgqsPm5JgAVGa5WsVSO4GKO_puDhQL_s1zo2s,16512
|
|
243
249
|
simo/core/migrations/__pycache__/0040_alter_instance_name.cpython-38.pyc,sha256=PPZHAHRMnFS0PsPHxovAkkM3cPEQnLOyJz8q25ZshWs,642
|
|
244
250
|
simo/core/migrations/__pycache__/0041_alter_instance_slug.cpython-38.pyc,sha256=tVBd5-92gJPHR-I2yjUhsbtxwcykBMzxA6W3mvs8giE,620
|
|
251
|
+
simo/core/migrations/__pycache__/0042_alter_instance_timezone.cpython-38.pyc,sha256=_IdEOLCC0xgeVcKfCk7x0kKxVPu0iWuCxCg8aqkzeSI,16392
|
|
245
252
|
simo/core/migrations/__pycache__/__init__.cpython-38.pyc,sha256=VZmDQ57BTcebuM0KMhjiTOabgWZCBxQmSJzWZos9SO8,169
|
|
246
253
|
simo/core/static/ansi_styles.css,sha256=4ieJGrjZPKyPSago9FdB_gflHoGE1vxCHi8qVn5tY-Y,37352
|
|
247
254
|
simo/core/static/admin/Img/plus.svg,sha256=2NpSFPWqGIjpAQGFI7LDQHPKagEhYkJiJX95ufCoZaI,741
|
|
@@ -10213,11 +10220,11 @@ simo/fleet/api.py,sha256=Hxn84xI-Q77HxjINgRbjSJQOv9jii4OL20LxK0VSrS8,2499
|
|
|
10213
10220
|
simo/fleet/auto_urls.py,sha256=UX66eR2ykMqFgfIllW-RTdjup5-FieCWl_BVm3CcXKg,702
|
|
10214
10221
|
simo/fleet/base_types.py,sha256=wL9RVkHr0gA7HI1wZq0pruGEIgvQqpfnCL4cC3ywsvw,102
|
|
10215
10222
|
simo/fleet/ble.py,sha256=eHA_9ABjbmH1vUVCv9hiPXQL2GZZSEVwfO0xyI1S0nI,1081
|
|
10216
|
-
simo/fleet/controllers.py,sha256=
|
|
10217
|
-
simo/fleet/forms.py,sha256=
|
|
10223
|
+
simo/fleet/controllers.py,sha256=i1GwbT6apIvdyfuVQYNkliBNlKmffCOdpjall3o3NxQ,32735
|
|
10224
|
+
simo/fleet/forms.py,sha256=yyb9KhhqbcfBBXh5PbzKH1uKP2ZH-LW6UZXD9AwT7rw,59079
|
|
10218
10225
|
simo/fleet/gateways.py,sha256=lKEJW0MgaOEiNnijH50DNSVChvaUT3TA3UurcI57P8k,5677
|
|
10219
10226
|
simo/fleet/managers.py,sha256=XOpDOA9L-f_550TNSyXnJbun2EmtGz1TenVTMlUSb8E,807
|
|
10220
|
-
simo/fleet/models.py,sha256=
|
|
10227
|
+
simo/fleet/models.py,sha256=DiO82bXZTH6e2mcN0TkTyR7n1YUYnMX_SNzR-lYjiY8,16542
|
|
10221
10228
|
simo/fleet/routing.py,sha256=cofGsVWXMfPDwsJ6HM88xxtRxHwERhJ48Xyxc8mxg5o,149
|
|
10222
10229
|
simo/fleet/serializers.py,sha256=-16BjY_bp9VbDOYuD0V54h7r_RHpuLNkJX0SydWL9aU,2247
|
|
10223
10230
|
simo/fleet/socket_consumers.py,sha256=aBNTxvYIw5a5l2ns9x0LnjVJvp4NValEJG4MT4hGAT0,17903
|
|
@@ -10230,11 +10237,11 @@ simo/fleet/__pycache__/api.cpython-38.pyc,sha256=rL9fb7cCQatyFvXyKmlNOKmxVo8vHYe
|
|
|
10230
10237
|
simo/fleet/__pycache__/auto_urls.cpython-38.pyc,sha256=Tc6a6BCXHjijP8U2jE2ghlJwnSNrGm59-hW5t-80wF0,689
|
|
10231
10238
|
simo/fleet/__pycache__/base_types.cpython-38.pyc,sha256=deyPwjpT6xZiFxBGFnj5b7R-lbdOTh2krgpJhrcGVhc,274
|
|
10232
10239
|
simo/fleet/__pycache__/ble.cpython-38.pyc,sha256=Nrof9w7cm4OlpFWHeVnmvvanh2_oF9oQ3TknJiV93-0,1267
|
|
10233
|
-
simo/fleet/__pycache__/controllers.cpython-38.pyc,sha256=
|
|
10234
|
-
simo/fleet/__pycache__/forms.cpython-38.pyc,sha256=
|
|
10240
|
+
simo/fleet/__pycache__/controllers.cpython-38.pyc,sha256=K_UMv4Vnc1JBd7GHIekm_6YBHApWONFBql5Plnm73nw,26901
|
|
10241
|
+
simo/fleet/__pycache__/forms.cpython-38.pyc,sha256=IRHNJ4RXP17cm9jcZdf96YCeV-AMeVDgvFA8isgiC2E,40489
|
|
10235
10242
|
simo/fleet/__pycache__/gateways.cpython-38.pyc,sha256=0RKVn0ndreVKhsrukqeLPSdMnRrsQ_W7yeVeBkRLfIk,5058
|
|
10236
10243
|
simo/fleet/__pycache__/managers.cpython-38.pyc,sha256=8uz-xpUiqbGDgXIZ_XRZtFb-Tju6NGxflGg-Ee4Yo6k,1310
|
|
10237
|
-
simo/fleet/__pycache__/models.cpython-38.pyc,sha256=
|
|
10244
|
+
simo/fleet/__pycache__/models.cpython-38.pyc,sha256=fMjWveEDpdGNgffMBPW2IPPz2w_umlSu6UB7BW8z6g4,13802
|
|
10238
10245
|
simo/fleet/__pycache__/routing.cpython-38.pyc,sha256=aPrCmxFKVyB8R8ZbJDwdPdFfvT7CvobovvZeq_mqRgY,314
|
|
10239
10246
|
simo/fleet/__pycache__/serializers.cpython-38.pyc,sha256=9ljhwoHkolcVrJwOVbYCbGPAUKgALRwor_M3W_K0adE,3173
|
|
10240
10247
|
simo/fleet/__pycache__/socket_consumers.cpython-38.pyc,sha256=oAnUJbrKjhC3-G-o4F-bx3ZztQf7JhmHi-Sh3cm4-4s,13549
|
|
@@ -10278,6 +10285,9 @@ simo/fleet/migrations/0034_auto_20240418_0735.py,sha256=rVJwhoSZGUZP3B7ZzkbtQRyp
|
|
|
10278
10285
|
simo/fleet/migrations/0035_auto_20240514_0855.py,sha256=qt1r-zC5EiB43255DkZuCBDQWuR61ry7F51_mpkOGsI,1351
|
|
10279
10286
|
simo/fleet/migrations/0036_auto_20240605_0702.py,sha256=BfDypoqXEukcR8-R-fP09BUSmKZ-_jXv_YyhwCklths,2325
|
|
10280
10287
|
simo/fleet/migrations/0037_alter_colonelpin_options_alter_colonelpin_no_and_more.py,sha256=1YDmFYG4gkhS7AzUWJqage1XYftb5B88W737O0tNWiY,843
|
|
10288
|
+
simo/fleet/migrations/0038_alter_colonel_type.py,sha256=3NCAJc5M5BilQynd3lIvub3VJJnVhcONMoGInkd1Los,584
|
|
10289
|
+
simo/fleet/migrations/0039_auto_20241016_1047.py,sha256=c75iDlPH9NPQohkNBt58NPl31tNmctk5rww8wWQJmxA,801
|
|
10290
|
+
simo/fleet/migrations/0040_alter_colonel_pwm_frequency.py,sha256=AiiYeLXEmBAFj1O3WdJB0xQy1KqfiErYR8yPpL8W7e4,498
|
|
10281
10291
|
simo/fleet/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10282
10292
|
simo/fleet/migrations/__pycache__/0001_initial.cpython-38.pyc,sha256=9kc1UyMEYkRNVnZ7iwZbiW1t3qWXROvWrI2G1BdzIaA,1250
|
|
10283
10293
|
simo/fleet/migrations/__pycache__/0002_auto_20220422_0743.cpython-38.pyc,sha256=8oxhGb7rL8QYKlBLU3pOYcd8aHeQWDB9I8awkK04mXg,841
|
|
@@ -10316,27 +10326,35 @@ simo/fleet/migrations/__pycache__/0034_auto_20240418_0735.cpython-38.pyc,sha256=
|
|
|
10316
10326
|
simo/fleet/migrations/__pycache__/0035_auto_20240514_0855.cpython-38.pyc,sha256=43FYBOD7-kiTTtZs9zaRWcmdAihqo2cOCFVNUDOe6ag,1353
|
|
10317
10327
|
simo/fleet/migrations/__pycache__/0036_auto_20240605_0702.cpython-38.pyc,sha256=SDGibhEg0SYDF6fCte8l8NLChvHKn1qhLIrNZ_WoZQk,1654
|
|
10318
10328
|
simo/fleet/migrations/__pycache__/0037_alter_colonelpin_options_alter_colonelpin_no_and_more.cpython-38.pyc,sha256=ZappGrTStz3EIHlQ94y5ieXI-SkM9J1ashPey13ncFA,955
|
|
10329
|
+
simo/fleet/migrations/__pycache__/0038_alter_colonel_type.cpython-38.pyc,sha256=8qbVMh7Hy3YngqjKuOEMCV29J5cZtRoF3MF1bWesC54,793
|
|
10330
|
+
simo/fleet/migrations/__pycache__/0039_auto_20241016_1047.cpython-38.pyc,sha256=6QU9LBUexU9GFSwPoBgLznO6xZU0N-HbWITah-W1xWo,1088
|
|
10331
|
+
simo/fleet/migrations/__pycache__/0040_alter_colonel_pwm_frequency.cpython-38.pyc,sha256=o_trHQUyQfYzWO_iWmZpvzc-uVJlBjK-GfyKhPOVSjc,736
|
|
10319
10332
|
simo/fleet/migrations/__pycache__/__init__.cpython-38.pyc,sha256=5k1KW0jeSDzw6RnVPRq4CaO13Lg7M0F-pxA_gqqZ6Mg,170
|
|
10320
10333
|
simo/fleet/templates/fleet/controllers_info/Button.md,sha256=GIuxqG617174NEtpPeCGVocxO4YMe7-CacgVSu_L5-E,739
|
|
10321
10334
|
simo/fleet/templates/fleet/controllers_info/ENS160AirQualitySensor.md,sha256=3LSTY9YPFuVPIbVsYCAifcotrXJcOXl2k774_vo6nAE,770
|
|
10322
10335
|
simo/generic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10323
10336
|
simo/generic/app_widgets.py,sha256=E_pnpA1hxMIhenRCrHoQ5cik06jm2BAHCkl_eo-OudU,1264
|
|
10324
10337
|
simo/generic/base_types.py,sha256=djymox_boXTHX1BTTCLXrCH7ED-uAsV_idhaDOc3OLI,409
|
|
10325
|
-
simo/generic/controllers.py,sha256=
|
|
10326
|
-
simo/generic/forms.py,sha256=
|
|
10338
|
+
simo/generic/controllers.py,sha256=qqtIj9G3KzPi_IEA2IP1OEYujxCjYbGSKNVUUO8iim0,59825
|
|
10339
|
+
simo/generic/forms.py,sha256=QiVRQ-l2jgiEsnnUYqhCZkKwprMy-D-Wu_EDlBSLz60,32304
|
|
10327
10340
|
simo/generic/gateways.py,sha256=cc_q_g2HsI2_rWmr8yZ3spnMPwsgoYS5ApWRimc11wU,18831
|
|
10328
|
-
simo/generic/models.py,sha256=
|
|
10341
|
+
simo/generic/models.py,sha256=YEAFfkARsAellfDwmmqGSx7nKkEF5XngciRB4qP1MKk,7596
|
|
10329
10342
|
simo/generic/routing.py,sha256=elQVZmgnPiieEuti4sJ7zITk1hlRxpgbotcutJJgC60,228
|
|
10330
10343
|
simo/generic/socket_consumers.py,sha256=K2OjphIhKJH48BvfFfoCOyCQZ1NmXb_phs6y1IP-qaQ,1757
|
|
10331
10344
|
simo/generic/__pycache__/__init__.cpython-38.pyc,sha256=mLu54WS9KIl-pHwVCBKpsDFIlOqml--JsOVzAUHg6cU,161
|
|
10332
10345
|
simo/generic/__pycache__/app_widgets.cpython-38.pyc,sha256=0IoKRG9n1tkNRRkrqAeOQwWBPd_33u98JBcVtMVVCio,2374
|
|
10333
10346
|
simo/generic/__pycache__/base_types.cpython-38.pyc,sha256=ptw6axyAqemZA35oa6vzr7EihzvbhW9w7Y-G6kfDedU,555
|
|
10334
|
-
simo/generic/__pycache__/controllers.cpython-38.pyc,sha256=
|
|
10335
|
-
simo/generic/__pycache__/forms.cpython-38.pyc,sha256=
|
|
10336
|
-
simo/generic/__pycache__/gateways.cpython-38.pyc,sha256=
|
|
10337
|
-
simo/generic/__pycache__/models.cpython-38.pyc,sha256=
|
|
10347
|
+
simo/generic/__pycache__/controllers.cpython-38.pyc,sha256=NFTFX_Hn4XqDdsOw3L02rY8CwWpi9sJ03gxfdPMu_uE,37681
|
|
10348
|
+
simo/generic/__pycache__/forms.cpython-38.pyc,sha256=Gi4adctjk9FOCr55FsNbZyRASUzewgGly0iEepayUJw,23077
|
|
10349
|
+
simo/generic/__pycache__/gateways.cpython-38.pyc,sha256=S7p2HSbXqYcsoOjj998pwpRlA7LfHStrdxS3UhPNsP8,13979
|
|
10350
|
+
simo/generic/__pycache__/models.cpython-38.pyc,sha256=ES8wXkdKn0m-yaJlvhyaIOSppuX9Ckz-bOs9DCpVvaQ,5825
|
|
10338
10351
|
simo/generic/__pycache__/routing.cpython-38.pyc,sha256=xtxTUTBTdivzFyA5Wh7k-hUj1WDO_FiRq6HYXdbr9Ks,382
|
|
10339
10352
|
simo/generic/__pycache__/socket_consumers.cpython-38.pyc,sha256=qJO5kvQLWhsQDOr1AtAtsAybuRWioxSkQei3Pc7rdP0,1737
|
|
10353
|
+
simo/generic/scripting/__init__.py,sha256=aZZvNBae7unnux_zGHCIWCV2z47hVJc-DIL72Hqfkeo,600
|
|
10354
|
+
simo/generic/scripting/helpers.py,sha256=cuJ7B79auIw6CmgkcPoQsJekUPIXq00ucneRALdPWwE,919
|
|
10355
|
+
simo/generic/scripting/serializers.py,sha256=PjyFrjdPK1mBsgbNhyqMi9SWzcymqTa742ipy0LhAN4,1996
|
|
10356
|
+
simo/generic/scripting/__pycache__/__init__.cpython-38.pyc,sha256=eHncoNpv5dy35IO1_htWd8CK0sHFBnU_WJ0hl5TKOHQ,794
|
|
10357
|
+
simo/generic/scripting/__pycache__/serializers.cpython-38.pyc,sha256=JD9KCNO27H18mkFaeSMdybTMdTvodqcZSLNbC3pheHU,3412
|
|
10340
10358
|
simo/generic/static/weather_icons/01d@2x.png,sha256=TZfWi6Rfddb2P-oldWWcjUiuCHiU9Yrc5hyrQAhF26I,948
|
|
10341
10359
|
simo/generic/static/weather_icons/01n@2x.png,sha256=e9RleTa0T7To9Wi2wJ-9waeTbfHOsUB_xGwkx-89eEg,945
|
|
10342
10360
|
simo/generic/static/weather_icons/02d@2x.png,sha256=ex522OxNzNNpSRGGzh7EmsBZi_MOFY-1IkQXTOMLL3I,1628
|
|
@@ -10360,7 +10378,7 @@ simo/generic/templates/admin/controller_widgets/gate.html,sha256=rqtgEQTmyK8Q66o
|
|
|
10360
10378
|
simo/generic/templates/admin/controller_widgets/ip_camera.html,sha256=ZmWm21EswkgT6XR9x1GgzDIkSU2j_GpdOTfbPINg6jY,657
|
|
10361
10379
|
simo/generic/templates/admin/controller_widgets/script.html,sha256=biUEMo5V35wqSrM97d5WqNDi47GNaDpi53I3YBfDLOs,1484
|
|
10362
10380
|
simo/generic/templates/admin/controller_widgets/thermostat.html,sha256=iH7j631AY6ahsI7dTMyMYHL_EuX6Q_aRxQgQcPIVxvI,288
|
|
10363
|
-
simo/generic/templates/admin/controller_widgets/weather_forecast.html,sha256=
|
|
10381
|
+
simo/generic/templates/admin/controller_widgets/weather_forecast.html,sha256=QXR2rIXu-qF6L9bkPKN8CNvT_YVHv-V63ABEnLBwaUY,484
|
|
10364
10382
|
simo/generic/templates/generic/controllers_info/dummy.md,sha256=DcdkpYXpK7sroINukZZPUQs9uekN9kkE7p5hfnArgFo,147
|
|
10365
10383
|
simo/generic/templates/generic/controllers_info/stateselect.md,sha256=T0w3vJg02W3RMSsljN1EPRnkVaeRW5acSZaSq9FYvZw,135
|
|
10366
10384
|
simo/multimedia/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -10397,12 +10415,13 @@ simo/notifications/admin.py,sha256=y_gmHYXbDh98LUUa-lp9DilTIgM6-pIujWPQPLQsJo8,8
|
|
|
10397
10415
|
simo/notifications/api.py,sha256=GXQpq68ULBaJpU8w3SJKaCKuxYGWYehKnGeocGB1RVc,1783
|
|
10398
10416
|
simo/notifications/models.py,sha256=VZcvweii59j89nPKlWeUSJ44Qz3ZLjJ6mXN6uB9F1Sw,2506
|
|
10399
10417
|
simo/notifications/serializers.py,sha256=altDEAPWwOhxRcEzE9-34jL8EFpyf3vPoEdAPoVLfGc,523
|
|
10400
|
-
simo/notifications/utils.py,sha256=
|
|
10418
|
+
simo/notifications/utils.py,sha256=uBl-Y7WGu00iaGM5rrdogcq0OMRVtyVfJF39-mdB3_k,1853
|
|
10401
10419
|
simo/notifications/__pycache__/__init__.cpython-38.pyc,sha256=YvucUfu98XFvEEg1LYFMlOZJpo_jSGxTVrM-ylAFLOg,167
|
|
10402
10420
|
simo/notifications/__pycache__/admin.cpython-38.pyc,sha256=Fl4crSZTFQOTYQioV6ff9fBRV4MhNiwQgMS2VnmCI4M,1632
|
|
10403
10421
|
simo/notifications/__pycache__/api.cpython-38.pyc,sha256=ys6E4AFghX6bq-rQ0gtA9s0Y2Hh-ypsWH8-Yz4edMrc,2073
|
|
10404
|
-
simo/notifications/__pycache__/models.cpython-38.pyc,sha256=
|
|
10422
|
+
simo/notifications/__pycache__/models.cpython-38.pyc,sha256=rrYjYOEzDZ3Eos2O7aof5wuIo0VUgGt6LLzhXwORDuc,2559
|
|
10405
10423
|
simo/notifications/__pycache__/serializers.cpython-38.pyc,sha256=7-eRGKYuQ4g1SpKOMpz17SIiu1HmaMoYv-cJbaO9QGA,1028
|
|
10424
|
+
simo/notifications/__pycache__/utils.cpython-38.pyc,sha256=yqxzplE-_9khsyMvMpXe8nk4eJAwk_62GUV0sCtfY7k,1460
|
|
10406
10425
|
simo/notifications/migrations/0001_initial.py,sha256=Zh69AQ-EKlQKfqfnMDVRcxvo1MxRY-TFLCdnNcgqi6g,2003
|
|
10407
10426
|
simo/notifications/migrations/0002_notification_instance.py,sha256=B3msbMeKvsuq-V7gvRADRjj5PFLayhi3pQvHZjqzO5g,563
|
|
10408
10427
|
simo/notifications/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -10411,37 +10430,37 @@ simo/notifications/migrations/__pycache__/0002_notification_instance.cpython-38.
|
|
|
10411
10430
|
simo/notifications/migrations/__pycache__/__init__.cpython-38.pyc,sha256=YMBRHVon2nWDtIUbghckjnC12sIg_ykPWhV5aM0tto4,178
|
|
10412
10431
|
simo/users/__init__.py,sha256=6a7uBpCWB_DR7p54rbHusc0xvi1qfT1ZCCQGb6TiBh8,52
|
|
10413
10432
|
simo/users/admin.py,sha256=oaLFTrjDaruKC_l79BB0etru4p8nP8eJFV3F4TSYGp4,6305
|
|
10414
|
-
simo/users/api.py,sha256=
|
|
10433
|
+
simo/users/api.py,sha256=MoURNgcdGl5eS881SbO5nw-zgwSEnbXzb-FrOyA7Vbc,11599
|
|
10415
10434
|
simo/users/apps.py,sha256=cq0A8-U1HALEwev0TicgFhr4CAu7Icz8rwq0HfOaL4E,207
|
|
10416
10435
|
simo/users/auth_backends.py,sha256=bBSNXQJ88TRXaQxyh1aETfmOIfiDr08Jnj8rSY9sHDk,4074
|
|
10417
10436
|
simo/users/auto_urls.py,sha256=lcJvteBsbHQMJieZpDz-63tDYejLApqsW3CUnDakd7k,272
|
|
10418
10437
|
simo/users/dynamic_settings.py,sha256=sEIsi4yJw3kH46Jq_aOkSuK7QTfQACGUE-lkyBogCaM,570
|
|
10419
|
-
simo/users/managers.py,sha256=
|
|
10438
|
+
simo/users/managers.py,sha256=Fajwpm3wdMES73iPqoa_66J8g13bvUhjUtrexLKIcIU,312
|
|
10420
10439
|
simo/users/middleware.py,sha256=GMCrnWSc_2qCleyQIkfQGdL-pU-UTEcSg1wPvIKZ9uk,1210
|
|
10421
|
-
simo/users/models.py,sha256=
|
|
10440
|
+
simo/users/models.py,sha256=xzkLAspcHL0D3kdukEKOwdr4QuLFbocuxkr0BZaJHS4,20590
|
|
10422
10441
|
simo/users/permissions.py,sha256=IwtYS8yQdupWbYKR9VimSRDV3qCJ2jXP57Lyjpb2EQM,242
|
|
10423
|
-
simo/users/serializers.py,sha256=
|
|
10442
|
+
simo/users/serializers.py,sha256=zzw1KONTnaTNBaU0r4rNVxJ827KzD6Z5LuQt27ZsQ98,2516
|
|
10424
10443
|
simo/users/sso_urls.py,sha256=gQOaPvGMYFD0NCVSwyoWO-mTEHe5j9sbzV_RK7kdvp0,251
|
|
10425
10444
|
simo/users/sso_views.py,sha256=-XI67TvQ7SN3goU4OuAHyn84u_1vtusvpn7Pu0K97zo,4648
|
|
10426
10445
|
simo/users/tasks.py,sha256=HJAqiyWGsaN3wSfquU0UyQ20jL-njXeaaTOdDT3TQ3s,979
|
|
10427
|
-
simo/users/utils.py,sha256=
|
|
10446
|
+
simo/users/utils.py,sha256=1HGSZyHRqQvdJ4RtAiZDg1juvgG8aOlrGXR7CcvsyQc,1886
|
|
10428
10447
|
simo/users/views.py,sha256=dOQVvmlHG7ihWKJLFUBcqKOA0UDctlMKR0pTc36JZqg,3487
|
|
10429
10448
|
simo/users/__pycache__/__init__.cpython-38.pyc,sha256=VFoDJE_SKKaPqqYaaBYd1Ndb1hjakkTo_u0EG_XJ1GM,211
|
|
10430
10449
|
simo/users/__pycache__/admin.cpython-38.pyc,sha256=UgkqzfrSQU8Hyqig03Z5Qq29434wU27ttufxtvGEJYw,7433
|
|
10431
|
-
simo/users/__pycache__/api.cpython-38.pyc,sha256=
|
|
10450
|
+
simo/users/__pycache__/api.cpython-38.pyc,sha256=ptN4kOcpA185pPGbU70aVbZQmzr8myOuAndzqXaKZKk,9852
|
|
10432
10451
|
simo/users/__pycache__/apps.cpython-38.pyc,sha256=dgbWL8CxzzISJQTmq_4IztPJ2UzykNVdqA2Ae1PmeGk,605
|
|
10433
10452
|
simo/users/__pycache__/auth_backends.cpython-38.pyc,sha256=n5nx2QSXNj2idzRcGE6bAagMN-8qxoCs580H1EFZXls,3105
|
|
10434
10453
|
simo/users/__pycache__/auto_urls.cpython-38.pyc,sha256=K-3sz2h-cEitoflSmZk1t0eUg5mQMMGLNZFREVwG7_o,430
|
|
10435
10454
|
simo/users/__pycache__/dynamic_settings.cpython-38.pyc,sha256=6F8JBjZkHykySnmZjNEzjS0ijbmPdcp9yUAZ5kqq_Fo,864
|
|
10436
|
-
simo/users/__pycache__/managers.cpython-38.pyc,sha256=
|
|
10455
|
+
simo/users/__pycache__/managers.cpython-38.pyc,sha256=8NvEXbI795f-BXs6CvE_Kp0PpWfYmEJIZ8Bh8H6S2PQ,705
|
|
10437
10456
|
simo/users/__pycache__/middleware.cpython-38.pyc,sha256=Tj4nVEAvxEW3xA63fBRiJWRJpz_M848ZOqbHioc_IPE,1149
|
|
10438
|
-
simo/users/__pycache__/models.cpython-38.pyc,sha256=
|
|
10457
|
+
simo/users/__pycache__/models.cpython-38.pyc,sha256=ZPwHo7woKL0Tlj3q8MWHeqFKpvh1AKkAslrjr8860to,18550
|
|
10439
10458
|
simo/users/__pycache__/permissions.cpython-38.pyc,sha256=ez5NxoL_JUeeH6GsKhvFreuA3FCBgGf9floSypdXUtM,633
|
|
10440
|
-
simo/users/__pycache__/serializers.cpython-38.pyc,sha256=
|
|
10459
|
+
simo/users/__pycache__/serializers.cpython-38.pyc,sha256=Dy8RAcwNkNSXoJHvLp8fozURyHCtucqpSPyqZtbnMZc,3732
|
|
10441
10460
|
simo/users/__pycache__/sso_urls.cpython-38.pyc,sha256=uAwDozpOmrhUald-8tOHANILXkH7-TI8fNYXOtPkSY8,402
|
|
10442
10461
|
simo/users/__pycache__/sso_views.cpython-38.pyc,sha256=sHEoxLOac3U3Epmhm197huFnW_J3gGCDZSji57itijU,3969
|
|
10443
10462
|
simo/users/__pycache__/tasks.cpython-38.pyc,sha256=XLMKt3suT7BlcXrJZoH9ZIhhtBuqyiW4lsOB9IbBkko,1225
|
|
10444
|
-
simo/users/__pycache__/utils.cpython-38.pyc,sha256=
|
|
10463
|
+
simo/users/__pycache__/utils.cpython-38.pyc,sha256=S-2i_Y11eTcUpmn-RkX1B4_tDvZJdqkZqqoewpkcsUM,1739
|
|
10445
10464
|
simo/users/__pycache__/views.cpython-38.pyc,sha256=AXuUnVYRD0ai4FSFDp4qJwryukujAoN6LD3oIj-Cv3o,2426
|
|
10446
10465
|
simo/users/migrations/0001_initial.py,sha256=_SnJemhNOs8Jjj-PjyvTVCBoxfs5V3lR_4ypUHUdLUg,7017
|
|
10447
10466
|
simo/users/migrations/0002_componentpermission.py,sha256=rH9pC9HERf_5WWn3LCsNiu03BiHqURTF62pSNfswStI,918
|
|
@@ -10475,6 +10494,8 @@ simo/users/migrations/0029_alter_instanceuser_instance.py,sha256=5ebO0vX9lCnTXBM
|
|
|
10475
10494
|
simo/users/migrations/0030_userdevice_users.py,sha256=cYY7yChsxOOauHAPIQUzLjLLiOA6kkopTQBE-M9HH10,448
|
|
10476
10495
|
simo/users/migrations/0031_auto_20240923_1115.py,sha256=RyhmpsxpSXK9Ejbh3cHm9fTnDOcLFQsTH9-2MpNK5YU,514
|
|
10477
10496
|
simo/users/migrations/0032_remove_userdevice_user_alter_userdevice_users.py,sha256=pM0B4ghsw6LWDvT_9owUmqIHQiraauTGYm_EePhVBUQ,570
|
|
10497
|
+
simo/users/migrations/0033_alter_user_ssh_key.py,sha256=yR7rI2K3FThEp6zEXWx29Zej4HzG5QufKPcj-m8pFuE,519
|
|
10498
|
+
simo/users/migrations/0034_instanceuser_last_seen_location_and_more.py,sha256=_W7qUsVosxBgeQ4oogfJiDryNnGbQTWiusrDVW70JZU,716
|
|
10478
10499
|
simo/users/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10479
10500
|
simo/users/migrations/__pycache__/0001_initial.cpython-38.pyc,sha256=e4XOKaYRb7l0P7cBnHHi5FQQJMlwjK0g7iqgM-xKmNI,4215
|
|
10480
10501
|
simo/users/migrations/__pycache__/0002_componentpermission.cpython-38.pyc,sha256=pknJnpic8p6Vdx9DX41FfODXNnvexDswJtUCmC5w1tg,995
|
|
@@ -10510,6 +10531,8 @@ simo/users/migrations/__pycache__/0030_alter_instanceuser_options_remove_instanc
|
|
|
10510
10531
|
simo/users/migrations/__pycache__/0030_userdevice_users.cpython-38.pyc,sha256=PWQ77FvS69xbGdzC9E7qXX9RLQ9QC4a__0h0oRAI7Ec,674
|
|
10511
10532
|
simo/users/migrations/__pycache__/0031_auto_20240923_1115.cpython-38.pyc,sha256=0nT2ftDPi0yV6j-p9Am-nVsTy2kY0msM_f2k0eP9EoU,866
|
|
10512
10533
|
simo/users/migrations/__pycache__/0032_remove_userdevice_user_alter_userdevice_users.cpython-38.pyc,sha256=SDKPEIkt9DYEBRm63GAnxG1yRKKm-JP3pizaJdbAUks,772
|
|
10534
|
+
simo/users/migrations/__pycache__/0033_alter_user_ssh_key.cpython-38.pyc,sha256=HCdJw3La6yFkA9v8QcTMAKub_BKhqIH6U4lVY8G4JII,733
|
|
10535
|
+
simo/users/migrations/__pycache__/0034_instanceuser_last_seen_location_and_more.cpython-38.pyc,sha256=YHxGkhAaI2Es3OK61kdNWViyM7UlEiuFGOV5oAyaL_E,871
|
|
10513
10536
|
simo/users/migrations/__pycache__/__init__.cpython-38.pyc,sha256=NKq7WLgktK8WV1oOqCPbAbdkrPV5GRGhYx4VxxI4dcs,170
|
|
10514
10537
|
simo/users/templates/conf/mosquitto.conf,sha256=1eIGNuRu4Y3hfAU6qiWix648eCRrw0oOT24PnyFI4ys,189
|
|
10515
10538
|
simo/users/templates/conf/mosquitto_acls.conf,sha256=ga44caTDNQE0CBKw55iM2jOuna6-9fKGwAhjyERZdRE,500
|
|
@@ -10519,9 +10542,9 @@ simo/users/templates/invitations/expired_msg.html,sha256=47DEQpj8HBSa-_TImW-5JCe
|
|
|
10519
10542
|
simo/users/templates/invitations/expired_suggestion.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10520
10543
|
simo/users/templates/invitations/taken_msg.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10521
10544
|
simo/users/templates/invitations/taken_suggestion.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10522
|
-
simo-2.
|
|
10523
|
-
simo-2.
|
|
10524
|
-
simo-2.
|
|
10525
|
-
simo-2.
|
|
10526
|
-
simo-2.
|
|
10527
|
-
simo-2.
|
|
10545
|
+
simo-2.5.1.dist-info/LICENSE.md,sha256=M7wm1EmMGDtwPRdg7kW4d00h1uAXjKOT3HFScYQMeiE,34916
|
|
10546
|
+
simo-2.5.1.dist-info/METADATA,sha256=4wMPIMMJH6YZClBFHahVA57OeiMpv_NjJrqPwhoGAm4,1923
|
|
10547
|
+
simo-2.5.1.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
|
|
10548
|
+
simo-2.5.1.dist-info/entry_points.txt,sha256=S9PwnUYmTSW7681GKDCxUbL0leRJIaRk6fDQIKgbZBA,135
|
|
10549
|
+
simo-2.5.1.dist-info/top_level.txt,sha256=GmS1hrAbpVqn9OWZh6UX82eIOdRLgYA82RG9fe8v4Rs,5
|
|
10550
|
+
simo-2.5.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|