Skip to content

Commit 9a6b049

Browse files
authored
Merge pull request #569 from quickmic/next-gen-dev-python3
11.1.24, review changelog for details
2 parents c0fb795 + ac0299f commit 9a6b049

File tree

3 files changed

+26
-16
lines changed

3 files changed

+26
-16
lines changed

addon.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version='1.0' encoding='UTF-8' standalone="yes"?>
2-
<addon id="plugin.service.emby-next-gen" name="Emby for Kodi Next Gen" version="11.1.23" provider-name="quickmic">
2+
<addon id="plugin.service.emby-next-gen" name="Emby for Kodi Next Gen" version="11.1.24" provider-name="quickmic">
33
<requires>
44
<import addon="xbmc.python" version="3.0.1"/>
55
<import addon="script.module.dateutil" version="2.8.1" />

changelog.txt

+7
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
11.1.24
2+
=============
3+
fix minor http communication issue
4+
increase http timeouts to 20 minutes -> Emby MusicAlbum queries are very slow
5+
6+
7+
18
11.1.23
29
=============
310
fix playback cancel on multiselection for episodes and musicvideo not respected

emby/http.py

+18-15
Original file line numberDiff line numberDiff line change
@@ -547,13 +547,13 @@ def socket_request(self, Method, Handler, Params, Binary, TimeoutSend, TimeoutRe
547547
try:
548548
return StatusCode, IncomingDataHeader, json.loads(PayloadTotal)
549549
except Exception as error:
550-
xbmc.log(f"EMBY.emby.http: Invalid json content {ConnectionId}: {IncomingDataHeader} error: {error}", 3) # LOGERROR
550+
xbmc.log(f"EMBY.emby.http: Invalid json content {ConnectionId}: {IncomingDataHeader} error: {error} payload: {PayloadTotal}", 3) # LOGERROR
551551
return 612, {}, ""
552552
else:
553553
try:
554554
return StatusCode, IncomingDataHeader, PayloadTotal.decode("UTF-8")
555555
except Exception as error:
556-
xbmc.log(f"EMBY.emby.http: Invalid text content {ConnectionId}: {IncomingDataHeader} error: {error}", 3) # LOGERROR
556+
xbmc.log(f"EMBY.emby.http: Invalid text content {ConnectionId}: {IncomingDataHeader} error: {error} payload: {PayloadTotal}", 3) # LOGERROR
557557
return 612, {}, ""
558558

559559
def download_file(self):
@@ -652,19 +652,22 @@ def download_file(self):
652652

653653
break
654654

655-
def request(self, Method, Handler, Params, RequestHeader, Binary, ConnectionString, CloseConnection, BusyFunction=None):
656-
if CloseConnection:
657-
ConnectionId = str(uuid.uuid4())
658-
elif self.RequestBusy["MAIN"].locked():
659-
if self.RequestBusy["MAINFALLBACK"].locked():
655+
def request(self, Method, Handler, Params, RequestHeader, Binary, ConnectionString, CloseConnection, BusyFunction=None, ConnectionId=""):
656+
if not ConnectionId:
657+
if CloseConnection:
660658
ConnectionId = str(uuid.uuid4())
661-
CloseConnection = True
659+
elif self.RequestBusy["MAIN"].locked():
660+
if self.RequestBusy["MAINFALLBACK"].locked():
661+
ConnectionId = str(uuid.uuid4())
662+
CloseConnection = True
663+
else:
664+
ConnectionId = "MAINFALLBACK"
665+
self.RequestBusy["MAINFALLBACK"].acquire()
662666
else:
663-
ConnectionId = "MAINFALLBACK"
664-
self.RequestBusy["MAINFALLBACK"].acquire()
667+
ConnectionId = "MAIN"
668+
self.RequestBusy["MAIN"].acquire()
665669
else:
666-
ConnectionId = "MAIN"
667-
self.RequestBusy["MAIN"].acquire()
670+
self.RequestBusy[ConnectionId].acquire()
668671

669672
RequestId = f"REQUEST{ConnectionId}"
670673

@@ -779,7 +782,7 @@ def send_request(self, Method, Handler, Params, RequestHeader, Binary, Connectio
779782
elif "Subtitles" in Handler:
780783
StatusCode, Header, Payload = self.socket_request(Method, Handler, Params, Binary, 12, 30, ConnectionId, "", 0, "")
781784
else:
782-
StatusCode, Header, Payload = self.socket_request(Method, Handler, Params, Binary, 12, 300, ConnectionId, "", 0, "")
785+
StatusCode, Header, Payload = self.socket_request(Method, Handler, Params, Binary, 12, 1200, ConnectionId, "", 0, "")
783786

784787
# Redirects
785788
if StatusCode in (301, 302, 307, 308):
@@ -1117,11 +1120,11 @@ def Ping(self):
11171120

11181121
# Main connection ping
11191122
if Counter == 1 and not self.RequestBusy["MAIN"].locked():
1120-
self.send_request("POST", "System/Ping", {}, {}, True, "", False, "MAIN", "MAINPING")
1123+
self.request("POST", "System/Ping", {}, {}, True, "", False, None, "MAIN")
11211124

11221125
# Mainfallback connection ping
11231126
if Counter == 2 and not self.RequestBusy["MAINFALLBACK"].locked():
1124-
self.send_request("POST", "System/Ping", {}, {}, True, "", False, "MAINFALLBACK", "MAINFALLBACKPING")
1127+
self.request("POST", "System/Ping", {}, {}, True, "", False, None, "MAINFALLBACK")
11251128

11261129
# Async connection ping
11271130
if Counter == 3 and not self.RequestBusy["ASYNC"].locked():

0 commit comments

Comments
 (0)