mirror of
https://github.com/jellyfin/jellyfin-kodi.git
synced 2024-11-10 04:06:11 +00:00
Fix crash when sleeping/waking up device
This commit is contained in:
parent
e97a3a616d
commit
793bd66554
4 changed files with 25 additions and 4 deletions
|
@ -289,6 +289,7 @@ class DownloadUtils():
|
|||
log("Unable to convert the response for: %s" % url, 1)
|
||||
|
||||
else: # Bad status code
|
||||
log("=== Bad status response: %s ===" % r.status_code, -1)
|
||||
r.raise_for_status()
|
||||
|
||||
##### EXCEPTIONS #####
|
||||
|
|
|
@ -195,10 +195,15 @@ class KodiMonitor(xbmc.Monitor):
|
|||
finally:
|
||||
embycursor.close()'''
|
||||
|
||||
elif method == "System.OnSleep":
|
||||
# Connection is going to sleep
|
||||
log("Marking the server as offline. System.OnSleep activating.", 1)
|
||||
window('emby_online', value="sleep")
|
||||
|
||||
elif method == "System.OnWake":
|
||||
# Allow network to wake up
|
||||
xbmc.sleep(10000)
|
||||
window('emby_online', value="false")
|
||||
window('emby_onWake', value="true")
|
||||
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ class UserClient(threading.Thread):
|
|||
# Borg - multiple instances, shared state
|
||||
_shared_state = {}
|
||||
|
||||
stopClient = False
|
||||
stop_thread = False
|
||||
auth = True
|
||||
retry = 0
|
||||
|
||||
|
@ -430,7 +430,7 @@ class UserClient(threading.Thread):
|
|||
self.auth = True
|
||||
|
||||
|
||||
if self.stopClient == True:
|
||||
if self.stop_thread == True:
|
||||
# If stopping the client didn't work
|
||||
break
|
||||
|
||||
|
@ -443,4 +443,4 @@ class UserClient(threading.Thread):
|
|||
|
||||
def stopClient(self):
|
||||
# When emby for kodi terminates
|
||||
self.stopClient = True
|
||||
self.stop_thread = True
|
15
service.py
15
service.py
|
@ -232,6 +232,20 @@ class Service():
|
|||
|
||||
self.server_online = False
|
||||
|
||||
elif window('emby_online') == "sleep":
|
||||
# device going to sleep
|
||||
if self.websocket_running:
|
||||
log("Stop websocket thread")
|
||||
ws.stopClient()
|
||||
ws = wsc.WebSocket_Client()
|
||||
self.websocket_running = False
|
||||
|
||||
if self.library_running:
|
||||
log("Stop library thread")
|
||||
library.stopThread()
|
||||
library = librarysync.LibrarySync()
|
||||
self.library_running = False
|
||||
|
||||
else:
|
||||
# Server is online
|
||||
if not self.server_online:
|
||||
|
@ -254,6 +268,7 @@ class Service():
|
|||
|
||||
# Start the userclient thread
|
||||
if not self.userclient_running:
|
||||
log("Start user thread")
|
||||
self.userclient_running = True
|
||||
user.start()
|
||||
|
||||
|
|
Loading…
Reference in a new issue