From 53c887d3547ea4a5ab618d5f63b483cd2f036102 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Odd=20Str=C3=A5b=C3=B8?= <oddstr13@openshell.no>
Date: Sun, 10 Oct 2021 20:38:25 +0200
Subject: [PATCH] Use module-relative imports

---
 context.py                                   |  4 ++--
 context_play.py                              |  4 ++--
 default.py                                   |  4 ++--
 jellyfin_kodi/client.py                      |  5 ++--
 jellyfin_kodi/connect.py                     | 15 ++++++------
 jellyfin_kodi/database/__init__.py           | 12 +++++-----
 jellyfin_kodi/database/jellyfin_db.py        |  6 ++---
 jellyfin_kodi/dialogs/context.py             |  4 ++--
 jellyfin_kodi/dialogs/loginmanual.py         |  4 +---
 jellyfin_kodi/dialogs/resume.py              |  2 +-
 jellyfin_kodi/dialogs/serverconnect.py       |  6 ++---
 jellyfin_kodi/dialogs/servermanual.py        |  6 ++---
 jellyfin_kodi/dialogs/usersconnect.py        |  2 +-
 jellyfin_kodi/downloader.py                  | 10 ++++----
 jellyfin_kodi/entrypoint/__init__.py         | 10 ++------
 jellyfin_kodi/entrypoint/context.py          | 11 ++++-----
 jellyfin_kodi/entrypoint/default.py          | 25 ++++++++++----------
 jellyfin_kodi/entrypoint/service.py          | 19 +++++++--------
 jellyfin_kodi/full_sync.py                   | 14 +++++------
 jellyfin_kodi/helper/api.py                  |  4 +---
 jellyfin_kodi/helper/lazylogger.py           |  2 +-
 jellyfin_kodi/helper/loghandler.py           |  9 +++----
 jellyfin_kodi/helper/playutils.py            |  9 ++++---
 jellyfin_kodi/helper/translate.py            |  2 +-
 jellyfin_kodi/helper/utils.py                |  2 +-
 jellyfin_kodi/helper/wrapper.py              |  2 +-
 jellyfin_kodi/helper/xmls.py                 |  6 ++---
 jellyfin_kodi/jellyfin/__init__.py           |  6 ++---
 jellyfin_kodi/jellyfin/api.py                |  4 ++--
 jellyfin_kodi/jellyfin/client.py             |  2 +-
 jellyfin_kodi/jellyfin/configuration.py      |  2 +-
 jellyfin_kodi/jellyfin/connection_manager.py |  2 +-
 jellyfin_kodi/jellyfin/credentials.py        |  2 +-
 jellyfin_kodi/jellyfin/http.py               |  8 +++----
 jellyfin_kodi/jellyfin/ws_client.py          |  2 +-
 jellyfin_kodi/library.py                     | 19 +++++++--------
 jellyfin_kodi/monitor.py                     | 16 ++++++-------
 jellyfin_kodi/objects/actions.py             | 12 +++++-----
 jellyfin_kodi/objects/kodi/artwork.py        |  2 +-
 jellyfin_kodi/objects/kodi/kodi.py           |  3 +--
 jellyfin_kodi/objects/kodi/movies.py         |  2 +-
 jellyfin_kodi/objects/kodi/music.py          |  2 +-
 jellyfin_kodi/objects/kodi/musicvideos.py    |  2 +-
 jellyfin_kodi/objects/kodi/tvshows.py        |  2 +-
 jellyfin_kodi/objects/movies.py              | 12 +++++-----
 jellyfin_kodi/objects/music.py               |  9 ++++---
 jellyfin_kodi/objects/musicvideos.py         |  9 ++++---
 jellyfin_kodi/objects/obj.py                 |  2 +-
 jellyfin_kodi/objects/tvshows.py             | 12 +++++-----
 jellyfin_kodi/objects/utils.py               |  4 ++--
 jellyfin_kodi/player.py                      | 10 ++++----
 jellyfin_kodi/views.py                       | 10 ++++----
 service.py                                   |  6 ++---
 53 files changed, 166 insertions(+), 195 deletions(-)

diff --git a/context.py b/context.py
index 1613b482..0326e073 100644
--- a/context.py
+++ b/context.py
@@ -3,8 +3,8 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 
 #################################################################################################
 
-from entrypoint import Context  # noqa: E402
-from helper import LazyLogger  # noqa: E402
+from jellyfin_kodi.entrypoint import Context
+from jellyfin_kodi.helper import LazyLogger
 
 #################################################################################################
 
diff --git a/context_play.py b/context_play.py
index bb128969..c2fcc774 100644
--- a/context_play.py
+++ b/context_play.py
@@ -3,8 +3,8 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 
 #################################################################################################
 
-from entrypoint import Context  # noqa: E402
-from helper import LazyLogger  # noqa: E402
+from jellyfin_kodi.entrypoint import Context
+from jellyfin_kodi.helper import LazyLogger
 
 #################################################################################################
 
diff --git a/default.py b/default.py
index cebf129b..ac86b22a 100644
--- a/default.py
+++ b/default.py
@@ -3,8 +3,8 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 
 #################################################################################################
 
-from entrypoint import Events  # noqa: E402
-from helper import LazyLogger  # noqa: E402
+from jellyfin_kodi.entrypoint import Events
+from jellyfin_kodi.helper import LazyLogger
 
 #################################################################################################
 
diff --git a/jellyfin_kodi/client.py b/jellyfin_kodi/client.py
index a521c7dd..0879225d 100644
--- a/jellyfin_kodi/client.py
+++ b/jellyfin_kodi/client.py
@@ -7,9 +7,8 @@ import os
 
 from kodi_six import xbmc, xbmcaddon, xbmcvfs
 
-from helper import translate, window, settings, addon_id, dialog
-from helper.utils import create_id, translate_path
-from helper import LazyLogger  # noqa: F402
+from .helper import translate, window, settings, addon_id, dialog, LazyLogger
+from .helper.utils import create_id, translate_path
 
 ##################################################################################################
 
diff --git a/jellyfin_kodi/connect.py b/jellyfin_kodi/connect.py
index ec2fa325..7566ce90 100644
--- a/jellyfin_kodi/connect.py
+++ b/jellyfin_kodi/connect.py
@@ -5,14 +5,13 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 
 from kodi_six import xbmc, xbmcaddon
 
-import client
-from database import get_credentials, save_credentials
-from dialogs import ServerConnect, UsersConnect, LoginManual, ServerManual
-from helper import settings, addon_id, event, api, window
-from jellyfin import Jellyfin
-from jellyfin.connection_manager import CONNECTION_STATE
-from helper.exceptions import HTTPException
-from helper import LazyLogger
+from . import client
+from .database import get_credentials, save_credentials
+from .dialogs import ServerConnect, UsersConnect, LoginManual, ServerManual
+from .helper import settings, addon_id, event, api, window, LazyLogger
+from .jellyfin import Jellyfin
+from .jellyfin.connection_manager import CONNECTION_STATE
+from .helper.exceptions import HTTPException
 
 ##################################################################################################
 
diff --git a/jellyfin_kodi/database/__init__.py b/jellyfin_kodi/database/__init__.py
index fe7d62e1..af1bf859 100644
--- a/jellyfin_kodi/database/__init__.py
+++ b/jellyfin_kodi/database/__init__.py
@@ -12,11 +12,11 @@ import re
 from kodi_six import xbmc, xbmcvfs
 from six import text_type
 
-from database import jellyfin_db
-from helper import translate, settings, window, dialog
-from helper.utils import translate_path
-from objects import obj
-from helper import LazyLogger
+from . import jellyfin_db
+from ..helper import translate, settings, window, dialog
+from ..helper.utils import translate_path
+from ..objects import obj
+from ..helper import LazyLogger
 
 #################################################################################################
 
@@ -200,7 +200,7 @@ def reset():
 
     ''' Reset both the jellyfin database and the kodi database.
     '''
-    from views import Views
+    from ..views import Views
     views = Views()
 
     if not dialog("yesno", "{jellyfin}", translate(33074)):
diff --git a/jellyfin_kodi/database/jellyfin_db.py b/jellyfin_kodi/database/jellyfin_db.py
index 5683e740..a518b830 100644
--- a/jellyfin_kodi/database/jellyfin_db.py
+++ b/jellyfin_kodi/database/jellyfin_db.py
@@ -2,10 +2,10 @@
 from __future__ import division, absolute_import, print_function, unicode_literals
 #################################################################################################
 
-from database import queries as QU
-from helper import LazyLogger
+from . import queries as QU
+from ..helper import LazyLogger
 
-from jellyfin.utils import sqlite_namedtuple_factory
+from ..jellyfin.utils import sqlite_namedtuple_factory
 
 ##################################################################################################
 
diff --git a/jellyfin_kodi/dialogs/context.py b/jellyfin_kodi/dialogs/context.py
index d2b51e7a..6d48a503 100644
--- a/jellyfin_kodi/dialogs/context.py
+++ b/jellyfin_kodi/dialogs/context.py
@@ -8,8 +8,8 @@ import os
 from kodi_six import xbmcgui, xbmcaddon
 from six import ensure_text
 
-from helper import window, addon_id
-from helper import LazyLogger
+from ..helper import window, addon_id
+from ..helper import LazyLogger
 
 ##################################################################################################
 
diff --git a/jellyfin_kodi/dialogs/loginmanual.py b/jellyfin_kodi/dialogs/loginmanual.py
index eee28d41..1d70bec2 100644
--- a/jellyfin_kodi/dialogs/loginmanual.py
+++ b/jellyfin_kodi/dialogs/loginmanual.py
@@ -6,9 +6,7 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 from six import iteritems
 from kodi_six import xbmcgui
 
-from helper import translate
-from helper import LazyLogger
-from helper import kodi_version
+from ..helper import translate, LazyLogger, kodi_version
 
 ##################################################################################################
 
diff --git a/jellyfin_kodi/dialogs/resume.py b/jellyfin_kodi/dialogs/resume.py
index bee793f9..0357a413 100644
--- a/jellyfin_kodi/dialogs/resume.py
+++ b/jellyfin_kodi/dialogs/resume.py
@@ -5,7 +5,7 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 
 from kodi_six import xbmc, xbmcgui
 
