mirror of
https://github.com/jellyfin/jellyfin-kodi.git
synced 2024-11-10 04:06:11 +00:00
Merge branch 'master' of github.com:jellyfin/jellyfin-kodi into file-default-encoding
This commit is contained in:
commit
286e765a33
2 changed files with 19 additions and 11 deletions
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<addon id="plugin.video.jellyfin"
|
<addon id="plugin.video.jellyfin"
|
||||||
name="Jellyfin"
|
name="Jellyfin"
|
||||||
version="0.3.1"
|
version="0.3.2"
|
||||||
provider-name="Jellyfin Contributors, angelblue05">
|
provider-name="Jellyfin Contributors, angelblue05">
|
||||||
<requires>
|
<requires>
|
||||||
<import addon="xbmc.python" version="2.25.0"/>
|
<import addon="xbmc.python" version="2.25.0"/>
|
||||||
|
@ -36,9 +36,9 @@
|
||||||
<summary lang="en"></summary>
|
<summary lang="en"></summary>
|
||||||
<description lang="en">Welcome to Jellyfin for Kodi! 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. 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: * Direct integration with the Kodi library for native Kodi speed * Instant synchronization with the Jellyfin server * Full support for Movie, TV and Music collections * Jellyfin Server direct stream and transcoding support - use Kodi when you are away from home!</description>
|
<description lang="en">Welcome to Jellyfin for Kodi! 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. 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: * Direct integration with the Kodi library for native Kodi speed * Instant synchronization with the Jellyfin server * Full support for Movie, TV and Music collections * Jellyfin Server direct stream and transcoding support - use Kodi when you are away from home!</description>
|
||||||
<news>
|
<news>
|
||||||
v0.3.1 (2019-09-28)
|
v0.3.2 (2019-09-28)
|
||||||
#90 Fix incremental sync never finishing
|
#94 Improve address normalization in connection manager
|
||||||
#89 Make basic auth login case insensitive
|
#93 Remove stray single quote resulting in crash
|
||||||
</news>
|
</news>
|
||||||
<assets>
|
<assets>
|
||||||
<icon>resources/icon.png</icon>
|
<icon>resources/icon.png</icon>
|
||||||
|
|
|
@ -4,12 +4,13 @@
|
||||||
|
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
import hashlib
|
|
||||||
import socket
|
import socket
|
||||||
import time
|
import time
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from distutils.version import LooseVersion
|
from distutils.version import LooseVersion
|
||||||
|
|
||||||
|
import urllib3
|
||||||
|
|
||||||
from credentials import Credentials
|
from credentials import Credentials
|
||||||
from http import HTTP
|
from http import HTTP
|
||||||
|
|
||||||
|
@ -109,7 +110,7 @@ class ConnectionManager(object):
|
||||||
|
|
||||||
if not server:
|
if not server:
|
||||||
raise AttributeError("server cannot be empty")
|
raise AttributeError("server cannot be empty")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
request = {
|
request = {
|
||||||
'type': "POST",
|
'type': "POST",
|
||||||
|
@ -134,6 +135,8 @@ class ConnectionManager(object):
|
||||||
if not address:
|
if not address:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
address = self._normalize_address(address)
|
||||||
|
|
||||||
def _on_fail():
|
def _on_fail():
|
||||||
LOG.error("connectToAddress %s failed", address)
|
LOG.error("connectToAddress %s failed", address)
|
||||||
return self._resolve_failure()
|
return self._resolve_failure()
|
||||||
|
@ -470,13 +473,18 @@ class ConnectionManager(object):
|
||||||
|
|
||||||
def _normalize_address(self, address):
|
def _normalize_address(self, address):
|
||||||
# Attempt to correct bad input
|
# Attempt to correct bad input
|
||||||
address = address.strip()
|
url = urllib3.util.parse_url(address.strip())
|
||||||
address = address.lower()
|
|
||||||
|
|
||||||
if 'http' not in address:
|
if url.scheme is None:
|
||||||
address = "http://%s" % address
|
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):
|
def _save_user_info_into_credentials(self, server, user):
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue