simo 2.5.12__py3-none-any.whl → 2.5.13__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__/api.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/api.py +5 -5
- simo/core/signal_receivers.py +2 -2
- simo/core/tasks.py +5 -8
- simo/generic/__pycache__/app_widgets.cpython-38.pyc +0 -0
- simo/generic/__pycache__/base_types.cpython-38.pyc +0 -0
- simo/generic/__pycache__/controllers.cpython-38.pyc +0 -0
- simo/generic/__pycache__/forms.cpython-38.pyc +0 -0
- simo/generic/app_widgets.py +3 -3
- simo/generic/base_types.py +1 -1
- simo/generic/controllers.py +9 -9
- simo/generic/forms.py +9 -9
- simo/generic/migrations/0001_initial.py +29 -0
- simo/generic/migrations/__init__.py +0 -0
- simo/generic/migrations/__pycache__/__init__.cpython-38.pyc +0 -0
- simo/generic/templates/admin/controller_widgets/{weather_forecast.html → weather.html} +1 -1
- {simo-2.5.12.dist-info → simo-2.5.13.dist-info}/METADATA +1 -1
- {simo-2.5.12.dist-info → simo-2.5.13.dist-info}/RECORD +24 -21
- {simo-2.5.12.dist-info → simo-2.5.13.dist-info}/LICENSE.md +0 -0
- {simo-2.5.12.dist-info → simo-2.5.13.dist-info}/WHEEL +0 -0
- {simo-2.5.12.dist-info → simo-2.5.13.dist-info}/entry_points.txt +0 -0
- {simo-2.5.12.dist-info → simo-2.5.13.dist-info}/top_level.txt +0 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
simo/core/api.py
CHANGED
|
@@ -151,13 +151,13 @@ def get_components_queryset(instance, user):
|
|
|
151
151
|
|
|
152
152
|
c_ids = set()
|
|
153
153
|
|
|
154
|
-
from simo.generic.controllers import
|
|
154
|
+
from simo.generic.controllers import Weather
|
|
155
155
|
|
|
156
156
|
if instance.indoor_climate_sensor:
|
|
157
157
|
c_ids.add(instance.indoor_climate_sensor.id)
|
|
158
158
|
wf_c = Component.objects.filter(
|
|
159
159
|
zone__instance=instance,
|
|
160
|
-
controller_uid=
|
|
160
|
+
controller_uid=Weather.uid, config__is_main=True
|
|
161
161
|
).values('id').first()
|
|
162
162
|
if wf_c:
|
|
163
163
|
c_ids.add(wf_c['id'])
|
|
@@ -532,12 +532,12 @@ class SettingsViewSet(InstanceMixin, viewsets.GenericViewSet):
|
|
|
532
532
|
if last_history_event:
|
|
533
533
|
last_event = last_history_event.date.timestamp()
|
|
534
534
|
|
|
535
|
-
from simo.generic.controllers import
|
|
535
|
+
from simo.generic.controllers import Weather
|
|
536
536
|
|
|
537
537
|
wf_comp_id = None
|
|
538
538
|
wf_c = Component.objects.filter(
|
|
539
539
|
zone__instance=self.instance,
|
|
540
|
-
controller_uid=
|
|
540
|
+
controller_uid=Weather.uid, config__is_main=True
|
|
541
541
|
).first()
|
|
542
542
|
if wf_c:
|
|
543
543
|
wf_comp_id = wf_c.id
|
|
@@ -566,7 +566,7 @@ class SettingsViewSet(InstanceMixin, viewsets.GenericViewSet):
|
|
|
566
566
|
'timezone': self.instance.timezone,
|
|
567
567
|
'location': self.instance.location,
|
|
568
568
|
'last_event': last_event,
|
|
569
|
-
'
|
|
569
|
+
'weather': wf_comp_id,
|
|
570
570
|
'main_alarm_group': main_alarm_group_id,
|
|
571
571
|
'main_state': main_state,
|
|
572
572
|
# TODO: Remove these two when the app is updated for everybody.
|
simo/core/signal_receivers.py
CHANGED
|
@@ -82,8 +82,8 @@ def create_instance_defaults(sender, instance, created, **kwargs):
|
|
|
82
82
|
name='Weather', icon=weather_icon,
|
|
83
83
|
zone=other_zone,
|
|
84
84
|
category=climate_category,
|
|
85
|
-
gateway=generic, base_type='weather
|
|
86
|
-
controller_uid='simo.generic.controllers.
|
|
85
|
+
gateway=generic, base_type='weather',
|
|
86
|
+
controller_uid='simo.generic.controllers.Weather',
|
|
87
87
|
config={'is_main': True}
|
|
88
88
|
)
|
|
89
89
|
|
simo/core/tasks.py
CHANGED
|
@@ -195,7 +195,7 @@ def sync_with_remote():
|
|
|
195
195
|
users_data = data.pop('users', {})
|
|
196
196
|
instance_uid = data.pop('uid')
|
|
197
197
|
instance_uids.append(instance_uid)
|
|
198
|
-
|
|
198
|
+
weather = data.pop('weather', None)
|
|
199
199
|
instance, new_instance = Instance.objects.update_or_create(
|
|
200
200
|
uid=instance_uid, defaults=data
|
|
201
201
|
)
|
|
@@ -203,18 +203,15 @@ def sync_with_remote():
|
|
|
203
203
|
instance.is_active = True
|
|
204
204
|
instance.save()
|
|
205
205
|
|
|
206
|
-
if
|
|
207
|
-
from simo.generic.controllers import
|
|
206
|
+
if weather:
|
|
207
|
+
from simo.generic.controllers import Weather
|
|
208
208
|
weather_component = Component.objects.filter(
|
|
209
209
|
zone__instance=instance,
|
|
210
|
-
controller_uid=
|
|
210
|
+
controller_uid=Weather.uid
|
|
211
211
|
).first()
|
|
212
212
|
if weather_component:
|
|
213
213
|
weather_component.track_history = False
|
|
214
|
-
weather_component.controller.set(
|
|
215
|
-
weather_forecast.pop('current', None)
|
|
216
|
-
)
|
|
217
|
-
weather_component.meta['forecast'] = weather_forecast
|
|
214
|
+
weather_component.controller.set(weather)
|
|
218
215
|
weather_component.save()
|
|
219
216
|
|
|
220
217
|
for email, options in users_data.items():
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
simo/generic/app_widgets.py
CHANGED
|
@@ -32,9 +32,9 @@ class IPCameraWidget(BaseAppWidget):
|
|
|
32
32
|
size = [2, 2]
|
|
33
33
|
|
|
34
34
|
|
|
35
|
-
class
|
|
36
|
-
uid = 'weather
|
|
37
|
-
name = _("Weather
|
|
35
|
+
class WeatherWidget(BaseAppWidget):
|
|
36
|
+
uid = 'weather'
|
|
37
|
+
name = _("Weather")
|
|
38
38
|
size = [4, 2]
|
|
39
39
|
|
|
40
40
|
|
simo/generic/base_types.py
CHANGED
|
@@ -5,7 +5,7 @@ BASE_TYPES = {
|
|
|
5
5
|
'thermostat': _("Thermostat"),
|
|
6
6
|
'alarm-group': _("Alarm Group"),
|
|
7
7
|
'ip-camera': _("IP Camera"),
|
|
8
|
-
'weather
|
|
8
|
+
'weather': _("Weather"),
|
|
9
9
|
'watering': _("Watering"),
|
|
10
10
|
'state-select': _("State Select"),
|
|
11
11
|
'alarm-clock': _("Alarm Clock"),
|
simo/generic/controllers.py
CHANGED
|
@@ -38,13 +38,13 @@ from simo.core.utils.config_values import (
|
|
|
38
38
|
from .gateways import GenericGatewayHandler, DummyGatewayHandler
|
|
39
39
|
from .app_widgets import (
|
|
40
40
|
ScriptWidget, ThermostatWidget, AlarmGroupWidget, IPCameraWidget,
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
WateringWidget, StateSelectWidget, AlarmClockWidget,
|
|
42
|
+
WeatherWidget
|
|
43
43
|
)
|
|
44
44
|
from .forms import (
|
|
45
45
|
ScriptConfigForm, PresenceLightingConfigForm,
|
|
46
46
|
ThermostatConfigForm, AlarmGroupConfigForm,
|
|
47
|
-
IPCameraConfigForm,
|
|
47
|
+
IPCameraConfigForm, WeatherForm,
|
|
48
48
|
WateringConfigForm, StateSelectForm,
|
|
49
49
|
AlarmClockConfigForm
|
|
50
50
|
)
|
|
@@ -527,13 +527,13 @@ class AlarmGroup(ControllerBase):
|
|
|
527
527
|
return map
|
|
528
528
|
|
|
529
529
|
|
|
530
|
-
class
|
|
531
|
-
name = _("Weather
|
|
532
|
-
base_type = 'weather
|
|
530
|
+
class Weather(ControllerBase):
|
|
531
|
+
name = _("Weather")
|
|
532
|
+
base_type = 'weather'
|
|
533
533
|
gateway_class = GenericGatewayHandler
|
|
534
|
-
config_form =
|
|
535
|
-
app_widget =
|
|
536
|
-
admin_widget_template = 'admin/controller_widgets/
|
|
534
|
+
config_form = WeatherForm
|
|
535
|
+
app_widget = WeatherWidget
|
|
536
|
+
admin_widget_template = 'admin/controller_widgets/weather.html'
|
|
537
537
|
default_config = {}
|
|
538
538
|
default_value = {}
|
|
539
539
|
|
simo/generic/forms.py
CHANGED
|
@@ -544,24 +544,24 @@ class IPCameraConfigForm(BaseComponentForm):
|
|
|
544
544
|
|
|
545
545
|
)
|
|
546
546
|
|
|
547
|
-
class
|
|
547
|
+
class WeatherForm(BaseComponentForm):
|
|
548
548
|
is_main = forms.BooleanField(
|
|
549
549
|
required=False,
|
|
550
|
-
help_text="Defines if this is your main/top global weather
|
|
550
|
+
help_text="Defines if this is your main/top global weather."
|
|
551
551
|
)
|
|
552
552
|
|
|
553
553
|
def __init__(self, *args, **kwargs):
|
|
554
554
|
super().__init__(*args, **kwargs)
|
|
555
|
-
from .controllers import
|
|
555
|
+
from .controllers import Weather
|
|
556
556
|
if not self.instance.pk:
|
|
557
|
-
|
|
557
|
+
first_weather = bool(
|
|
558
558
|
not Component.objects.filter(
|
|
559
|
-
controller_uid=
|
|
559
|
+
controller_uid=Weather.uid,
|
|
560
560
|
config__is_main=True
|
|
561
561
|
).count()
|
|
562
562
|
)
|
|
563
|
-
self.fields['is_main'].initial =
|
|
564
|
-
if
|
|
563
|
+
self.fields['is_main'].initial = first_weather
|
|
564
|
+
if first_weather:
|
|
565
565
|
self.fields['is_main'].widget.attrs['disabled'] = 'disabled'
|
|
566
566
|
else:
|
|
567
567
|
if self.instance.config.get('is_main'):
|
|
@@ -570,14 +570,14 @@ class WeatherForecastForm(BaseComponentForm):
|
|
|
570
570
|
|
|
571
571
|
def save(self, *args, **kwargs):
|
|
572
572
|
self.instance.value_units = 'status'
|
|
573
|
-
from .controllers import
|
|
573
|
+
from .controllers import Weather
|
|
574
574
|
if 'is_main' in self.fields and 'is_main' in self.cleaned_data:
|
|
575
575
|
if self.fields['is_main'].widget.attrs.get('disabled'):
|
|
576
576
|
self.cleaned_data['is_main'] = self.fields['is_main'].initial
|
|
577
577
|
obj = super().save(*args, **kwargs)
|
|
578
578
|
if obj.config.get('is_main'):
|
|
579
579
|
for c in Component.objects.filter(
|
|
580
|
-
controller_uid=
|
|
580
|
+
controller_uid=Weather.uid,
|
|
581
581
|
config__is_main=True
|
|
582
582
|
).exclude(pk=obj.pk):
|
|
583
583
|
c.config['is_main'] = False
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Generated by Django 4.2.10 on 2024-11-05 07:52
|
|
2
|
+
|
|
3
|
+
from django.db import migrations
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def forwards_func(apps, schema_editor):
|
|
7
|
+
|
|
8
|
+
Component = apps.get_model("core", "Component")
|
|
9
|
+
|
|
10
|
+
Component.objects.filter(
|
|
11
|
+
controller_uid='simo.generic.controllers.WeatherForecast'
|
|
12
|
+
).update(
|
|
13
|
+
controller_uid='simo.generic.controllers.Weather', base_type='weather'
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def reverse_func(apps, schema_editor):
|
|
18
|
+
pass
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class Migration(migrations.Migration):
|
|
22
|
+
|
|
23
|
+
dependencies = [
|
|
24
|
+
('core', '0043_alter_category_instance_alter_instance_timezone_and_more'),
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
operations = [
|
|
28
|
+
migrations.RunPython(forwards_func, reverse_func, elidable=True),
|
|
29
|
+
]
|
|
File without changes
|
|
Binary file
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
position: relative;
|
|
10
10
|
bottom: -4px;
|
|
11
11
|
"></span>
|
|
12
|
-
{{ obj.value.temp }}ᴼ {% if obj.zone.instance.units_of_measure == 'metric' %}C{% else %}F{% endif %}
|
|
12
|
+
{{ obj.value.main.temp }}ᴼ {% if obj.zone.instance.units_of_measure == 'metric' %}C{% else %}F{% endif %}
|
|
13
13
|
</div>
|
|
@@ -33,7 +33,7 @@ simo/backups/migrations/__pycache__/0004_alter_backup_options_alter_backuplog_op
|
|
|
33
33
|
simo/backups/migrations/__pycache__/__init__.cpython-38.pyc,sha256=Lz1fs6V05h2AoxTOLNye0do9bEMnyuaXB_hHOjG5-HU,172
|
|
34
34
|
simo/core/__init__.py,sha256=_s2TjJfQImsMrTIxqLAx9AZie1Ojmm6sCHASdl3WLGU,50
|
|
35
35
|
simo/core/admin.py,sha256=5mi0Qe9TM-OILCxbcRfGJvq397QCPxjYX30K3CIZrPs,18133
|
|
36
|
-
simo/core/api.py,sha256=
|
|
36
|
+
simo/core/api.py,sha256=id8RCZ7r9IKqpcV6ajqF87k9yKqcFmSc8YfWIP99tQE,28276
|
|
37
37
|
simo/core/api_auth.py,sha256=vCxvczA8aWNcW0VyKs5WlC_ytlqeGP_H_hkKUNVkCwM,1247
|
|
38
38
|
simo/core/api_meta.py,sha256=EaiY-dCADP__9MvLpoHvhjytFT92IrxPZDv95xgqasU,4955
|
|
39
39
|
simo/core/app_widgets.py,sha256=VxZzapuc-a29wBH7JzpvNF2SK1ECrgNUySId5ke1ffc,2509
|
|
@@ -56,17 +56,17 @@ simo/core/models.py,sha256=Z6WLvU4K-LWIXghCBwTyZAOW5n2hCFNU-pteiPnpOAQ,22617
|
|
|
56
56
|
simo/core/permissions.py,sha256=v0iJM4LOeYoEfMiw3OLPYio272G1aUEAg_z9Wd1q5m0,2993
|
|
57
57
|
simo/core/routing.py,sha256=X1_IHxyA-_Q7hw1udDoviVP4_FSBDl8GYETTC2zWTbY,499
|
|
58
58
|
simo/core/serializers.py,sha256=HaX5F_wxg_7nX0XMVnfbTsnocFaRTXUPDAkShaTxP4s,21843
|
|
59
|
-
simo/core/signal_receivers.py,sha256=
|
|
59
|
+
simo/core/signal_receivers.py,sha256=nNHuva91n0CUmaaRr81h2W_koTvZgvT8tWThIsWpido,9250
|
|
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=ESXKD5rN-3Q4wuuwX7CAwcWSaejY1mjb3gyKCgcaNjI,15449
|
|
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
|
|
66
66
|
simo/core/widgets.py,sha256=J9e06C6I22F6xKic3VMgG7WeX07glAcl-4bF2Mg180A,2827
|
|
67
67
|
simo/core/__pycache__/__init__.cpython-38.pyc,sha256=ZJFM_XN0RmJMULQulgA_wFiOnEtsMoedcOWnXjH-Y8o,208
|
|
68
68
|
simo/core/__pycache__/admin.cpython-38.pyc,sha256=uM58xiBAbbstmKZ0CoxLSk_RRu5TDVuHJNOveXUhFqM,13723
|
|
69
|
-
simo/core/__pycache__/api.cpython-38.pyc,sha256=
|
|
69
|
+
simo/core/__pycache__/api.cpython-38.pyc,sha256=z5IT2AoH_Y7iXJELeGlgaxJ2RNe-Wwk8YIt_rJcOGMw,21851
|
|
70
70
|
simo/core/__pycache__/api_auth.cpython-38.pyc,sha256=6M9Cl_ha4y_Vf8Rv4GMYL8dcBCmp0KzYi6jn3SQTgys,1712
|
|
71
71
|
simo/core/__pycache__/api_meta.cpython-38.pyc,sha256=VYx5ZeDyNBI4B_CBEIhV5B3GnLsMOx9s3rNZTSMODco,3703
|
|
72
72
|
simo/core/__pycache__/app_widgets.cpython-38.pyc,sha256=oN657XMMZ6GYN9nblv7fX3kdnTEzSP9XV6PXM6Z0wl4,4358
|
|
@@ -89,10 +89,10 @@ simo/core/__pycache__/models.cpython-38.pyc,sha256=Nw2Fb11EwBdMVTHCpzkY6x0hRNCqR
|
|
|
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
91
|
simo/core/__pycache__/serializers.cpython-38.pyc,sha256=o8vSdZC2mqKRAMJRpKXade-Jp0g4X6PmilOulvZ92Rk,19625
|
|
92
|
-
simo/core/__pycache__/signal_receivers.cpython-38.pyc,sha256=
|
|
92
|
+
simo/core/__pycache__/signal_receivers.cpython-38.pyc,sha256=HBT3dEylVbJsRAUl7AB3m0J7sg1VsXjQYzKp1ONTXvk,7039
|
|
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=EKvyYqv-1DkxTLCpRosLpwMWd_zbxPLipzu3Fjfu3IA,10413
|
|
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
|
|
@@ -10338,23 +10338,26 @@ simo/fleet/migrations/__pycache__/__init__.cpython-38.pyc,sha256=5k1KW0jeSDzw6Rn
|
|
|
10338
10338
|
simo/fleet/templates/fleet/controllers_info/Button.md,sha256=GIuxqG617174NEtpPeCGVocxO4YMe7-CacgVSu_L5-E,739
|
|
10339
10339
|
simo/fleet/templates/fleet/controllers_info/ENS160AirQualitySensor.md,sha256=3LSTY9YPFuVPIbVsYCAifcotrXJcOXl2k774_vo6nAE,770
|
|
10340
10340
|
simo/generic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10341
|
-
simo/generic/app_widgets.py,sha256=
|
|
10342
|
-
simo/generic/base_types.py,sha256=
|
|
10343
|
-
simo/generic/controllers.py,sha256=
|
|
10344
|
-
simo/generic/forms.py,sha256=
|
|
10341
|
+
simo/generic/app_widgets.py,sha256=TPRLj4hri2hBuY6mrdwBiv-01z2hDxZmsup-GDD9LrM,953
|
|
10342
|
+
simo/generic/base_types.py,sha256=u3SlfpNYaCwkVBwomWgso4ODzL71ay9MhiAW-bxgnDU,341
|
|
10343
|
+
simo/generic/controllers.py,sha256=Qf54CAeD8DviMV_S19E-7f-w-94Vr90-8xasy-IfG_A,49311
|
|
10344
|
+
simo/generic/forms.py,sha256=H841-wbWltnZ2-RXQEM1G8H4kfOcl88Qhg7bxE4VCiQ,28993
|
|
10345
10345
|
simo/generic/gateways.py,sha256=dUzRBxVDdsx70mrCvxSQwhJr0ydQ5NtoLHoYeVLJmtA,15224
|
|
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
|
|
10349
10349
|
simo/generic/__pycache__/__init__.cpython-38.pyc,sha256=mLu54WS9KIl-pHwVCBKpsDFIlOqml--JsOVzAUHg6cU,161
|
|
10350
|
-
simo/generic/__pycache__/app_widgets.cpython-38.pyc,sha256=
|
|
10351
|
-
simo/generic/__pycache__/base_types.cpython-38.pyc,sha256=
|
|
10352
|
-
simo/generic/__pycache__/controllers.cpython-38.pyc,sha256=
|
|
10353
|
-
simo/generic/__pycache__/forms.cpython-38.pyc,sha256=
|
|
10350
|
+
simo/generic/__pycache__/app_widgets.cpython-38.pyc,sha256=YZ5db6-FPynBi6ooPW5crK9lZ6ymRh2DlGN6FwxfX4M,1820
|
|
10351
|
+
simo/generic/__pycache__/base_types.cpython-38.pyc,sha256=aV5NdIuvXR-ItKpI__MwcyPZHD6Z882TFdgYkPCkr1I,493
|
|
10352
|
+
simo/generic/__pycache__/controllers.cpython-38.pyc,sha256=EwtavDlVJX0b6taQ0moYk11oL9nZL5_esoCXGdtcNNo,32751
|
|
10353
|
+
simo/generic/__pycache__/forms.cpython-38.pyc,sha256=w7p-dFYvxtNMlrKVnM2zWa1Jp0zXygP6Lbo6kKg-Ox4,21228
|
|
10354
10354
|
simo/generic/__pycache__/gateways.cpython-38.pyc,sha256=IazhRBe-YZ9t7_wq1fULoyLnxn3frR967lAN9D7MbKY,11583
|
|
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
|
+
simo/generic/migrations/0001_initial.py,sha256=7FpPcfpRU5ya0b8s2KbxR5a3npf92YruvZltUybjzys,676
|
|
10359
|
+
simo/generic/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10360
|
+
simo/generic/migrations/__pycache__/__init__.cpython-38.pyc,sha256=nJV0NkIT8MuONj1hUX-V6aCU2lX3BXHyPjisapnBsPA,172
|
|
10358
10361
|
simo/generic/scripting/__init__.py,sha256=aZZvNBae7unnux_zGHCIWCV2z47hVJc-DIL72Hqfkeo,600
|
|
10359
10362
|
simo/generic/scripting/example.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10360
10363
|
simo/generic/scripting/helpers.py,sha256=Zt8Mx5AXIggzYk0e7jn-xQNR_NOqzolAReLkrmDJzVQ,3042
|
|
@@ -10385,7 +10388,7 @@ simo/generic/templates/admin/controller_widgets/gate.html,sha256=rqtgEQTmyK8Q66o
|
|
|
10385
10388
|
simo/generic/templates/admin/controller_widgets/ip_camera.html,sha256=ZmWm21EswkgT6XR9x1GgzDIkSU2j_GpdOTfbPINg6jY,657
|
|
10386
10389
|
simo/generic/templates/admin/controller_widgets/script.html,sha256=biUEMo5V35wqSrM97d5WqNDi47GNaDpi53I3YBfDLOs,1484
|
|
10387
10390
|
simo/generic/templates/admin/controller_widgets/thermostat.html,sha256=iH7j631AY6ahsI7dTMyMYHL_EuX6Q_aRxQgQcPIVxvI,288
|
|
10388
|
-
simo/generic/templates/admin/controller_widgets/
|
|
10391
|
+
simo/generic/templates/admin/controller_widgets/weather.html,sha256=84SESQBhhzNUay8-6l8XtrC_GNZqI5HWJrgk0Mi6qbM,489
|
|
10389
10392
|
simo/generic/templates/generic/controllers_info/dummy.md,sha256=DcdkpYXpK7sroINukZZPUQs9uekN9kkE7p5hfnArgFo,147
|
|
10390
10393
|
simo/generic/templates/generic/controllers_info/stateselect.md,sha256=T0w3vJg02W3RMSsljN1EPRnkVaeRW5acSZaSq9FYvZw,135
|
|
10391
10394
|
simo/multimedia/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -10557,9 +10560,9 @@ simo/users/templates/invitations/expired_msg.html,sha256=47DEQpj8HBSa-_TImW-5JCe
|
|
|
10557
10560
|
simo/users/templates/invitations/expired_suggestion.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10558
10561
|
simo/users/templates/invitations/taken_msg.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10559
10562
|
simo/users/templates/invitations/taken_suggestion.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10560
|
-
simo-2.5.
|
|
10561
|
-
simo-2.5.
|
|
10562
|
-
simo-2.5.
|
|
10563
|
-
simo-2.5.
|
|
10564
|
-
simo-2.5.
|
|
10565
|
-
simo-2.5.
|
|
10563
|
+
simo-2.5.13.dist-info/LICENSE.md,sha256=M7wm1EmMGDtwPRdg7kW4d00h1uAXjKOT3HFScYQMeiE,34916
|
|
10564
|
+
simo-2.5.13.dist-info/METADATA,sha256=-YDiu4BTmBJuCqftPrXwh90exRHxZMoVJ7CBnXEydJE,1924
|
|
10565
|
+
simo-2.5.13.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
|
10566
|
+
simo-2.5.13.dist-info/entry_points.txt,sha256=S9PwnUYmTSW7681GKDCxUbL0leRJIaRk6fDQIKgbZBA,135
|
|
10567
|
+
simo-2.5.13.dist-info/top_level.txt,sha256=GmS1hrAbpVqn9OWZh6UX82eIOdRLgYA82RG9fe8v4Rs,5
|
|
10568
|
+
simo-2.5.13.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|