-from helper import LazyLogger
+from ..helper import LazyLogger
 
 ##################################################################################################
 
diff --git a/jellyfin_kodi/dialogs/serverconnect.py b/jellyfin_kodi/dialogs/serverconnect.py
index c4c3afff..73d72058 100644
--- a/jellyfin_kodi/dialogs/serverconnect.py
+++ b/jellyfin_kodi/dialogs/serverconnect.py
@@ -6,9 +6,9 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 from six import iteritems
 from kodi_six import xbmc, xbmcgui
 
-from helper import translate
-from jellyfin.connection_manager import CONNECTION_STATE
-from helper import LazyLogger
+from ..helper import translate
+from ..jellyfin.connection_manager import CONNECTION_STATE
+from ..helper import LazyLogger
 
 ##################################################################################################
 
diff --git a/jellyfin_kodi/dialogs/servermanual.py b/jellyfin_kodi/dialogs/servermanual.py
index 803e706a..551c840e 100644
--- a/jellyfin_kodi/dialogs/servermanual.py
+++ b/jellyfin_kodi/dialogs/servermanual.py
@@ -8,9 +8,9 @@ import re
 from six import iteritems
 from kodi_six import xbmcgui
 
-from helper import translate
-from jellyfin.connection_manager import CONNECTION_STATE
-from helper import LazyLogger
+from ..helper import translate
+from ..jellyfin.connection_manager import CONNECTION_STATE
+from ..helper import LazyLogger
 
 ##################################################################################################
 
diff --git a/jellyfin_kodi/dialogs/usersconnect.py b/jellyfin_kodi/dialogs/usersconnect.py
index a361756d..69312da7 100644
--- a/jellyfin_kodi/dialogs/usersconnect.py
+++ b/jellyfin_kodi/dialogs/usersconnect.py
@@ -6,7 +6,7 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 from six import iteritems
 from kodi_six import xbmc, xbmcgui
 
-from helper import LazyLogger
+from ..helper import LazyLogger
 
 ##################################################################################################
 
diff --git a/jellyfin_kodi/downloader.py b/jellyfin_kodi/downloader.py
index fa67facc..b52128c6 100644
--- a/jellyfin_kodi/downloader.py
+++ b/jellyfin_kodi/downloader.py
@@ -10,11 +10,11 @@ from datetime import date
 from six.moves import range, queue as Queue
 
 import requests
-from helper import settings, stop, window
-from jellyfin import Jellyfin
-from jellyfin import api
-from helper.exceptions import HTTPException
-from helper import LazyLogger
+
+from .helper import settings, stop, window, LazyLogger
+from .jellyfin import Jellyfin
+from .jellyfin import api
+from .helper.exceptions import HTTPException
 
 #################################################################################################
 
diff --git a/jellyfin_kodi/entrypoint/__init__.py b/jellyfin_kodi/entrypoint/__init__.py
index 84a9e4b4..8fbf2c8d 100644
--- a/jellyfin_kodi/entrypoint/__init__.py
+++ b/jellyfin_kodi/entrypoint/__init__.py
@@ -3,19 +3,13 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 
 #################################################################################################
 
-import logging
-
 from kodi_six import xbmc, xbmcvfs
 
-from helper import LazyLogger
-from jellyfin import Jellyfin
+from ..helper import LazyLogger
+from ..jellyfin import Jellyfin
 
 from .default import Events
 from .service import Service
 from .context import Context
 
 #################################################################################################
-
-LOG = LazyLogger(__name__)
-
-#################################################################################################
diff --git a/jellyfin_kodi/entrypoint/context.py b/jellyfin_kodi/entrypoint/context.py
index 0b0f1708..f1cfb690 100644
--- a/jellyfin_kodi/entrypoint/context.py
+++ b/jellyfin_kodi/entrypoint/context.py
@@ -8,12 +8,11 @@ import sys
 
 from kodi_six import xbmc, xbmcaddon
 
-import database
-from dialogs import context
-from helper import translate, settings, dialog
-from helper import LazyLogger
-from helper.utils import translate_path
-from jellyfin import Jellyfin
+from .. import database
+from ..dialogs import context
+from ..helper import translate, settings, dialog, LazyLogger
+from ..helper.utils import translate_path
+from ..jellyfin import Jellyfin
 
 #################################################################################################
 
diff --git a/jellyfin_kodi/entrypoint/default.py b/jellyfin_kodi/entrypoint/default.py
index d2b400a4..adc8009f 100644
--- a/jellyfin_kodi/entrypoint/default.py
+++ b/jellyfin_kodi/entrypoint/default.py
@@ -11,13 +11,12 @@ from six import iteritems
 from six.moves.urllib.parse import parse_qsl, urlencode
 from kodi_six import xbmc, xbmcvfs, xbmcgui, xbmcplugin, xbmcaddon
 
-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
-from helper.utils import JsonDebugPrinter, translate_path
-from helper import LazyLogger
-from jellyfin import Jellyfin
+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 ..jellyfin import Jellyfin
 
 #################################################################################################
 
@@ -426,7 +425,7 @@ def browse_subfolders(media, view_id, server_id=None):
 
     ''' Display submenus for jellyfin views.
     '''
