simo 2.7.5__py3-none-any.whl → 2.7.7__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/automation/__pycache__/controllers.cpython-38.pyc +0 -0
- simo/automation/controllers.py +1 -0
- simo/core/__pycache__/api.cpython-38.pyc +0 -0
- simo/core/__pycache__/api_meta.cpython-38.pyc +0 -0
- simo/core/api.py +0 -10
- simo/core/api_meta.py +2 -1
- simo/core/socket_consumers.py +0 -4
- simo/core/tasks.py +1 -1
- simo/fleet/socket_consumers.py +1 -1
- simo/generic/controllers.py +1 -1
- simo/generic/forms.py +2 -1
- simo/generic/gateways.py +25 -8
- simo/multimedia/__pycache__/controllers.cpython-38.pyc +0 -0
- simo/multimedia/controllers.py +2 -2
- simo/users/tasks.py +0 -1
- {simo-2.7.5.dist-info → simo-2.7.7.dist-info}/METADATA +1 -1
- {simo-2.7.5.dist-info → simo-2.7.7.dist-info}/RECORD +21 -21
- {simo-2.7.5.dist-info → simo-2.7.7.dist-info}/LICENSE.md +0 -0
- {simo-2.7.5.dist-info → simo-2.7.7.dist-info}/WHEEL +0 -0
- {simo-2.7.5.dist-info → simo-2.7.7.dist-info}/entry_points.txt +0 -0
- {simo-2.7.5.dist-info → simo-2.7.7.dist-info}/top_level.txt +0 -0
|
Binary file
|
simo/automation/controllers.py
CHANGED
|
@@ -33,6 +33,7 @@ class Script(ControllerBase, TimerMixin):
|
|
|
33
33
|
admin_widget_template = 'admin/controller_widgets/script.html'
|
|
34
34
|
default_config = {'autostart': True, 'autorestart': True}
|
|
35
35
|
default_value = 'stopped'
|
|
36
|
+
masters_only = True
|
|
36
37
|
|
|
37
38
|
def _validate_val(self, value, occasion=None):
|
|
38
39
|
if occasion == BEFORE_SEND:
|
|
Binary file
|
|
Binary file
|
simo/core/api.py
CHANGED
|
@@ -722,11 +722,6 @@ class ControllerTypes(InstanceMixin, viewsets.GenericViewSet):
|
|
|
722
722
|
basename = 'controller-types'
|
|
723
723
|
queryset = []
|
|
724
724
|
|
|
725
|
-
def get_permissions(self):
|
|
726
|
-
permissions = super().get_permissions()
|
|
727
|
-
permissions.append(IsInstanceSuperuser())
|
|
728
|
-
return permissions
|
|
729
|
-
|
|
730
725
|
def list(self, request, *args, **kwargs):
|
|
731
726
|
from .utils.type_constants import get_controller_types_map
|
|
732
727
|
data = {}
|
|
@@ -752,11 +747,6 @@ class GWControllerTypes(InstanceMixin, viewsets.GenericViewSet):
|
|
|
752
747
|
basename = 'gw-controller-types'
|
|
753
748
|
queryset = []
|
|
754
749
|
|
|
755
|
-
def get_permissions(self):
|
|
756
|
-
permissions = super().get_permissions()
|
|
757
|
-
permissions.append(IsInstanceSuperuser())
|
|
758
|
-
return permissions
|
|
759
|
-
|
|
760
750
|
def list(self, request, *args, **kwargs):
|
|
761
751
|
from .utils.type_constants import get_controller_types_map
|
|
762
752
|
data = {}
|
simo/core/api_meta.py
CHANGED
|
@@ -119,7 +119,8 @@ class SIMOAPIMetadata(SimpleMetadata):
|
|
|
119
119
|
if form_field and hasattr(form_field, 'zoom'):
|
|
120
120
|
field_info['zoom'] = form_field.zoom
|
|
121
121
|
|
|
122
|
-
if not field_info.get('read_only') and hasattr(field, 'choices')
|
|
122
|
+
if not field_info.get('read_only') and hasattr(field, 'choices')\
|
|
123
|
+
and not hasattr(form_field, 'forward'):
|
|
123
124
|
field_info['choices'] = [
|
|
124
125
|
{
|
|
125
126
|
'value': choice_value,
|
simo/core/socket_consumers.py
CHANGED
|
@@ -217,8 +217,6 @@ class ComponentController(SIMOWebsocketConsumer):
|
|
|
217
217
|
if not self.scope['user'].is_active:
|
|
218
218
|
return self.close()
|
|
219
219
|
|
|
220
|
-
introduce_instance(self.component.zone.instance)
|
|
221
|
-
|
|
222
220
|
self._mqtt_client = mqtt.Client()
|
|
223
221
|
self._mqtt_client.username_pw_set('root', settings.SECRET_KEY)
|
|
224
222
|
self._mqtt_client.on_connect = self._on_mqtt_connect
|
|
@@ -236,7 +234,6 @@ class ComponentController(SIMOWebsocketConsumer):
|
|
|
236
234
|
payload = json.loads(msg.payload)
|
|
237
235
|
component = get_event_obj(payload, Component)
|
|
238
236
|
if component == self.component:
|
|
239
|
-
introduce_instance(self.component.zone.instance)
|
|
240
237
|
# print("Object changed [%s], %s" % (str(component), payload))
|
|
241
238
|
self.component = component
|
|
242
239
|
if self.send_value:
|
|
@@ -253,7 +250,6 @@ class ComponentController(SIMOWebsocketConsumer):
|
|
|
253
250
|
|
|
254
251
|
def receive(self, text_data=None, bytes_data=None, **kwargs):
|
|
255
252
|
introduce(self.scope['user'])
|
|
256
|
-
introduce_instance(self.component.zone.instance)
|
|
257
253
|
json_data = json.loads(text_data)
|
|
258
254
|
self.send_value = json_data.pop('send_value', False)
|
|
259
255
|
for method, param in json_data.items():
|
simo/core/tasks.py
CHANGED
|
@@ -436,7 +436,7 @@ def restart_postgresql():
|
|
|
436
436
|
@celery_app.task
|
|
437
437
|
def low_battery_notifications():
|
|
438
438
|
from simo.notifications.utils import notify_users
|
|
439
|
-
from simo.
|
|
439
|
+
from simo.automation.helpers import be_or_not_to_be
|
|
440
440
|
for instance in Instance.objects.filter(is_active=True):
|
|
441
441
|
timezone.activate(instance.timezone)
|
|
442
442
|
hour = timezone.localtime().hour
|
simo/fleet/socket_consumers.py
CHANGED
|
@@ -13,7 +13,7 @@ import paho.mqtt.client as mqtt
|
|
|
13
13
|
from channels.generic.websocket import AsyncWebsocketConsumer
|
|
14
14
|
from asgiref.sync import sync_to_async
|
|
15
15
|
from simo.core.utils.model_helpers import get_log_file_path
|
|
16
|
-
from simo.core.middleware import
|
|
16
|
+
from simo.core.middleware import drop_current_instance
|
|
17
17
|
from simo.core.utils.logs import capture_socket_errors
|
|
18
18
|
from simo.core.events import GatewayObjectCommand, get_event_obj
|
|
19
19
|
from simo.core.models import Gateway, Instance, Component
|
simo/generic/controllers.py
CHANGED
|
@@ -1163,7 +1163,7 @@ class MainState(StateSelect):
|
|
|
1163
1163
|
|
|
1164
1164
|
def owner_phones_on_sleep(self):
|
|
1165
1165
|
sleeping_phones_hour = self.component.config.get('sleeping_phones_hour')
|
|
1166
|
-
if sleeping_phones_hour is
|
|
1166
|
+
if sleeping_phones_hour is None:
|
|
1167
1167
|
return False
|
|
1168
1168
|
|
|
1169
1169
|
if not self.is_sleep_time():
|
simo/generic/forms.py
CHANGED
|
@@ -29,7 +29,8 @@ ACTION_METHODS = (
|
|
|
29
29
|
class ControlForm(forms.Form):
|
|
30
30
|
button = Select2ModelChoiceField(
|
|
31
31
|
queryset=Component.objects.filter(base_type='button'),
|
|
32
|
-
url='autocomplete-component'
|
|
32
|
+
url='autocomplete-component',
|
|
33
|
+
forward=(forward.Const(['button',], 'base_type'),)
|
|
33
34
|
)
|
|
34
35
|
prefix = 'controls'
|
|
35
36
|
|
simo/generic/gateways.py
CHANGED
|
@@ -157,6 +157,7 @@ class GenericGatewayHandler(BaseObjectCommandsGatewayHandler):
|
|
|
157
157
|
self.last_sensor_actions = {}
|
|
158
158
|
self.sensors_on_watch = {}
|
|
159
159
|
self.sleep_is_on = {}
|
|
160
|
+
self.last_set_state = None
|
|
160
161
|
|
|
161
162
|
|
|
162
163
|
|
|
@@ -176,7 +177,6 @@ class GenericGatewayHandler(BaseObjectCommandsGatewayHandler):
|
|
|
176
177
|
for alarm_clock in Component.objects.filter(
|
|
177
178
|
controller_uid=AlarmClock.uid
|
|
178
179
|
):
|
|
179
|
-
introduce_instance(alarm_clock.zone.instance)
|
|
180
180
|
tz = pytz.timezone(alarm_clock.zone.instance.timezone)
|
|
181
181
|
timezone.activate(tz)
|
|
182
182
|
alarm_clock.tick()
|
|
@@ -185,7 +185,6 @@ class GenericGatewayHandler(BaseObjectCommandsGatewayHandler):
|
|
|
185
185
|
drop_current_instance()
|
|
186
186
|
from .controllers import Watering
|
|
187
187
|
for watering in Component.objects.filter(controller_uid=Watering.uid):
|
|
188
|
-
introduce_instance(watering.zone.instance)
|
|
189
188
|
tz = pytz.timezone(watering.zone.instance.timezone)
|
|
190
189
|
timezone.activate(tz)
|
|
191
190
|
if watering.value['status'] == 'running_program':
|
|
@@ -237,7 +236,6 @@ class GenericGatewayHandler(BaseObjectCommandsGatewayHandler):
|
|
|
237
236
|
component = get_event_obj(payload, Component)
|
|
238
237
|
if not component:
|
|
239
238
|
return
|
|
240
|
-
introduce_instance(component.zone.instance)
|
|
241
239
|
try:
|
|
242
240
|
if component.controller_uid == AlarmGroup.uid:
|
|
243
241
|
self.control_alarm_group(component, payload.get('set_val'))
|
|
@@ -325,13 +323,32 @@ class GenericGatewayHandler(BaseObjectCommandsGatewayHandler):
|
|
|
325
323
|
print(traceback.format_exc(), file=sys.stderr)
|
|
326
324
|
|
|
327
325
|
|
|
326
|
+
def set_get_day_evening_night_morning(self, state):
|
|
327
|
+
if state.value not in ('day', 'night', 'evening', 'morning'):
|
|
328
|
+
return
|
|
329
|
+
new_state = state.get_day_evening_night_morning()
|
|
330
|
+
if new_state == state.value:
|
|
331
|
+
self.last_set_state = state.value
|
|
332
|
+
return
|
|
333
|
+
if self.last_set_state:
|
|
334
|
+
# check if user maybe changed the state manually.
|
|
335
|
+
# If that's the case, we should not intervene
|
|
336
|
+
if new_state == 'day' and self.last_set_state not in ('night', 'morning'):
|
|
337
|
+
return
|
|
338
|
+
if new_state == 'evening' and self.last_set_state != 'day':
|
|
339
|
+
return
|
|
340
|
+
if new_state == 'night' and self.last_set_state != 'evening':
|
|
341
|
+
return
|
|
342
|
+
if new_state == 'morning' and self.last_set_state != 'night':
|
|
343
|
+
return
|
|
344
|
+
|
|
345
|
+
print(f"New main state of {state.zone.instance} - {new_state}")
|
|
346
|
+
state.send(new_state)
|
|
347
|
+
|
|
348
|
+
|
|
328
349
|
def watch_main_state(self, state):
|
|
329
350
|
i_id = state.zone.instance.id
|
|
330
|
-
|
|
331
|
-
new_state = state.get_day_evening_night_morning()
|
|
332
|
-
if new_state != state.value:
|
|
333
|
-
print(f"New main state of {state.zone.instance} - {new_state}")
|
|
334
|
-
state.send(new_state)
|
|
351
|
+
self.set_get_day_evening_night_morning(state)
|
|
335
352
|
|
|
336
353
|
if state.config.get('away_on_no_action'):
|
|
337
354
|
if i_id not in self.last_sensor_actions:
|
|
Binary file
|
simo/multimedia/controllers.py
CHANGED
simo/users/tasks.py
CHANGED
|
@@ -9,7 +9,6 @@ def clear_device_report_logs():
|
|
|
9
9
|
from simo.core.models import Instance
|
|
10
10
|
from .models import UserDeviceReportLog
|
|
11
11
|
for instance in Instance.objects.all():
|
|
12
|
-
introduce_instance(instance)
|
|
13
12
|
# keeping at least 1 hour of logs so that we could evaluate
|
|
14
13
|
# user's current location using Kalman filter
|
|
15
14
|
UserDeviceReportLog.objects.filter(
|
|
@@ -13,7 +13,7 @@ simo/__pycache__/urls.cpython-38.pyc,sha256=u0x6EqT8S1YfDOSPgbI8Kf-RDlveY9OV-EDX
|
|
|
13
13
|
simo/__pycache__/wsgi.cpython-38.pyc,sha256=TpRxO7VM_ql31hbKphVdanydC5RI1nHB4l0QA2pdWxo,322
|
|
14
14
|
simo/automation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
15
|
simo/automation/app_widgets.py,sha256=gaqImMZjuMHm7nIb9a4D-Y3qipz_WhSPAHXcwGx4Uzs,199
|
|
16
|
-
simo/automation/controllers.py,sha256=
|
|
16
|
+
simo/automation/controllers.py,sha256=Ow8xG9hkdyMRZbrNPX5uZloYM9jZqa9mgCh4k6FeoJw,11492
|
|
17
17
|
simo/automation/forms.py,sha256=UWnkxw8pILPK0smRPTo4SLgsZl78zOySx7JIc30Bgtk,10228
|
|
18
18
|
simo/automation/gateways.py,sha256=nWiWaDcNFpOumtTEE1xbhuYLt4Qvs8K0-zVEupdRPRU,14563
|
|
19
19
|
simo/automation/helpers.py,sha256=iP-fxxB8HsFQy3k2CjFubu86aMqvWgmh-p24DiyOrek,4330
|
|
@@ -22,7 +22,7 @@ simo/automation/serializers.py,sha256=PjyFrjdPK1mBsgbNhyqMi9SWzcymqTa742ipy0LhAN
|
|
|
22
22
|
simo/automation/state.py,sha256=aZZvNBae7unnux_zGHCIWCV2z47hVJc-DIL72Hqfkeo,600
|
|
23
23
|
simo/automation/__pycache__/__init__.cpython-38.pyc,sha256=YmP0xAD-mxpQHgdTZeC64sXChA8TriMZD1jckNYi3xg,164
|
|
24
24
|
simo/automation/__pycache__/app_widgets.cpython-38.pyc,sha256=7DfUA9V_1MiwrOe_ta-ts8dYY8xXb9UMg2_9A3XoRcs,523
|
|
25
|
-
simo/automation/__pycache__/controllers.cpython-38.pyc,sha256=
|
|
25
|
+
simo/automation/__pycache__/controllers.cpython-38.pyc,sha256=m-c96x4Pl4uui7VyE34NrWYQFay2L9o7IYWWbCK1LSs,8391
|
|
26
26
|
simo/automation/__pycache__/forms.cpython-38.pyc,sha256=cpA5hA2Iz3JsPC0Dq01ki1I7S9c5DKRcXveHApI1dJo,7772
|
|
27
27
|
simo/automation/__pycache__/gateways.cpython-38.pyc,sha256=K8y3DNQFfcEQiLTgHl5p0Uk58R5QCuqFCluvbQ6I_9g,10652
|
|
28
28
|
simo/automation/__pycache__/helpers.cpython-38.pyc,sha256=4VSSarOFnUk_KExWwvDlx5dEhv8aHUCHMZDtGG--pUY,3627
|
|
@@ -61,9 +61,9 @@ simo/backups/migrations/__pycache__/0004_alter_backup_options_alter_backuplog_op
|
|
|
61
61
|
simo/backups/migrations/__pycache__/__init__.cpython-38.pyc,sha256=Lz1fs6V05h2AoxTOLNye0do9bEMnyuaXB_hHOjG5-HU,172
|
|
62
62
|
simo/core/__init__.py,sha256=_s2TjJfQImsMrTIxqLAx9AZie1Ojmm6sCHASdl3WLGU,50
|
|
63
63
|
simo/core/admin.py,sha256=j07Dy3IsW7SRRsAJ2XXGzE0MTxmfY87CEEbT22kLlS4,18550
|
|
64
|
-
simo/core/api.py,sha256=
|
|
64
|
+
simo/core/api.py,sha256=D5FBWvhYpQeM9wVfapzRvBi_ypOtXBt9tmmCaUxpGjI,29992
|
|
65
65
|
simo/core/api_auth.py,sha256=vCxvczA8aWNcW0VyKs5WlC_ytlqeGP_H_hkKUNVkCwM,1247
|
|
66
|
-
simo/core/api_meta.py,sha256=
|
|
66
|
+
simo/core/api_meta.py,sha256=DuX6BmUC2uY_mXb8NC_UMq6T3FcMSQoD2Rv0Pp0NdQo,5228
|
|
67
67
|
simo/core/app_widgets.py,sha256=VxZzapuc-a29wBH7JzpvNF2SK1ECrgNUySId5ke1ffc,2509
|
|
68
68
|
simo/core/apps.py,sha256=CsqpiQerhmrMsH-wGiG-gQgXd9qEkIi-LUaA9cXpKSw,425
|
|
69
69
|
simo/core/auto_urls.py,sha256=FBDclIeRp5UVWomIUbRzUgY-AoMk-r2qC2htlwKD4Lo,1106
|
|
@@ -85,18 +85,18 @@ simo/core/permissions.py,sha256=2YNRot2qoHjHKWPGOpO4PBseecctPbTlUQpepnFkCRs,3027
|
|
|
85
85
|
simo/core/routing.py,sha256=X1_IHxyA-_Q7hw1udDoviVP4_FSBDl8GYETTC2zWTbY,499
|
|
86
86
|
simo/core/serializers.py,sha256=pa4F5fSvIxgGJWBEcXdzpmemRWl6QbUoUDMqQ_RdA2o,22514
|
|
87
87
|
simo/core/signal_receivers.py,sha256=y8p0BG3PzhHI3w2WXS8QXyxXc7YKUE_mmO2-QElvrP4,6276
|
|
88
|
-
simo/core/socket_consumers.py,sha256=
|
|
88
|
+
simo/core/socket_consumers.py,sha256=Es_NmacQGZjsncBXDTEXR2yZbRs7mf2FKOBJjbZRGac,9607
|
|
89
89
|
simo/core/storage.py,sha256=_5igjaoWZAiExGWFEJMElxUw55DzJG1jqFty33xe8BE,342
|
|
90
|
-
simo/core/tasks.py,sha256=
|
|
90
|
+
simo/core/tasks.py,sha256=LMTkZQDGFus5L2Q8AGzYegjpnZKf9Klgo3V9BT5L2ng,16904
|
|
91
91
|
simo/core/todos.py,sha256=eYVXfLGiapkxKK57XuviSNe3WsUYyIWZ0hgQJk7ThKo,665
|
|
92
92
|
simo/core/types.py,sha256=WJEq48mIbFi_5Alt4wxWMGXxNxUTXqfQU5koH7wqHHI,1108
|
|
93
93
|
simo/core/views.py,sha256=yx9I0byeVUa-LAOnklpWIYwpNNOf5m9fyjKBvj4YCh4,2475
|
|
94
94
|
simo/core/widgets.py,sha256=J9e06C6I22F6xKic3VMgG7WeX07glAcl-4bF2Mg180A,2827
|
|
95
95
|
simo/core/__pycache__/__init__.cpython-38.pyc,sha256=ZJFM_XN0RmJMULQulgA_wFiOnEtsMoedcOWnXjH-Y8o,208
|
|
96
96
|
simo/core/__pycache__/admin.cpython-38.pyc,sha256=oDG9Kem_VbiRDB6ednmvPS9asBDb3iki7OyLzzNRYCQ,14155
|
|
97
|
-
simo/core/__pycache__/api.cpython-38.pyc,sha256=
|
|
97
|
+
simo/core/__pycache__/api.cpython-38.pyc,sha256=JXCs5U9MPyZTdO4_j-ytpH1_Fo9-w36zs1eHXZ-czwo,22925
|
|
98
98
|
simo/core/__pycache__/api_auth.cpython-38.pyc,sha256=mi3mu5qEKio_PvfQEvr3Q6AhdPLAHxzxAxrMbAz_pKU,1712
|
|
99
|
-
simo/core/__pycache__/api_meta.cpython-38.pyc,sha256=
|
|
99
|
+
simo/core/__pycache__/api_meta.cpython-38.pyc,sha256=km2IBFS1ot6CTYuIAnCwQToQLVQqRasAvfQ6UC8-1ts,3853
|
|
100
100
|
simo/core/__pycache__/app_widgets.cpython-38.pyc,sha256=oN657XMMZ6GYN9nblv7fX3kdnTEzSP9XV6PXM6Z0wl4,4358
|
|
101
101
|
simo/core/__pycache__/apps.cpython-38.pyc,sha256=JL0BEqgXcSQvMlcK48PBpPfyDEkPMdO1Y0teqMRGirs,713
|
|
102
102
|
simo/core/__pycache__/auto_urls.cpython-38.pyc,sha256=ib_ns5Ko8ybfrdJJWYVV1jevihxOFs39aBF4bez6Lzs,874
|
|
@@ -10265,7 +10265,7 @@ simo/fleet/managers.py,sha256=ZNeHFSkF5kzsl9E1DCBevOW6kXJlD6kw0LU4B-JMOG8,828
|
|
|
10265
10265
|
simo/fleet/models.py,sha256=zPplx_v64nfKBmb-nCb74aCVtEeY3m3SjEy-VhbnydU,17511
|
|
10266
10266
|
simo/fleet/routing.py,sha256=cofGsVWXMfPDwsJ6HM88xxtRxHwERhJ48Xyxc8mxg5o,149
|
|
10267
10267
|
simo/fleet/serializers.py,sha256=PQnjp7LaEpMts-om2OPV5XOU9ut6KFWiePPDCXK0M98,2679
|
|
10268
|
-
simo/fleet/socket_consumers.py,sha256=
|
|
10268
|
+
simo/fleet/socket_consumers.py,sha256=3Ayry0PJgP5K2V7c-4a11QFOxfM8lOSXfIVhaBB8wTM,18820
|
|
10269
10269
|
simo/fleet/tasks.py,sha256=NX_opj-rbkK9eeQMeRNwHj_ZJ0LC4rYOZovMg9_r0kA,904
|
|
10270
10270
|
simo/fleet/utils.py,sha256=wNJvURzLP3-aho3D3rfg07N9kWCaMIw5gOsmeeO9Nlg,4740
|
|
10271
10271
|
simo/fleet/views.py,sha256=ao1e5ZAkQDZ2AuGiPYTbfgxgH_9efRwnTkk-ZjwnpPc,5122
|
|
@@ -10379,9 +10379,9 @@ simo/fleet/templates/fleet/controllers_info/ENS160AirQualitySensor.md,sha256=3LS
|
|
|
10379
10379
|
simo/generic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10380
10380
|
simo/generic/app_widgets.py,sha256=y8W3jR76Hh26O9pPQyg2SophMbYIOtAWD33MPKbB8Mg,856
|
|
10381
10381
|
simo/generic/base_types.py,sha256=u3SlfpNYaCwkVBwomWgso4ODzL71ay9MhiAW-bxgnDU,341
|
|
10382
|
-
simo/generic/controllers.py,sha256=
|
|
10383
|
-
simo/generic/forms.py,sha256=
|
|
10384
|
-
simo/generic/gateways.py,sha256=
|
|
10382
|
+
simo/generic/controllers.py,sha256=B4C6vEk1lzAqjxZ7s7uoM4_qQgomEqy_STCrOoSninM,46059
|
|
10383
|
+
simo/generic/forms.py,sha256=ikSwn6hg6m4XoaWyZNydw9e5aoFRHxbeM8tWsyYlen4,22993
|
|
10384
|
+
simo/generic/gateways.py,sha256=ZlxBKbsjcKXDrQk3MsoNLsHBUUmgqP8KUVuBKtfG784,15809
|
|
10385
10385
|
simo/generic/models.py,sha256=Adq7ipWK-renxJlNW-SZnAq2oGEOwKx8EdUWaKnfcVQ,7597
|
|
10386
10386
|
simo/generic/routing.py,sha256=elQVZmgnPiieEuti4sJ7zITk1hlRxpgbotcutJJgC60,228
|
|
10387
10387
|
simo/generic/socket_consumers.py,sha256=K2OjphIhKJH48BvfFfoCOyCQZ1NmXb_phs6y1IP-qaQ,1757
|
|
@@ -10430,7 +10430,7 @@ simo/multimedia/admin.py,sha256=GgXiKTLfi3omjBurU-bKgneJRK-tAeiR8o2jo3zD7zs,1002
|
|
|
10430
10430
|
simo/multimedia/api.py,sha256=mZ5BTggWdc_kL8P70JGC3rTCiZKPnxWYoyNcAQkFnX4,285
|
|
10431
10431
|
simo/multimedia/app_widgets.py,sha256=g_IPx5bNmIS6JbaXXDCzYZYV2KVKAiYvWjH4oI30lWM,331
|
|
10432
10432
|
simo/multimedia/base_types.py,sha256=dAP7_uh_b3A03yXBJZyQdRFucKIro4_RkIZ5yOaWXVE,151
|
|
10433
|
-
simo/multimedia/controllers.py,sha256=
|
|
10433
|
+
simo/multimedia/controllers.py,sha256=kaoi-nv9b6O87k1eijgk-6ub0-E2KdTN1lL99OPGpo8,1993
|
|
10434
10434
|
simo/multimedia/forms.py,sha256=oMCVUXRNiESrY3w_uBLRRgjMjx8BrmNeVglzorA9QtY,239
|
|
10435
10435
|
simo/multimedia/models.py,sha256=5aWGLWDdCkekGAOGZIdanvX1l6ULnhgJN4JAvDZT4nQ,734
|
|
10436
10436
|
simo/multimedia/requirements.txt,sha256=QeIhjf1RfNGCYn_WZm3VuinPI2wK31WEJPbCxRWxssY,28
|
|
@@ -10440,7 +10440,7 @@ simo/multimedia/__pycache__/admin.cpython-38.pyc,sha256=kIVA9sfSgBYNMC64CaSDXLl4
|
|
|
10440
10440
|
simo/multimedia/__pycache__/api.cpython-38.pyc,sha256=lFGEB74vgyEM98B42wwcN9WvH8FAupIiSY0SwEBd5Dw,605
|
|
10441
10441
|
simo/multimedia/__pycache__/app_widgets.cpython-38.pyc,sha256=6pr3fz21tQ5ReC9SJ8VzheUZ0hpxDIClB0SA8YCwcPk,730
|
|
10442
10442
|
simo/multimedia/__pycache__/base_types.cpython-38.pyc,sha256=c4nmNziLs4RB3MAnxltn3W5XNW6PM5_vK_mm3Yvy42Y,324
|
|
10443
|
-
simo/multimedia/__pycache__/controllers.cpython-38.pyc,sha256=
|
|
10443
|
+
simo/multimedia/__pycache__/controllers.cpython-38.pyc,sha256=C9stIL6FgGiFOxMy76QemVvc7wshVEsPxfa0wCtG4PQ,3464
|
|
10444
10444
|
simo/multimedia/__pycache__/forms.cpython-38.pyc,sha256=99h7Yj2jim3QOrqej00wiPufrCF3F--RoYvwa6lzhPI,697
|
|
10445
10445
|
simo/multimedia/__pycache__/models.cpython-38.pyc,sha256=2LViRCOULb9g_k3wZvrODVIuj-iFgfwoWXyg-mAx8Ys,1195
|
|
10446
10446
|
simo/multimedia/__pycache__/serializers.cpython-38.pyc,sha256=n86txYSrkmN0Xlrr8dMwKSY7rEzMc1iovepCZi_Fcw8,886
|
|
@@ -10488,7 +10488,7 @@ simo/users/permissions.py,sha256=IwtYS8yQdupWbYKR9VimSRDV3qCJ2jXP57Lyjpb2EQM,242
|
|
|
10488
10488
|
simo/users/serializers.py,sha256=zzw1KONTnaTNBaU0r4rNVxJ827KzD6Z5LuQt27ZsQ98,2516
|
|
10489
10489
|
simo/users/sso_urls.py,sha256=gQOaPvGMYFD0NCVSwyoWO-mTEHe5j9sbzV_RK7kdvp0,251
|
|
10490
10490
|
simo/users/sso_views.py,sha256=5J0D4qUFQDvd-Fcqx_xLJWLJgPdqtVD5DDiPJyPsT2Q,4336
|
|
10491
|
-
simo/users/tasks.py,sha256=
|
|
10491
|
+
simo/users/tasks.py,sha256=FhbczWFHRFI6To4xqkx4gUX4p0vCwwTT297GWBPAoIg,1162
|
|
10492
10492
|
simo/users/utils.py,sha256=-Lu7C_sz8JJauLaIwgEa6umArqzNL7JJTY-ZcuF4irA,2004
|
|
10493
10493
|
simo/users/views.py,sha256=CVhNczY7FjtpFxzQSwRZj39HIBTHsA_2wtkTFUfzKRA,4134
|
|
10494
10494
|
simo/users/__pycache__/__init__.cpython-38.pyc,sha256=VFoDJE_SKKaPqqYaaBYd1Ndb1hjakkTo_u0EG_XJ1GM,211
|
|
@@ -10606,9 +10606,9 @@ simo/users/templates/invitations/expired_msg.html,sha256=47DEQpj8HBSa-_TImW-5JCe
|
|
|
10606
10606
|
simo/users/templates/invitations/expired_suggestion.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10607
10607
|
simo/users/templates/invitations/taken_msg.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10608
10608
|
simo/users/templates/invitations/taken_suggestion.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10609
|
-
simo-2.7.
|
|
10610
|
-
simo-2.7.
|
|
10611
|
-
simo-2.7.
|
|
10612
|
-
simo-2.7.
|
|
10613
|
-
simo-2.7.
|
|
10614
|
-
simo-2.7.
|
|
10609
|
+
simo-2.7.7.dist-info/LICENSE.md,sha256=M7wm1EmMGDtwPRdg7kW4d00h1uAXjKOT3HFScYQMeiE,34916
|
|
10610
|
+
simo-2.7.7.dist-info/METADATA,sha256=W1qgQXe6c87xWycPgFJRemCSruU2t0BpDNpZSk-duok,1952
|
|
10611
|
+
simo-2.7.7.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
|
10612
|
+
simo-2.7.7.dist-info/entry_points.txt,sha256=S9PwnUYmTSW7681GKDCxUbL0leRJIaRk6fDQIKgbZBA,135
|
|
10613
|
+
simo-2.7.7.dist-info/top_level.txt,sha256=GmS1hrAbpVqn9OWZh6UX82eIOdRLgYA82RG9fe8v4Rs,5
|
|
10614
|
+
simo-2.7.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|