Merge branch 'master' of github.com:jellyfin/jellyfin-kodi into file-default-encoding

This commit is contained in:
TrueTechy 2019-09-29 23:45:04 +01:00
commit 286e765a33
2 changed files with 19 additions and 11 deletions

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.jellyfin"
name="Jellyfin"
version="0.3.1"
version="0.3.2"
provider-name="Jellyfin Contributors, angelblue05">
<requires>
<import addon="xbmc.python" version="2.25.0"/>
@ -36,9 +36,9 @@
<summary lang="en"></summary>
<description lang="en">Welcome to Jellyfin for Kodi!&#10;A whole new way to manage and view your media library. The Jellyfin addon for Kodi combines the best of Kodi - ultra smooth navigation, beautiful UIs and playback of any file under the sun, and Jellyfin - the most powerful fully open source multi-client media metadata indexer and server.&#10;&#10;Jellyfin for Kodi is the absolute best way to enjoy the incredible Kodi playback engine combined with the power of Jellyfin's centralized database. Features:&#10;* Direct integration with the Kodi library for native Kodi speed&#10;* Instant synchronization with the Jellyfin server&#10;* Full support for Movie, TV and Music collections&#10;* Jellyfin Server direct stream and transcoding support - use Kodi when you are away from home!</description>
<news>
v0.3.1 (2019-09-28)
#90 Fix incremental sync never finishing
#89 Make basic auth login case insensitive
v0.3.2 (2019-09-28)
#94 Improve address normalization in connection manager
#93 Remove stray single quote resulting in crash
</news>
<assets>
<icon>resources/icon.png</icon>

View File

@ -4,12 +4,13 @@
import json
import logging
import hashlib
import socket
import time
from datetime import datetime
from distutils.version import LooseVersion
import urllib3
from credentials import Credentials
from http import HTTP
@ -109,7 +110,7 @@ class ConnectionManager(object):
if not server:
raise AttributeError("server cannot be empty")
try:
request = {
'type': "POST",
@ -134,6 +135,8 @@ class ConnectionManager(object):
if not address:
return False
address = self._normalize_address(address)
def _on_fail():
LOG.error("connectToAddress %s failed", address)
return self._resolve_failure()
@ -470,13 +473,18 @@ class ConnectionManager(object):
def _normalize_address(self, address):
# Attempt to correct bad input
address = address.strip()
address = address.lower()
url = urllib3.util.parse_url(address.strip())
if 'http' not in address:
address = "http://%s" % address
if url.scheme is None:
url = url._replace(scheme='http')
return address
if url.scheme == 'http' and url.port == 80:
url = url._replace(port=None)
if url.scheme == 'https' and url.port == 443:
url = url._replace(port=None)
return url.url
def _save_user_info_into_credentials(self, server, user):