-    from views import DYNNODES
+    from ..views import DYNNODES
 
     view = Jellyfin(server_id).get_client().jellyfin.get_item(view_id)
     xbmcplugin.setPluginCategory(PROCESS_HANDLE, view['Name'])
@@ -792,9 +791,9 @@ def get_themes(api_client):
     ''' Add theme media locally, via strm. This is only for tv tunes.
         If another script is used, adjust this code.
     '''
-    from helper.utils import normalize_string
-    from helper.playutils import PlayUtils
-    from helper.xmls import tvtunes_nfo
+    from ..helper.utils import normalize_string
+    from ..helper.playutils import PlayUtils
+    from ..helper.xmls import tvtunes_nfo
 
     library = translate_path("special://profile/addon_data/plugin.video.jellyfin/library")
     play = settings('useDirectPaths') == "1"
@@ -863,7 +862,7 @@ def delete_item():
 
     ''' Delete keymap action.
     '''
-    import context
+    from . import context
 
     context.Context(delete=True)
 
@@ -872,7 +871,7 @@ def backup():
 
     ''' Jellyfin backup.
     '''
-    from helper.utils import delete_folder, copytree
+    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)'))
diff --git a/jellyfin_kodi/entrypoint/service.py b/jellyfin_kodi/entrypoint/service.py
index 8e30b27e..7d5a3bf5 100644
--- a/jellyfin_kodi/entrypoint/service.py
+++ b/jellyfin_kodi/entrypoint/service.py
@@ -12,16 +12,15 @@ import _strptime  # noqa:F401
 from kodi_six import xbmc, xbmcgui
 from six.moves import reload_module as reload
 
-import objects
-import connect
-import client
-import library
-import monitor
-from views import Views
-from helper import translate, window, settings, event, dialog, set_addon_mode
-from helper.utils import JsonDebugPrinter, translate_path
-from jellyfin import Jellyfin
-from helper import LazyLogger
+from .. import objects
+from .. import connect
+from .. import client
+from .. import library
+from .. import monitor
+from ..views import Views
+from ..helper import translate, window, settings, event, dialog, set_addon_mode, LazyLogger
+from ..helper.utils import JsonDebugPrinter, translate_path
+from ..jellyfin import Jellyfin
 
 #################################################################################################
 
diff --git a/jellyfin_kodi/full_sync.py b/jellyfin_kodi/full_sync.py
index 8ce9a7f8..9501d665 100644
--- a/jellyfin_kodi/full_sync.py
+++ b/jellyfin_kodi/full_sync.py
@@ -8,14 +8,12 @@ import datetime
 
 from kodi_six import xbmc
 
-import downloader as server
-import helper.xmls as xmls
-from objects import Movies, TVShows, MusicVideos, Music
-from database import Database, get_sync, save_sync, jellyfin_db
-from helper import translate, settings, window, progress, dialog
-from helper.utils import get_screensaver, set_screensaver
-from helper import LazyLogger
-from helper.exceptions import LibraryException, PathValidationException
+from . import downloader as server
+from .objects import Movies, TVShows, MusicVideos, Music
+from .database import Database, get_sync, save_sync, jellyfin_db
+from .helper import translate, settings, window, progress, dialog, LazyLogger, xmls
+from .helper.utils import get_screensaver, set_screensaver
+from .helper.exceptions import LibraryException, PathValidationException
 
 ##################################################################################################
 
diff --git a/jellyfin_kodi/helper/api.py b/jellyfin_kodi/helper/api.py
index 7ecf80ad..ea8e9ee9 100644
--- a/jellyfin_kodi/helper/api.py
+++ b/jellyfin_kodi/helper/api.py
@@ -3,9 +3,7 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 
 ##################################################################################################
 
-from helper import LazyLogger
-
-from . import settings
+from . import settings, LazyLogger
 
 ##################################################################################################
 
diff --git a/jellyfin_kodi/helper/lazylogger.py b/jellyfin_kodi/helper/lazylogger.py
index 52534ec2..c53ddefa 100644
--- a/jellyfin_kodi/helper/lazylogger.py
+++ b/jellyfin_kodi/helper/lazylogger.py
@@ -14,6 +14,6 @@ class LazyLogger(object):
 
     def __getattr__(self, name):
         if self.__logger is None:
-            from helper.loghandler import getLogger
+            from .loghandler import getLogger
             self.__logger = getLogger(self.__logger_name)
         return getattr(self.__logger, name)
diff --git a/jellyfin_kodi/helper/loghandler.py b/jellyfin_kodi/helper/loghandler.py
index 306a50f2..ce06ecb1 100644
--- a/jellyfin_kodi/helper/loghandler.py
+++ b/jellyfin_kodi/helper/loghandler.py
@@ -10,12 +10,9 @@ import traceback
 from six import ensure_text
 from kodi_six import xbmc, xbmcaddon
 
-import database
-from helper import get_filesystem_encoding
-from helper.utils import translate_path
-
-from . import settings
-from . import kodi_version
+from .. import database
+from . import get_filesystem_encoding, settings, kodi_version
+from .utils import translate_path
 
 ##################################################################################################
 
diff --git a/jellyfin_kodi/helper/playutils.py b/jellyfin_kodi/helper/playutils.py
index b599ab33..ad9c377f 100644
--- a/jellyfin_kodi/helper/playutils.py
+++ b/jellyfin_kodi/helper/playutils.py
@@ -7,14 +7,13 @@ import enum
 import os
 from uuid import uuid4
 
+import requests
 from kodi_six import xbmc, xbmcvfs
 
-import client
-import requests
-from helper import LazyLogger
-from helper.utils import translate_path
+from .. import client
+from .utils import translate_path
 
-from . import translate, settings, window, dialog, api
+from . import translate, settings, window, dialog, api, LazyLogger
 
 #################################################################################################
 
diff --git a/jellyfin_kodi/helper/translate.py b/jellyfin_kodi/helper/translate.py
index 8b75b1de..2714e9ee 100644
--- a/jellyfin_kodi/helper/translate.py
+++ b/jellyfin_kodi/helper/translate.py
@@ -5,7 +5,7 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 
 from kodi_six import xbmc, xbmcaddon
 
-from helper import LazyLogger
+from . import LazyLogger
 
 ##################################################################################################
 
diff --git a/jellyfin_kodi/helper/utils.py b/jellyfin_kodi/helper/utils.py
index bd6e7010..4d248b55 100644
--- a/jellyfin_kodi/helper/utils.py
+++ b/jellyfin_kodi/helper/utils.py
@@ -537,7 +537,7 @@ def get_filesystem_encoding():
 
 
 def find_library(server, item):
-    from database import get_sync
+    from ..database import get_sync
 
     sync = get_sync()
 
diff --git a/jellyfin_kodi/helper/wrapper.py b/jellyfin_kodi/helper/wrapper.py
index 9077a48c..1b814da1 100644
--- a/jellyfin_kodi/helper/wrapper.py
+++ b/jellyfin_kodi/helper/wrapper.py
@@ -5,7 +5,7 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 
 from kodi_six import xbmcgui
 
-from helper import LazyLogger
+from . import LazyLogger
 
 from .utils import should_stop
 from .exceptions import LibraryException
diff --git a/jellyfin_kodi/helper/xmls.py b/jellyfin_kodi/helper/xmls.py
index 6e62ba9d..907e142c 100644
--- a/jellyfin_kodi/helper/xmls.py
+++ b/jellyfin_kodi/helper/xmls.py
@@ -8,10 +8,8 @@ import xml.etree.ElementTree as etree
 
 from kodi_six import xbmc
 
-from helper import LazyLogger
-from helper.utils import translate_path
-
-from . import translate, dialog, settings
+from .utils import translate_path
+from . import translate, dialog, settings, LazyLogger
 
 #################################################################################################
 
diff --git a/jellyfin_kodi/jellyfin/__init__.py b/jellyfin_kodi/jellyfin/__init__.py
index 74178de7..6d0bcdec 100644
--- a/jellyfin_kodi/jellyfin/__init__.py
+++ b/jellyfin_kodi/jellyfin/__init__.py
@@ -3,9 +3,7 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 
 #################################################################################################
 
-import logging
-
-from helper import has_attribute, LazyLogger
+from ..helper import has_attribute, LazyLogger
 
 from .client import JellyfinClient
 
