-
This commit is contained in:
46
Kodi/Lenovo/addons/weather.openmeteo/lib/monitor.py
Normal file
46
Kodi/Lenovo/addons/weather.openmeteo/lib/monitor.py
Normal file
@@ -0,0 +1,46 @@
|
||||
import xbmc
|
||||
|
||||
from . import config
|
||||
from . import utils
|
||||
from . import weather
|
||||
|
||||
### MONITOR
|
||||
class Main(xbmc.Monitor):
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.old = None
|
||||
|
||||
def onSettingsChanged(self):
|
||||
current = utils.settings(changed=True)
|
||||
|
||||
if self.old:
|
||||
if self.old != current:
|
||||
utils.log('Settings changed, refreshing ...')
|
||||
config.init()
|
||||
weather.Main(str(utils.settingrpc("weather.currentlocation")), mode='update')
|
||||
|
||||
# Map zoom
|
||||
if current.get('mapzoom') != self.old.get('mapzoom'):
|
||||
utils.log('Map zoom changed, re-downloading ...')
|
||||
|
||||
for locid in range(1, config.addon.maxlocs):
|
||||
if utils.setting(f'loc{locid}'):
|
||||
utils.setsetting(f'loc{locid}map', '321318000')
|
||||
utils.setsetting(f'loc{locid}rv', '321318000')
|
||||
utils.setsetting(f'loc{locid}gc', '321318000')
|
||||
|
||||
self.old = current
|
||||
|
||||
def waitForService(self):
|
||||
sleep = 0
|
||||
|
||||
while not self.abortRequested() and utils.setting('service') != 'idle':
|
||||
utils.log(f'Waiting for service thread: {utils.setting("service")}', 3)
|
||||
sleep += 1
|
||||
|
||||
if sleep == 30:
|
||||
utils.log(f'Service thread not responding ...', 2)
|
||||
return
|
||||
|
||||
self.waitForAbort(1)
|
||||
|
||||
Reference in New Issue
Block a user