diff --git a/jellyfin_kodi/client.py b/jellyfin_kodi/client.py index 3aac72cb..fb000288 100644 --- a/jellyfin_kodi/client.py +++ b/jellyfin_kodi/client.py @@ -7,7 +7,7 @@ import os from kodi_six import xbmc, xbmcaddon, xbmcvfs -from .helper import translate, window, settings, addon_id, dialog, LazyLogger +from .helper import translate, window, settings, ADDON_ID, dialog, LazyLogger from .helper.utils import create_id, translate_path ################################################################################################## @@ -21,11 +21,11 @@ def get_addon_name(): ''' Used for logging. ''' - return xbmcaddon.Addon(addon_id()).getAddonInfo('name').upper() + return xbmcaddon.Addon(ADDON_ID).getAddonInfo('name').upper() def get_version(): - return xbmcaddon.Addon(addon_id()).getAddonInfo('version') + return xbmcaddon.Addon(ADDON_ID).getAddonInfo('version') def get_platform(): diff --git a/jellyfin_kodi/connect.py b/jellyfin_kodi/connect.py index 7566ce90..8ea0831d 100644 --- a/jellyfin_kodi/connect.py +++ b/jellyfin_kodi/connect.py @@ -8,7 +8,7 @@ from kodi_six import xbmc, xbmcaddon 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 .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 @@ -16,7 +16,7 @@ from .helper.exceptions import HTTPException ################################################################################################## LOG = LazyLogger(__name__) -XML_PATH = (xbmcaddon.Addon(addon_id()).getAddonInfo('path'), "default", "1080i") +XML_PATH = (xbmcaddon.Addon(ADDON_ID).getAddonInfo('path'), "default", "1080i") ################################################################################################## @@ -129,7 +129,7 @@ class Connect(object): except RuntimeError as error: LOG.exception(error) - xbmc.executebuiltin('Addon.OpenSettings(%s)' % addon_id()) + xbmc.executebuiltin('Addon.OpenSettings(%s)' % ADDON_ID) raise Exception('User sign in interrupted') diff --git a/jellyfin_kodi/database/jellyfin_db.py b/jellyfin_kodi/database/jellyfin_db.py index a518b830..ce448656 100644 --- a/jellyfin_kodi/database/jellyfin_db.py +++ b/jellyfin_kodi/database/jellyfin_db.py @@ -1,5 +1,8 @@ # -*- coding: utf-8 -*- from __future__ import division, absolute_import, print_function, unicode_literals + +from sqlite3 import Cursor + ################################################################################################# from . import queries as QU @@ -14,9 +17,10 @@ LOG = LazyLogger(__name__) ################################################################################################## -class JellyfinDatabase(): +class JellyfinDatabase: + cursor: Cursor - def __init__(self, cursor): + def __init__(self, cursor: Cursor) -> None: self.cursor = cursor cursor.row_factory = sqlite_namedtuple_factory diff --git a/jellyfin_kodi/dialogs/context.py b/jellyfin_kodi/dialogs/context.py index 6d48a503..0dec28c4 100644 --- a/jellyfin_kodi/dialogs/context.py +++ b/jellyfin_kodi/dialogs/context.py @@ -8,7 +8,7 @@ import os from kodi_six import xbmcgui, xbmcaddon from six import ensure_text -from ..helper import window, addon_id +from ..helper import window, ADDON_ID from ..helper import LazyLogger ################################################################################################## @@ -73,7 +73,7 @@ class ContextMenu(xbmcgui.WindowXMLDialog): def _add_editcontrol(self, x, y, height, width, password=0): - media = os.path.join(xbmcaddon.Addon(addon_id()).getAddonInfo('path'), 'resources', 'skins', 'default', 'media') + media = os.path.join(xbmcaddon.Addon(ADDON_ID).getAddonInfo('path'), 'resources', 'skins', 'default', 'media') control = xbmcgui.ControlImage(0, 0, 0, 0, filename=os.path.join(media, "white.png"), aspectRatio=0, diff --git a/jellyfin_kodi/helper/__init__.py b/jellyfin_kodi/helper/__init__.py index 4aa02574..3fd7164a 100644 --- a/jellyfin_kodi/helper/__init__.py +++ b/jellyfin_kodi/helper/__init__.py @@ -4,7 +4,7 @@ from .lazylogger import LazyLogger from .translate import translate -from .utils import addon_id +from .utils import ADDON_ID from .utils import window from .utils import settings from .utils import kodi_version diff --git a/jellyfin_kodi/helper/utils.py b/jellyfin_kodi/helper/utils.py index 798e00ae..aefb275d 100644 --- a/jellyfin_kodi/helper/utils.py +++ b/jellyfin_kodi/helper/utils.py @@ -29,11 +29,10 @@ LOG = LazyLogger(__name__) ################################################################################################# -def addon_id(): - return "plugin.video.jellyfin" +ADDON_ID = "plugin.video.jellyfin" -def kodi_version(): +def kodi_version() -> int: # Kodistubs returns empty string, causing Python 3 tests to choke on int() # TODO: Make Kodistubs version configurable for testing purposes if sys.version_info.major == 2: @@ -84,7 +83,7 @@ def settings(setting, value=None): ''' Get or add add-on settings. getSetting returns unicode object. ''' - addon = xbmcaddon.Addon(addon_id()) + addon = xbmcaddon.Addon(ADDON_ID) if value is not None: if setting.endswith('.bool'): diff --git a/typings/jellyfin_kodi/database/jellyfin_db.pyi b/typings/jellyfin_kodi/database/jellyfin_db.pyi deleted file mode 100644 index 2cfc2a3d..00000000 --- a/typings/jellyfin_kodi/database/jellyfin_db.pyi +++ /dev/null @@ -1,39 +0,0 @@ -from sqlite3 import Cursor -from typing import Any, List, Optional, NamedTuple - - -class ViewRow(NamedTuple): - view_id: str - view_name: str - media_type: str - - -class JellyfinDatabase: - cursor: Cursor = ... - def __init__(self, cursor: Cursor) -> None: ... - def get_view(self, *args: Any) -> Optional[ViewRow]: ... - def get_views(self) -> List[ViewRow]: ... - - # def get_item_by_id(self, *args: Any): ... - # def add_reference(self, *args: Any) -> None: ... - # def update_reference(self, *args: Any) -> None: ... - # def update_parent_id(self, *args: Any) -> None: ... - # def get_item_id_by_parent_id(self, *args: Any): ... - # def get_item_by_parent_id(self, *args: Any): ... - # def get_item_by_media_folder(self, *args: Any): ... - # def get_item_by_wild_id(self, item_id: Any): ... - # def get_checksum(self, *args: Any): ... - # def get_item_by_kodi_id(self, *args: Any): ... - # def get_full_item_by_kodi_id(self, *args: Any): ... - # def get_media_by_id(self, *args: Any): ... - # def get_media_by_parent_id(self, *args: Any): ... - # def remove_item(self, *args: Any) -> None: ... - # def remove_items_by_parent_id(self, *args: Any) -> None: ... - # def remove_item_by_kodi_id(self, *args: Any) -> None: ... - # def remove_wild_item(self, item_id: Any) -> None: ... - # def get_view_name(self, item_id: Any): ... - # def add_view(self, *args: Any) -> None: ... - # def remove_view(self, *args: Any) -> None: ... - # def get_views_by_media(self, *args: Any): ... - # def get_items_by_media(self, *args: Any): ... - # def remove_media_by_parent_id(self, *args: Any) -> None: ... diff --git a/typings/jellyfin_kodi/helper/utils.pyi b/typings/jellyfin_kodi/helper/utils.pyi deleted file mode 100644 index 3629bba0..00000000 --- a/typings/jellyfin_kodi/helper/utils.pyi +++ /dev/null @@ -1 +0,0 @@ -def kodi_version(self) -> int: ...