@@ -35,7 +33,7 @@ class Jellyfin(object):
     ''' This is your Jellyfinclient, you can create more than one. The server_id is only a temporary thing
         to communicate with the JellyfinClient().
 
-        from jellyfin import Jellyfin
+        from jellyfin_kodi.jellyfin import Jellyfin
 
         Jellyfin('123456').config.data['app']
 
diff --git a/jellyfin_kodi/jellyfin/api.py b/jellyfin_kodi/jellyfin/api.py
index a8702f0c..c9761025 100644
--- a/jellyfin_kodi/jellyfin/api.py
+++ b/jellyfin_kodi/jellyfin/api.py
@@ -5,8 +5,8 @@ import json
 
 import requests
 
-from helper.utils import settings
-from helper import LazyLogger
+from ..helper.utils import settings
+from ..helper import LazyLogger
 from six import ensure_str
 
 
diff --git a/jellyfin_kodi/jellyfin/client.py b/jellyfin_kodi/jellyfin/client.py
index 0da2975e..c22397c2 100644
--- a/jellyfin_kodi/jellyfin/client.py
+++ b/jellyfin_kodi/jellyfin/client.py
@@ -3,7 +3,7 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 
 #################################################################################################
 
-from helper import LazyLogger
+from ..helper import LazyLogger
 
 from . import api
 from .configuration import Config
diff --git a/jellyfin_kodi/jellyfin/configuration.py b/jellyfin_kodi/jellyfin/configuration.py
index 0b6607e6..c8407dbf 100644
--- a/jellyfin_kodi/jellyfin/configuration.py
+++ b/jellyfin_kodi/jellyfin/configuration.py
@@ -7,7 +7,7 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 
 #################################################################################################
 
-from helper import LazyLogger
+from ..helper import LazyLogger
 
 #################################################################################################
 
diff --git a/jellyfin_kodi/jellyfin/connection_manager.py b/jellyfin_kodi/jellyfin/connection_manager.py
index 669f23b3..bdba0652 100644
--- a/jellyfin_kodi/jellyfin/connection_manager.py
+++ b/jellyfin_kodi/jellyfin/connection_manager.py
@@ -11,7 +11,7 @@ import traceback
 
 import urllib3
 
-from helper import LazyLogger
+from ..helper import LazyLogger
 
 from .credentials import Credentials
 from .api import API
diff --git a/jellyfin_kodi/jellyfin/credentials.py b/jellyfin_kodi/jellyfin/credentials.py
index 661792a7..638f4af3 100644
--- a/jellyfin_kodi/jellyfin/credentials.py
+++ b/jellyfin_kodi/jellyfin/credentials.py
@@ -6,7 +6,7 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 import time
 from datetime import datetime
 
-from helper import LazyLogger
+from ..helper import LazyLogger
 
 #################################################################################################
 
diff --git a/jellyfin_kodi/jellyfin/http.py b/jellyfin_kodi/jellyfin/http.py
index 63c0f570..646dc071 100644
--- a/jellyfin_kodi/jellyfin/http.py
+++ b/jellyfin_kodi/jellyfin/http.py
@@ -8,10 +8,10 @@ import time
 import requests
 from six import string_types, ensure_str
 
-from helper.utils import JsonDebugPrinter
-from helper import LazyLogger
-from helper.exceptions import HTTPException
-from jellyfin.utils import clean_none_dict_values
+from ..helper.utils import JsonDebugPrinter
+from ..helper import LazyLogger
+from ..helper.exceptions import HTTPException
+from .utils import clean_none_dict_values
 
 #################################################################################################
 
diff --git a/jellyfin_kodi/jellyfin/ws_client.py b/jellyfin_kodi/jellyfin/ws_client.py
index 30f4c831..72b81b80 100644
--- a/jellyfin_kodi/jellyfin/ws_client.py
+++ b/jellyfin_kodi/jellyfin/ws_client.py
@@ -8,7 +8,7 @@ import threading
 
 from kodi_six import xbmc
 
-from helper import LazyLogger
+from ..helper import LazyLogger
 
 # If numpy is installed, the websockets library tries to use it, and then
 # kodi hard crashes for reasons I don't even want to pretend to understand
diff --git a/jellyfin_kodi/library.py b/jellyfin_kodi/library.py
index 01bb4eac..b44e722d 100644
--- a/jellyfin_kodi/library.py
+++ b/jellyfin_kodi/library.py
@@ -10,16 +10,15 @@ from six.moves import queue as Queue
 
 from kodi_six import xbmc, xbmcgui
 
-from objects import Movies, TVShows, MusicVideos, Music
-from database import Database, jellyfin_db, get_sync, save_sync
-from full_sync import FullSync
-from views import Views
-from downloader import GetItemWorker
-from helper import translate, api, stop, settings, window, dialog, event
-from helper.utils import split_list, set_screensaver, get_screensaver
-from helper.exceptions import LibraryException
-from jellyfin import Jellyfin
-from helper import LazyLogger
+from .objects import Movies, TVShows, MusicVideos, Music
+from .database import Database, jellyfin_db, get_sync, save_sync
+from .full_sync import FullSync
+from .views import Views
+from .downloader import GetItemWorker
+from .helper import translate, api, stop, settings, window, dialog, event, LazyLogger
+from .helper.utils import split_list, set_screensaver, get_screensaver
+from .helper.exceptions import LibraryException
+from .jellyfin import Jellyfin
 
 ##################################################################################################
 
diff --git a/jellyfin_kodi/monitor.py b/jellyfin_kodi/monitor.py
index d1928fa2..4b2e6bec 100644
--- a/jellyfin_kodi/monitor.py
+++ b/jellyfin_kodi/monitor.py
@@ -9,14 +9,14 @@ import threading
 
 from kodi_six import xbmc
 
-import connect
-import player
-from client import get_device_id
-from objects import PlaylistWorker, on_play, on_update, special_listener
-from helper import translate, settings, window, dialog, api, JSONRPC
-from helper.utils import JsonDebugPrinter
-from jellyfin import Jellyfin
-from helper import LazyLogger
+from . import connect
+from . import player
+from .client import get_device_id
+from .objects import PlaylistWorker, on_play, on_update, special_listener
+from .helper import translate, settings, window, dialog, api, JSONRPC
+from .helper.utils import JsonDebugPrinter
+from .jellyfin import Jellyfin
+from .helper import LazyLogger
 
 #################################################################################################
 
diff --git a/jellyfin_kodi/objects/actions.py b/jellyfin_kodi/objects/actions.py
index 7eef6a3d..d49c6b46 100644
--- a/jellyfin_kodi/objects/actions.py
+++ b/jellyfin_kodi/objects/actions.py
@@ -10,12 +10,12 @@ from datetime import timedelta
 
 from kodi_six import xbmc, xbmcgui, xbmcplugin, xbmcaddon
 
-import database
-from helper import translate, playutils, api, window, settings, dialog
-from dialogs import resume
-from helper import LazyLogger
-from jellyfin import Jellyfin
-from helper.utils import translate_path
+from .. import database
+from ..helper import translate, playutils, api, window, settings, dialog
+from ..dialogs import resume
+from ..helper import LazyLogger
+from ..jellyfin import Jellyfin
+from ..helper.utils import translate_path
 
 from .obj import Objects
 
diff --git a/jellyfin_kodi/objects/kodi/artwork.py b/jellyfin_kodi/objects/kodi/artwork.py
index a986f96a..a37320a8 100644
--- a/jellyfin_kodi/objects/kodi/artwork.py
+++ b/jellyfin_kodi/objects/kodi/artwork.py
@@ -3,7 +3,7 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 
 #################################################################################################
 
-from helper import LazyLogger
+from ...helper import LazyLogger
 
 from . import queries as QU
 
diff --git a/jellyfin_kodi/objects/kodi/kodi.py b/jellyfin_kodi/objects/kodi/kodi.py
index d0276c11..b9650149 100644
--- a/jellyfin_kodi/objects/kodi/kodi.py
+++ b/jellyfin_kodi/objects/kodi/kodi.py
@@ -3,8 +3,7 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 
 ##################################################################################################
 
-from helper import values
-from helper import LazyLogger
+from ...helper import values, LazyLogger
 
 from . import artwork
 from . import queries as QU
diff --git a/jellyfin_kodi/objects/kodi/movies.py b/jellyfin_kodi/objects/kodi/movies.py
index 5d3dfb28..e0a20475 100644
--- a/jellyfin_kodi/objects/kodi/movies.py
+++ b/jellyfin_kodi/objects/kodi/movies.py
@@ -3,7 +3,7 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 
 ##################################################################################################
 
-from helper import LazyLogger
+from ...helper import LazyLogger
 
 from .kodi import Kodi
 from . import queries as QU
diff --git a/jellyfin_kodi/objects/kodi/music.py b/jellyfin_kodi/objects/kodi/music.py
index 8033f572..84d7a1a4 100644
--- a/jellyfin_kodi/objects/kodi/music.py
+++ b/jellyfin_kodi/objects/kodi/music.py
@@ -3,7 +3,7 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 
 ##################################################################################################
 
-from helper import LazyLogger
+from ...helper import LazyLogger
 
 from . import queries_music as QU
 from .kodi import Kodi
diff --git a/jellyfin_kodi/objects/kodi/musicvideos.py b/jellyfin_kodi/objects/kodi/musicvideos.py
index 14752a52..97f3f6b6 100644
--- a/jellyfin_kodi/objects/kodi/musicvideos.py
+++ b/jellyfin_kodi/objects/kodi/musicvideos.py
@@ -3,7 +3,7 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 
 ##################################################################################################
 
-from helper import LazyLogger
+from ...helper import LazyLogger
 
 from . import queries as QU
 from .kodi import Kodi
diff --git a/jellyfin_kodi/objects/kodi/tvshows.py b/jellyfin_kodi/objects/kodi/tvshows.py
index 81f1e4bf..e2a34449 100644
--- a/jellyfin_kodi/objects/kodi/tvshows.py
+++ b/jellyfin_kodi/objects/kodi/tvshows.py
@@ -3,7 +3,7 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 
 ##################################################################################################
 
-from helper import LazyLogger
+from ...helper import LazyLogger
 
 from . import queries as QU
 from .kodi import Kodi
diff --git a/jellyfin_kodi/objects/movies.py b/jellyfin_kodi/objects/movies.py
index 2cf9ce53..45cf2e07 100644
--- a/jellyfin_kodi/objects/movies.py
+++ b/jellyfin_kodi/objects/movies.py
@@ -6,12 +6,12 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 from six.moves.urllib.parse import urlencode
 from kodi_six.utils import py2_encode
 
-import downloader as server
-from database import jellyfin_db, queries as QUEM
-from helper import api, stop, validate, validate_bluray_dir, validate_dvd_dir, jellyfin_item, values, Local
-from helper import LazyLogger
-from helper.utils import find_library
-from helper.exceptions import PathValidationException
+from .. import downloader as server
+from ..database import jellyfin_db, queries as QUEM
+from ..helper import api, stop, validate, validate_bluray_dir, validate_dvd_dir, jellyfin_item, values, Local
+from ..helper import LazyLogger
+from ..helper.utils import find_library
+from ..helper.exceptions import PathValidationException
 
 from .obj import Objects
 from .kodi import Movies as KodiDb, queries as QU
diff --git a/jellyfin_kodi/objects/music.py b/jellyfin_kodi/objects/music.py
index 72631dae..2a95bfa7 100644
--- a/jellyfin_kodi/objects/music.py
+++ b/jellyfin_kodi/objects/music.py
@@ -5,11 +5,10 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 
 import datetime
 
-from database import jellyfin_db, queries as QUEM
-from helper import api, stop, validate, jellyfin_item, values, Local
-from helper import LazyLogger
-from helper.utils import find_library
-from helper.exceptions import PathValidationException
+from ..database import jellyfin_db, queries as QUEM
+from ..helper import api, stop, validate, jellyfin_item, values, Local, LazyLogger
+from ..helper.utils import find_library
+from ..helper.exceptions import PathValidationException
 
 from .obj import Objects
 from .kodi import Music as KodiDb, queries_music as QU
diff --git a/jellyfin_kodi/objects/musicvideos.py b/jellyfin_kodi/objects/musicvideos.py
index 8dff2c57..0d80dccd 100644
--- a/jellyfin_kodi/objects/musicvideos.py
+++ b/jellyfin_kodi/objects/musicvideos.py
@@ -9,11 +9,10 @@ import re
 from six.moves.urllib.parse import urlencode
 from kodi_six.utils import py2_encode
 
-from database import jellyfin_db, queries as QUEM
-from helper import api, stop, validate, jellyfin_item, values, Local
-from helper import LazyLogger
-from helper.utils import find_library
-from helper.exceptions import PathValidationException
+from ..database import jellyfin_db, queries as QUEM
+from ..helper import api, stop, validate, jellyfin_item, values, Local, LazyLogger
+from ..helper.utils import find_library
+from ..helper.exceptions import PathValidationException
 
 from .obj import Objects
 from .kodi import MusicVideos as KodiDb, queries as QU
diff --git a/jellyfin_kodi/objects/obj.py b/jellyfin_kodi/objects/obj.py
index 5aedb80f..f9015791 100644
--- a/jellyfin_kodi/objects/obj.py
+++ b/jellyfin_kodi/objects/obj.py
@@ -8,7 +8,7 @@ import os
 
 from six import iteritems, ensure_text
 
-from helper import LazyLogger, get_filesystem_encoding
+from ..helper import LazyLogger, get_filesystem_encoding
 
 ##################################################################################################
 
diff --git a/jellyfin_kodi/objects/tvshows.py b/jellyfin_kodi/objects/tvshows.py
index 3da519a1..61809779 100644
--- a/jellyfin_kodi/objects/tvshows.py
+++ b/jellyfin_kodi/objects/tvshows.py
@@ -9,12 +9,12 @@ from ntpath import dirname
 from six.moves.urllib.parse import urlencode
 from kodi_six.utils import py2_encode
 
-import downloader as server
-from database import jellyfin_db, queries as QUEM
-from helper import api, stop, validate, validate_bluray_dir, validate_dvd_dir, jellyfin_item, values, Local
-from helper import LazyLogger
-from helper.utils import find_library
-from helper.exceptions import PathValidationException
+from .. import downloader as server
+from ..database import jellyfin_db, queries as QUEM
+from ..helper import api, stop, validate, validate_bluray_dir, validate_dvd_dir, jellyfin_item, values, Local
+from ..helper import LazyLogger
+from ..helper.utils import find_library
+from ..helper.exceptions import PathValidationException
 
 from .obj import Objects
 from .kodi import TVShows as KodiDb, queries as QU
diff --git a/jellyfin_kodi/objects/utils.py b/jellyfin_kodi/objects/utils.py
index 56f5876a..31bbf7d1 100644
--- a/jellyfin_kodi/objects/utils.py
+++ b/jellyfin_kodi/objects/utils.py
@@ -3,8 +3,8 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 
 #################################################################################################
 
-from helper import JSONRPC
-from helper import LazyLogger
+from ..helper import JSONRPC
+from ..helper import LazyLogger
 
 #################################################################################################
 
diff --git a/jellyfin_kodi/player.py b/jellyfin_kodi/player.py
index 86c8eb34..e8a92985 100644
--- a/jellyfin_kodi/player.py
+++ b/jellyfin_kodi/player.py
@@ -7,11 +7,11 @@ import os
 
 from kodi_six import xbmc, xbmcvfs
 
-from objects.obj import Objects
-from helper import translate, api, window, settings, dialog, event, JSONRPC
-from jellyfin import Jellyfin
-from helper import LazyLogger
-from helper.utils import translate_path
+from .objects.obj import Objects
+from .helper import translate, api, window, settings, dialog, event, JSONRPC
+from .jellyfin import Jellyfin
+from .helper import LazyLogger
+from .helper.utils import translate_path
 
 #################################################################################################
 
diff --git a/jellyfin_kodi/views.py b/jellyfin_kodi/views.py
index 7d046565..6ee678b0 100644
--- a/jellyfin_kodi/views.py
+++ b/jellyfin_kodi/views.py
@@ -9,11 +9,11 @@ import xml.etree.ElementTree as etree
 from six.moves.urllib.parse import urlencode
 from kodi_six import xbmcvfs
 
-from database import Database, jellyfin_db, get_sync, save_sync
-from helper import translate, api, window, event
-from jellyfin import Jellyfin
-from helper import LazyLogger
-from helper.utils import translate_path
+from .database import Database, jellyfin_db, get_sync, save_sync
+from .helper import translate, api, window, event
+from .jellyfin import Jellyfin
+from .helper import LazyLogger
+from .helper.utils import translate_path
 
 #################################################################################################
 
diff --git a/service.py b/service.py
index 2623a857..d725b37c 100644
--- a/service.py
+++ b/service.py
@@ -7,9 +7,9 @@ import threading
 
 from kodi_six import xbmc
 
-from entrypoint import Service  # noqa: E402
-from helper.utils import settings  # noqa: E402
-from helper import LazyLogger  # noqa: E402
+from jellyfin_kodi.entrypoint import Service
+from jellyfin_kodi.helper.utils import settings
+from jellyfin_kodi.helper import LazyLogger
 
 #################################################################################################