2015-07-16, 19:42
just wondering what methods exist to reload a service based ?
Thanks !
Code:
onSettingsChanged()
Thanks !
onSettingsChanged()
class Main:
def __init__( self ):
self._service_setup()
while (not self.Monitor.abortRequested()):
# rest of your code here
xbmc.sleep(1000)
def _service_setup( self ):
self.Monitor = MyMonitor(action = self._get_settings)
self._get_settings
def _get_settings( self ):
self.user = __addon__.getSetting('username')
self.pass = __addon__.getSetting('password')
class MyMonitor(xbmc.Monitor):
def __init__( self, *args, **kwargs ):
xbmc.Monitor.__init__( self )
self.action = kwargs['action']
def onSettingsChanged( self ):
self.action()
xbmc.Addon().reloadAddon()
class Main:
def __init__(self):
self._reset = False #Reset used to kill threaded loops in main program
self.Monitor = MyMonitor(action = self.restart)
self.start()
def restart(self):
common.log_verbose("A setting change has been detected!")
self._reset = False
common.log_normal("Applying changed settings in 10 seconds")
self.Monitor.waitForAbort(10)
self._reset = True
self.start()
def start(self):
#Main Code here
class MyMonitor(xbmc.Monitor):
def __init__(self, *args, **kwargs):
xbmc.Monitor.__init__(self)
self.action = kwargs['action']
def onSettingsChanged(self):
self.action()
if __name__ == '__main__':
Main()
class Main:
def __init__(self):
self._reset = False #Reset used to kill threaded loops in main program
self.Monitor = MyMonitor(action = self.restart)
self.start()
def restart(self):
common.log_verbose("A setting change has been detected!")
self._reset = False
common.log_normal("Applying changed settings in 10 seconds")
self.Monitor.waitForAbort(10)
self._reset = True
self.start()
def start(self):
#Main Code here - Started threads that looped. This didn't work until the loop was added below - even though I had other loops processing.
while not self.Monitor.abortRequested():
xbmc.sleep(1000)
class MyMonitor(xbmc.Monitor):
def __init__(self, *args, **kwargs):
xbmc.Monitor.__init__(self)
self.action = kwargs['action']
def onSettingsChanged(self):
self.action()
if __name__ == '__main__':
Main()