From 390c1d5de888d212f556372fc37581438689a34e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Odd=20Str=C3=A5b=C3=B8?= <oddstr13@openshell.no>
Date: Mon, 11 Oct 2021 09:15:27 +0200
Subject: [PATCH] Fix tests

---
 jellyfin_kodi/dialogs/usersconnect.py | 5 +++--
 jellyfin_kodi/entrypoint/__init__.py  | 2 --
 jellyfin_kodi/entrypoint/default.py   | 4 ++--
 jellyfin_kodi/helper/utils.py         | 5 ++++-
 4 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/jellyfin_kodi/dialogs/usersconnect.py b/jellyfin_kodi/dialogs/usersconnect.py
index 69312da7..8c1428ef 100644
--- a/jellyfin_kodi/dialogs/usersconnect.py
+++ b/jellyfin_kodi/dialogs/usersconnect.py
@@ -4,9 +4,10 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 ##################################################################################################
 
 from six import iteritems
-from kodi_six import xbmc, xbmcgui
+from kodi_six import xbmcgui
 
 from ..helper import LazyLogger
+from ..helper.utils import kodi_version
 
 ##################################################################################################
 
@@ -30,7 +31,7 @@ class UsersConnect(xbmcgui.WindowXMLDialog):
 
     def __init__(self, *args, **kwargs):
 
-        self.kodi_version = int(xbmc.getInfoLabel('System.BuildVersion')[:2])
+        self.kodi_version = kodi_version()
         xbmcgui.WindowXMLDialog.__init__(self, *args, **kwargs)
 
     def set_args(self, **kwargs):
diff --git a/jellyfin_kodi/entrypoint/__init__.py b/jellyfin_kodi/entrypoint/__init__.py
index 8fbf2c8d..82e8ff62 100644
--- a/jellyfin_kodi/entrypoint/__init__.py
+++ b/jellyfin_kodi/entrypoint/__init__.py
@@ -3,8 +3,6 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 
 #################################################################################################
 
-from kodi_six import xbmc, xbmcvfs
-
 from ..helper import LazyLogger
 from ..jellyfin import Jellyfin
 
diff --git a/jellyfin_kodi/entrypoint/default.py b/jellyfin_kodi/entrypoint/default.py
index adc8009f..a80c2edd 100644
--- a/jellyfin_kodi/entrypoint/default.py
+++ b/jellyfin_kodi/entrypoint/default.py
@@ -15,7 +15,7 @@ from .. import client
 from ..database import reset, get_sync, Database, jellyfin_db, get_credentials
 from ..objects import Objects, Actions
 from ..helper import translate, event, settings, window, dialog, api, JSONRPC, LazyLogger
-from ..helper.utils import JsonDebugPrinter, translate_path
+from ..helper.utils import JsonDebugPrinter, translate_path, kodi_version
 from ..jellyfin import Jellyfin
 
 #################################################################################################
@@ -874,7 +874,7 @@ def backup():
     from ..helper.utils import delete_folder, copytree
 
     path = settings('backupPath')
-    folder_name = "Kodi%s.%s" % (xbmc.getInfoLabel('System.BuildVersion')[:2], xbmc.getInfoLabel('System.Date(dd-mm-yy)'))
+    folder_name = "Kodi%s.%s" % (kodi_version(), xbmc.getInfoLabel('System.Date(dd-mm-yy)'))
     folder_name = dialog("input", heading=translate(33089), defaultt=folder_name)
 
     if not folder_name:
diff --git a/jellyfin_kodi/helper/utils.py b/jellyfin_kodi/helper/utils.py
index 4d248b55..f9ef3c34 100644
--- a/jellyfin_kodi/helper/utils.py
+++ b/jellyfin_kodi/helper/utils.py
@@ -34,7 +34,10 @@ def addon_id():
 
 
 def kodi_version():
-    return int(xbmc.getInfoLabel('System.BuildVersion').split('.')[0])
+    # Kodistubs returns empty string, causing Python 3 tests to choke on int()
+    # TODO: Make Kodistubs version configurable for testing purposes
+    version_string = xbmc.getInfoLabel('System.BuildVersion') or "19.1 (19.1.0) Git:20210509-85e05228b4"
+    return int(version_string.split(' ', 1)[0].split('.', 1)[0])
 
 
 def window(key, value=None, clear=False, window_id=10000):