diff --git a/jellyfin_kodi/helper/__init__.py b/jellyfin_kodi/helper/__init__.py index 1033787c..b07a518c 100644 --- a/jellyfin_kodi/helper/__init__.py +++ b/jellyfin_kodi/helper/__init__.py @@ -13,6 +13,7 @@ from .utils import dialog from .utils import find from .utils import event from .utils import validate +from .utils import validate_bluray_dir from .utils import values from .utils import JSONRPC from .utils import compare_version diff --git a/jellyfin_kodi/helper/utils.py b/jellyfin_kodi/helper/utils.py index 9423d4cc..47dbeb05 100644 --- a/jellyfin_kodi/helper/utils.py +++ b/jellyfin_kodi/helper/utils.py @@ -261,6 +261,21 @@ def validate(path): return True +def validate_bluray_dir(path): + + ''' Verify if path/BDMV/ is accessible. + ''' + + path = path + '/BDMV/' + + if not xbmcvfs.exists(path): + return False + + window('jellyfin_pathverified.bool', True) + + return True + + def values(item, keys): ''' Grab the values in the item for a list of keys {key},{key1}.... diff --git a/jellyfin_kodi/objects/movies.py b/jellyfin_kodi/objects/movies.py index b3a7dc5b..d28f8e8a 100644 --- a/jellyfin_kodi/objects/movies.py +++ b/jellyfin_kodi/objects/movies.py @@ -8,7 +8,7 @@ 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, jellyfin_item, library_check, values, Local +from helper import api, stop, validate, validate_bluray_dir, jellyfin_item, library_check, values, Local from helper import LazyLogger from .obj import Objects @@ -176,6 +176,11 @@ class Movies(KodiDb): raise Exception("Failed to validate path. User stopped.") obj['Path'] = obj['Path'].replace(obj['Filename'], "") + '''check bluray directries and point it to ./BDMV/index.bdmv''' + if validate_bluray_dir(obj['Path'] + obj['Filename']): + obj['Path'] = obj['Path'] + obj['Filename'] + '/BDMV/' + obj['Filename'] = 'index.bdmv' + LOG.debug("Bluray directry %s",obj['Path']) else: obj['Path'] = "plugin://plugin.video.jellyfin/%s/" % obj['LibraryId']