simo 2.5.13__py3-none-any.whl → 2.5.14__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of simo might be problematic. Click here for more details.
- simo/core/__pycache__/controllers.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__/signal_receivers.cpython-38.pyc +0 -0
- simo/core/__pycache__/tasks.cpython-38.pyc +0 -0
- simo/core/management/_hub_template/hub/supervisor.conf +1 -0
- simo/core/models.py +4 -2
- simo/core/serializers.py +3 -2
- simo/core/signal_receivers.py +2 -2
- simo/core/tasks.py +79 -78
- simo/generic/__pycache__/gateways.cpython-38.pyc +0 -0
- simo/generic/gateways.py +4 -2
- simo/generic/migrations/__pycache__/0001_initial.cpython-38.pyc +0 -0
- {simo-2.5.13.dist-info → simo-2.5.14.dist-info}/METADATA +1 -1
- {simo-2.5.13.dist-info → simo-2.5.14.dist-info}/RECORD +19 -18
- {simo-2.5.13.dist-info → simo-2.5.14.dist-info}/LICENSE.md +0 -0
- {simo-2.5.13.dist-info → simo-2.5.14.dist-info}/WHEEL +0 -0
- {simo-2.5.13.dist-info → simo-2.5.14.dist-info}/entry_points.txt +0 -0
- {simo-2.5.13.dist-info → simo-2.5.14.dist-info}/top_level.txt +0 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
simo/core/models.py
CHANGED
|
@@ -530,7 +530,6 @@ def is_in_alarm(self):
|
|
|
530
530
|
and 'last_change' not in kwargs['update_fields']:
|
|
531
531
|
kwargs['update_fields'].append('last_change')
|
|
532
532
|
|
|
533
|
-
|
|
534
533
|
modifying_fields = (
|
|
535
534
|
'name', 'icon', 'zone', 'category', 'config', 'meta',
|
|
536
535
|
'value_units', 'slaves', 'show_in_app', 'alarm_category'
|
|
@@ -539,7 +538,10 @@ def is_in_alarm(self):
|
|
|
539
538
|
self.last_modified = timezone.now()
|
|
540
539
|
if 'update_fields' in kwargs \
|
|
541
540
|
and 'last_modified' not in kwargs['update_fields']:
|
|
542
|
-
kwargs['update_fields']
|
|
541
|
+
if isinstance(kwargs['update_fields'], tuple):
|
|
542
|
+
kwargs['update_fields'] += ('last_modified', )
|
|
543
|
+
else:
|
|
544
|
+
kwargs['update_fields'].append('last_modified')
|
|
543
545
|
|
|
544
546
|
obj = super().save(*args, **kwargs)
|
|
545
547
|
|
simo/core/serializers.py
CHANGED
|
@@ -106,7 +106,6 @@ class TextAreaSerializerField(serializers.CharField):
|
|
|
106
106
|
class ComponentPrimaryKeyRelatedField(PrimaryKeyRelatedField):
|
|
107
107
|
|
|
108
108
|
def get_attribute(self, instance):
|
|
109
|
-
print(f"{instance} SOURCE ATTRIBUTES: ", self.source_attrs)
|
|
110
109
|
if self.queryset.model in (Icon, Zone, Category):
|
|
111
110
|
return super().get_attribute(instance)
|
|
112
111
|
return self.queryset.model.objects.filter(
|
|
@@ -445,7 +444,9 @@ class ComponentSerializer(FormSerializer):
|
|
|
445
444
|
continue
|
|
446
445
|
if field_name in form.basic_fields:
|
|
447
446
|
continue
|
|
448
|
-
if self.context['request'].user.is_master
|
|
447
|
+
if self.context['request'].user.is_master:
|
|
448
|
+
continue
|
|
449
|
+
if user_role and user_role.is_superuser:
|
|
449
450
|
continue
|
|
450
451
|
del form.fields[field_name]
|
|
451
452
|
|
simo/core/signal_receivers.py
CHANGED
|
@@ -147,13 +147,13 @@ Sets State component to "day" state as soon as none of the home owners phones ar
|
|
|
147
147
|
# Create default User permission roles
|
|
148
148
|
|
|
149
149
|
PermissionsRole.objects.create(
|
|
150
|
-
instance=instance, name="Admin", is_superuser=True
|
|
150
|
+
instance=instance, name="Admin", is_owner=True, is_superuser=True
|
|
151
151
|
)
|
|
152
152
|
PermissionsRole.objects.create(
|
|
153
153
|
instance=instance, name="Owner", is_owner=True, is_default=True
|
|
154
154
|
)
|
|
155
155
|
PermissionsRole.objects.create(
|
|
156
|
-
instance=instance, name="Guest", is_owner=
|
|
156
|
+
instance=instance, name="Guest", is_owner=False
|
|
157
157
|
)
|
|
158
158
|
generic.start()
|
|
159
159
|
dummy.start()
|
simo/core/tasks.py
CHANGED
|
@@ -178,85 +178,86 @@ def sync_with_remote():
|
|
|
178
178
|
|
|
179
179
|
print("Responded with: ", json.dumps(r_json))
|
|
180
180
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
else:
|
|
242
|
-
user = User.objects.filter(email=email).first()
|
|
243
|
-
|
|
244
|
-
if not user:
|
|
245
|
-
continue
|
|
246
|
-
|
|
247
|
-
if user.name != options.get('name'):
|
|
248
|
-
user.name = options['name']
|
|
249
|
-
user.save()
|
|
250
|
-
|
|
251
|
-
avatar_url = options.get('avatar_url')
|
|
252
|
-
if avatar_url and user.avatar_url != avatar_url:
|
|
253
|
-
resp = requests.get(avatar_url)
|
|
254
|
-
user.avatar.save(
|
|
255
|
-
os.path.basename(avatar_url), io.BytesIO(resp.content)
|
|
181
|
+
|
|
182
|
+
if 'hub_uid' in r_json:
|
|
183
|
+
dynamic_settings['core__hub_uid'] = r_json['hub_uid']
|
|
184
|
+
|
|
185
|
+
dynamic_settings['core__remote_http'] = r_json.get('hub_remote_http', '')
|
|
186
|
+
if 'new_secret' in r_json:
|
|
187
|
+
dynamic_settings['core__hub_secret'] = r_json['new_secret']
|
|
188
|
+
|
|
189
|
+
if dynamic_settings['core__remote_conn_version'] < r_json['remote_conn_version']:
|
|
190
|
+
save_config(r_json)
|
|
191
|
+
dynamic_settings['core__remote_conn_version'] = r_json['remote_conn_version']
|
|
192
|
+
|
|
193
|
+
instance_uids = []
|
|
194
|
+
for data in r_json['instances']:
|
|
195
|
+
users_data = data.pop('users', {})
|
|
196
|
+
instance_uid = data.pop('uid')
|
|
197
|
+
instance_uids.append(instance_uid)
|
|
198
|
+
weather = data.pop('weather', None)
|
|
199
|
+
instance, new_instance = Instance.objects.update_or_create(
|
|
200
|
+
uid=instance_uid, defaults=data
|
|
201
|
+
)
|
|
202
|
+
if not instance.is_active:
|
|
203
|
+
instance.is_active = True
|
|
204
|
+
instance.save()
|
|
205
|
+
|
|
206
|
+
if weather:
|
|
207
|
+
from simo.generic.controllers import Weather
|
|
208
|
+
weather_component = Component.objects.filter(
|
|
209
|
+
zone__instance=instance,
|
|
210
|
+
controller_uid=Weather.uid
|
|
211
|
+
).first()
|
|
212
|
+
if weather_component:
|
|
213
|
+
weather_component.track_history = False
|
|
214
|
+
weather_component.controller.set(weather)
|
|
215
|
+
weather_component.save()
|
|
216
|
+
|
|
217
|
+
for email, options in users_data.items():
|
|
218
|
+
|
|
219
|
+
if new_instance or not instance.instance_users.count():
|
|
220
|
+
# Create user for new instance!
|
|
221
|
+
user, new_user = User.objects.get_or_create(
|
|
222
|
+
email=email, defaults={
|
|
223
|
+
'name': options.get('name'),
|
|
224
|
+
'is_master': options.get('is_hub_master', False),
|
|
225
|
+
})
|
|
226
|
+
role = None
|
|
227
|
+
if options.get('is_hub_master') or options.get('is_superuser'):
|
|
228
|
+
role = PermissionsRole.objects.filter(
|
|
229
|
+
instance=instance, is_superuser=True
|
|
230
|
+
).first()
|
|
231
|
+
elif options.get('is_owner'):
|
|
232
|
+
role = PermissionsRole.objects.filter(
|
|
233
|
+
instance=instance, is_owner=True
|
|
234
|
+
).first()
|
|
235
|
+
|
|
236
|
+
if role:
|
|
237
|
+
InstanceUser.objects.update_or_create(
|
|
238
|
+
user=user, instance=instance, defaults={
|
|
239
|
+
'is_active': True, 'role': role
|
|
240
|
+
}
|
|
256
241
|
)
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
242
|
+
else:
|
|
243
|
+
user = User.objects.filter(email=email).first()
|
|
244
|
+
|
|
245
|
+
if not user:
|
|
246
|
+
continue
|
|
247
|
+
|
|
248
|
+
if user.name != options.get('name'):
|
|
249
|
+
user.name = options['name']
|
|
250
|
+
user.save()
|
|
251
|
+
|
|
252
|
+
avatar_url = options.get('avatar_url')
|
|
253
|
+
if avatar_url and user.avatar_url != avatar_url:
|
|
254
|
+
resp = requests.get(avatar_url)
|
|
255
|
+
user.avatar.save(
|
|
256
|
+
os.path.basename(avatar_url), io.BytesIO(resp.content)
|
|
257
|
+
)
|
|
258
|
+
user.avatar_url = avatar_url
|
|
259
|
+
user.avatar_last_change = timezone.now()
|
|
260
|
+
user.save()
|
|
260
261
|
|
|
261
262
|
Instance.objects.all().exclude(
|
|
262
263
|
uid__in=instance_uids
|
|
Binary file
|
simo/generic/gateways.py
CHANGED
|
@@ -246,8 +246,10 @@ class GenericGatewayHandler(BaseObjectCommandsGatewayHandler):
|
|
|
246
246
|
Component.objects.get(id=id), 'error'
|
|
247
247
|
)
|
|
248
248
|
|
|
249
|
-
|
|
250
|
-
|
|
249
|
+
time.sleep(0.5)
|
|
250
|
+
while len(self.running_scripts.keys()):
|
|
251
|
+
print("Still running scripts: ", self.running_scripts.keys())
|
|
252
|
+
time.sleep(0.5)
|
|
251
253
|
|
|
252
254
|
def on_mqtt_connect(self, mqtt_client, userdata, flags, rc):
|
|
253
255
|
command = GatewayObjectCommand(self.gateway_instance)
|
|
Binary file
|
|
@@ -52,14 +52,14 @@ simo/core/gateways.py,sha256=m0eS3XjVe34Dge6xtoCq16kFWCKJcdQrT0JW0REqoq8,3715
|
|
|
52
52
|
simo/core/loggers.py,sha256=EBdq23gTQScVfQVH-xeP90-wII2DQFDjoROAW6ggUP4,1645
|
|
53
53
|
simo/core/managers.py,sha256=n-b3I4uXzfHKTeB1VMjSaMsDUxp8FegFJwnbV1IsWQ4,3019
|
|
54
54
|
simo/core/middleware.py,sha256=hExD7Vmw7eitk0vAjOwKzkwrtuw8YxpflF92j_CA2YY,3193
|
|
55
|
-
simo/core/models.py,sha256=
|
|
55
|
+
simo/core/models.py,sha256=DXJXTtNdpn9yC4VArHp0yrhpRb7vGpwH2c-JvqLE56M,22784
|
|
56
56
|
simo/core/permissions.py,sha256=v0iJM4LOeYoEfMiw3OLPYio272G1aUEAg_z9Wd1q5m0,2993
|
|
57
57
|
simo/core/routing.py,sha256=X1_IHxyA-_Q7hw1udDoviVP4_FSBDl8GYETTC2zWTbY,499
|
|
58
|
-
simo/core/serializers.py,sha256=
|
|
59
|
-
simo/core/signal_receivers.py,sha256
|
|
58
|
+
simo/core/serializers.py,sha256=aoPeHcUi8v0YgEYkTFQr2Nu2lW0Gk3sG8RC2sDPNR00,21827
|
|
59
|
+
simo/core/signal_receivers.py,sha256=-Lw2Jzvgiznw3wj44ntL9nv3DtT8RCEpz6Tap9ZHEQk,9266
|
|
60
60
|
simo/core/socket_consumers.py,sha256=trRZvBGTJ7xIbfdmVvn7zoiWp_qssSkMZykDrI5YQyE,9783
|
|
61
61
|
simo/core/storage.py,sha256=_5igjaoWZAiExGWFEJMElxUw55DzJG1jqFty33xe8BE,342
|
|
62
|
-
simo/core/tasks.py,sha256=
|
|
62
|
+
simo/core/tasks.py,sha256=EF_wDWeCZDA68xtexPURqJaBwbCP48bxdURWgcOLWjE,15141
|
|
63
63
|
simo/core/todos.py,sha256=eYVXfLGiapkxKK57XuviSNe3WsUYyIWZ0hgQJk7ThKo,665
|
|
64
64
|
simo/core/types.py,sha256=WJEq48mIbFi_5Alt4wxWMGXxNxUTXqfQU5koH7wqHHI,1108
|
|
65
65
|
simo/core/views.py,sha256=3SRZr00fyLQf8ja3U-9eekKt-ld5TvU1WQqUWprXfQ4,2390
|
|
@@ -75,7 +75,7 @@ simo/core/__pycache__/auto_urls.cpython-38.pyc,sha256=Tyf8PYHq5YqSwTp25Joy-eura_
|
|
|
75
75
|
simo/core/__pycache__/autocomplete_views.cpython-38.pyc,sha256=wDak1gJYUF5oXSlDz1Dtn-Rhy5CxYEY-v1sPkJhQDpk,4128
|
|
76
76
|
simo/core/__pycache__/base_types.cpython-38.pyc,sha256=CX-qlF7CefRi_mCE954wYa9rUFR88mOl6g7fybDRu7g,803
|
|
77
77
|
simo/core/__pycache__/context.cpython-38.pyc,sha256=ck1FcBljLB4__5F6poS2tEEn8IDDgK7pU3FcXDPc_mI,1329
|
|
78
|
-
simo/core/__pycache__/controllers.cpython-38.pyc,sha256=
|
|
78
|
+
simo/core/__pycache__/controllers.cpython-38.pyc,sha256=6Ts1BeGND9Uy5eeqC5dNeme1yYilEV_emRnjTjJ9WNw,30701
|
|
79
79
|
simo/core/__pycache__/dynamic_settings.cpython-38.pyc,sha256=wGpnscX1DxFpRl54MQURhjz2aD3NJohSzw9JCFnzh2Y,2384
|
|
80
80
|
simo/core/__pycache__/events.cpython-38.pyc,sha256=yip7WSyX4pUy2wJE820W4fD7iwoIWGhdHfloFb_N0R8,5257
|
|
81
81
|
simo/core/__pycache__/filters.cpython-38.pyc,sha256=VIMADCBiYhziIyRmxAyUDJluZvuZmiC4bNYWTRsGSao,721
|
|
@@ -85,14 +85,14 @@ simo/core/__pycache__/gateways.cpython-38.pyc,sha256=D1ooHL-iSpQrxnD8uAl4xWFJmm-
|
|
|
85
85
|
simo/core/__pycache__/loggers.cpython-38.pyc,sha256=Z-cdQnC6XlIonPV4Sl4E52tP4NMEdPAiHK0cFaIL7I8,1623
|
|
86
86
|
simo/core/__pycache__/managers.cpython-38.pyc,sha256=6RTIxyjOgpQGtAqcUyE2vFPS09w1V5Wmd_vOV7rHRRI,3370
|
|
87
87
|
simo/core/__pycache__/middleware.cpython-38.pyc,sha256=iOSTXSQl3sEsa-9kx_6w5zbEByRtfzJHT6XkUIYMGdE,2469
|
|
88
|
-
simo/core/__pycache__/models.cpython-38.pyc,sha256=
|
|
88
|
+
simo/core/__pycache__/models.cpython-38.pyc,sha256=HGL3TiaMy-0oobgCGGxH2nvDhh4RnOBeD00rwQsuklU,18591
|
|
89
89
|
simo/core/__pycache__/permissions.cpython-38.pyc,sha256=fH4iyqd9DdzRLEu2b621-FeM-napR0M7hzBUTHo9Q3g,2972
|
|
90
90
|
simo/core/__pycache__/routing.cpython-38.pyc,sha256=3T3FPJ8Cn99xZCGvMyg2xjl7al-Shm9CelbSpkJtNP8,599
|
|
91
|
-
simo/core/__pycache__/serializers.cpython-38.pyc,sha256=
|
|
92
|
-
simo/core/__pycache__/signal_receivers.cpython-38.pyc,sha256=
|
|
91
|
+
simo/core/__pycache__/serializers.cpython-38.pyc,sha256=AX-5qAXYDjny1-ZHf3Ow7Ri20pmGV2dwo6n1g_Nzb30,19592
|
|
92
|
+
simo/core/__pycache__/signal_receivers.cpython-38.pyc,sha256=h6MWIU7U2tNCIp0NiKSEDuFeaxLHYz1OXehzBxAYrYA,7048
|
|
93
93
|
simo/core/__pycache__/socket_consumers.cpython-38.pyc,sha256=KqbO1cOewodVPcy0-htVefyUjCuELKV0o7fOfYqfgPc,8490
|
|
94
94
|
simo/core/__pycache__/storage.cpython-38.pyc,sha256=9R1Xu0FJDflfRXUPsqEgt0SpwiP7FGk7HaR8s8XRyI8,721
|
|
95
|
-
simo/core/__pycache__/tasks.cpython-38.pyc,sha256=
|
|
95
|
+
simo/core/__pycache__/tasks.cpython-38.pyc,sha256=DKhn-7oFN4EINROUgsXj4ihlaS93O1xDGqgxZ7PkFuo,10391
|
|
96
96
|
simo/core/__pycache__/todos.cpython-38.pyc,sha256=lOqGZ58siHM3isoJV4r7sg8igrfE9fFd-jSfeBa0AQI,253
|
|
97
97
|
simo/core/__pycache__/views.cpython-38.pyc,sha256=K_QM967bIJeU02DJu0Dm7j8RiFDKn_TLzX77YzNkA7c,2495
|
|
98
98
|
simo/core/__pycache__/widgets.cpython-38.pyc,sha256=sR0ZeHCHrhnNDBJuRrxp3zUsfBp0xrtF0xrK2TkQv1o,3520
|
|
@@ -153,7 +153,7 @@ simo/core/management/_hub_template/hub/celeryc.py,sha256=3ksDXftIZKJ4Cq9WNKJERdZ
|
|
|
153
153
|
simo/core/management/_hub_template/hub/manage.py,sha256=PNNlw3EVeIJDgkG0l-klqoxsKWfTYWG9jzRG0upmAaI,620
|
|
154
154
|
simo/core/management/_hub_template/hub/nginx.conf,sha256=40hvXL42MeiqqkLURNcDQsRudv1dNFLJnvb2-Y3RCkk,2394
|
|
155
155
|
simo/core/management/_hub_template/hub/settings.py,sha256=4QhvhbtLRxHvAntwqG_qeAAtpDUqKvN4jzw9u3vqff8,361
|
|
156
|
-
simo/core/management/_hub_template/hub/supervisor.conf,sha256=
|
|
156
|
+
simo/core/management/_hub_template/hub/supervisor.conf,sha256=sfeitUI6V4MgPDtfj-6AEQSTS_VNvLUdwNYNdSI1zRI,2377
|
|
157
157
|
simo/core/management/_hub_template/hub/urls.py,sha256=Ydm-1BkYAzWeEF-MKSDIFf-7aE4qNLPm48-SA51XgJQ,25
|
|
158
158
|
simo/core/management/_hub_template/hub/wsgi.py,sha256=Lo-huLHnMDTxSmMBOodVFMWBls9poddrV2KRzXU0xGo,280
|
|
159
159
|
simo/core/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -10342,7 +10342,7 @@ simo/generic/app_widgets.py,sha256=TPRLj4hri2hBuY6mrdwBiv-01z2hDxZmsup-GDD9LrM,9
|
|
|
10342
10342
|
simo/generic/base_types.py,sha256=u3SlfpNYaCwkVBwomWgso4ODzL71ay9MhiAW-bxgnDU,341
|
|
10343
10343
|
simo/generic/controllers.py,sha256=Qf54CAeD8DviMV_S19E-7f-w-94Vr90-8xasy-IfG_A,49311
|
|
10344
10344
|
simo/generic/forms.py,sha256=H841-wbWltnZ2-RXQEM1G8H4kfOcl88Qhg7bxE4VCiQ,28993
|
|
10345
|
-
simo/generic/gateways.py,sha256=
|
|
10345
|
+
simo/generic/gateways.py,sha256=sMedpxIfpxqTx746DdhsIu-pzTrqduOSIb7i7XDX9GU,15339
|
|
10346
10346
|
simo/generic/models.py,sha256=Adq7ipWK-renxJlNW-SZnAq2oGEOwKx8EdUWaKnfcVQ,7597
|
|
10347
10347
|
simo/generic/routing.py,sha256=elQVZmgnPiieEuti4sJ7zITk1hlRxpgbotcutJJgC60,228
|
|
10348
10348
|
simo/generic/socket_consumers.py,sha256=K2OjphIhKJH48BvfFfoCOyCQZ1NmXb_phs6y1IP-qaQ,1757
|
|
@@ -10351,12 +10351,13 @@ simo/generic/__pycache__/app_widgets.cpython-38.pyc,sha256=YZ5db6-FPynBi6ooPW5cr
|
|
|
10351
10351
|
simo/generic/__pycache__/base_types.cpython-38.pyc,sha256=aV5NdIuvXR-ItKpI__MwcyPZHD6Z882TFdgYkPCkr1I,493
|
|
10352
10352
|
simo/generic/__pycache__/controllers.cpython-38.pyc,sha256=EwtavDlVJX0b6taQ0moYk11oL9nZL5_esoCXGdtcNNo,32751
|
|
10353
10353
|
simo/generic/__pycache__/forms.cpython-38.pyc,sha256=w7p-dFYvxtNMlrKVnM2zWa1Jp0zXygP6Lbo6kKg-Ox4,21228
|
|
10354
|
-
simo/generic/__pycache__/gateways.cpython-38.pyc,sha256=
|
|
10354
|
+
simo/generic/__pycache__/gateways.cpython-38.pyc,sha256=QGj0mIWyqrVpn9AeGeYzdu6PxcF5SdQOHNzEqcHCy_E,11648
|
|
10355
10355
|
simo/generic/__pycache__/models.cpython-38.pyc,sha256=MZpum7syAFxuulf47K7gtUlJJ7xRD-IBUBAwUM1ZRnw,5825
|
|
10356
10356
|
simo/generic/__pycache__/routing.cpython-38.pyc,sha256=xtxTUTBTdivzFyA5Wh7k-hUj1WDO_FiRq6HYXdbr9Ks,382
|
|
10357
10357
|
simo/generic/__pycache__/socket_consumers.cpython-38.pyc,sha256=qJO5kvQLWhsQDOr1AtAtsAybuRWioxSkQei3Pc7rdP0,1737
|
|
10358
10358
|
simo/generic/migrations/0001_initial.py,sha256=7FpPcfpRU5ya0b8s2KbxR5a3npf92YruvZltUybjzys,676
|
|
10359
10359
|
simo/generic/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10360
|
+
simo/generic/migrations/__pycache__/0001_initial.cpython-38.pyc,sha256=xy_fN8vnebC_X8hArqHAOLYHLm3puD_stzJ-LvUOhgk,1009
|
|
10360
10361
|
simo/generic/migrations/__pycache__/__init__.cpython-38.pyc,sha256=nJV0NkIT8MuONj1hUX-V6aCU2lX3BXHyPjisapnBsPA,172
|
|
10361
10362
|
simo/generic/scripting/__init__.py,sha256=aZZvNBae7unnux_zGHCIWCV2z47hVJc-DIL72Hqfkeo,600
|
|
10362
10363
|
simo/generic/scripting/example.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -10560,9 +10561,9 @@ simo/users/templates/invitations/expired_msg.html,sha256=47DEQpj8HBSa-_TImW-5JCe
|
|
|
10560
10561
|
simo/users/templates/invitations/expired_suggestion.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10561
10562
|
simo/users/templates/invitations/taken_msg.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10562
10563
|
simo/users/templates/invitations/taken_suggestion.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10563
|
-
simo-2.5.
|
|
10564
|
-
simo-2.5.
|
|
10565
|
-
simo-2.5.
|
|
10566
|
-
simo-2.5.
|
|
10567
|
-
simo-2.5.
|
|
10568
|
-
simo-2.5.
|
|
10564
|
+
simo-2.5.14.dist-info/LICENSE.md,sha256=M7wm1EmMGDtwPRdg7kW4d00h1uAXjKOT3HFScYQMeiE,34916
|
|
10565
|
+
simo-2.5.14.dist-info/METADATA,sha256=5BwYzfoplEKYlQTBYh4sf6Vy7Iig41b4lG9cgx6lj0I,1924
|
|
10566
|
+
simo-2.5.14.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
|
10567
|
+
simo-2.5.14.dist-info/entry_points.txt,sha256=S9PwnUYmTSW7681GKDCxUbL0leRJIaRk6fDQIKgbZBA,135
|
|
10568
|
+
simo-2.5.14.dist-info/top_level.txt,sha256=GmS1hrAbpVqn9OWZh6UX82eIOdRLgYA82RG9fe8v4Rs,5
|
|
10569
|
+
simo-2.5.14.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|