From 4055031671eaacc65d877d74b87edac9002cebd8 Mon Sep 17 00:00:00 2001 From: CaTz-laptop Date: Sat, 8 Nov 2014 13:27:58 +0200 Subject: [PATCH] - Bug fix, add slash or backslash at the end of path (fix xbmcvfs.exists in Helix) - Add support for preferred language in Helix --- addon.xml | 2 +- changelog.txt | 4 ++++ resources/lib/SUBUtilities.py | 14 ++++++++------ service.py | 2 ++ 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/addon.xml b/addon.xml index 7672eb5..fe41a24 100644 --- a/addon.xml +++ b/addon.xml @@ -1,7 +1,7 @@ diff --git a/changelog.txt b/changelog.txt index a12c0a3..0d92f8f 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,7 @@ +4.3.0 - by CaTz 08/11/2014 +- Bug fix, add slash or backslash at the end of path (fix xbmcvfs.exists in Helix) +- Add support for preferred language in Helix + 4.2.3 - by CaTz 12/08/2014 - Removes country identifier at the end of the title diff --git a/resources/lib/SUBUtilities.py b/resources/lib/SUBUtilities.py index 32c1c79..5604261 100644 --- a/resources/lib/SUBUtilities.py +++ b/resources/lib/SUBUtilities.py @@ -28,14 +28,14 @@ __scriptname__ = __addon__.getAddonInfo('name') __language__ = __addon__.getLocalizedString __profile__ = unicode(xbmc.translatePath(__addon__.getAddonInfo('profile')), 'utf-8') -__temp__ = unicode(xbmc.translatePath(os.path.join(__profile__, 'temp')), 'utf-8') +__temp__ = unicode(xbmc.translatePath(os.path.join(__profile__, 'temp', '')), 'utf-8') cache = StorageServer.StorageServer(__scriptname__, int(24 * 364 / 2)) # 6 months regexHelper = re.compile('\W+', re.UNICODE) -#=============================================================================== +# =============================================================================== # Private utility functions -#=============================================================================== +# =============================================================================== def normalizeString(str): return unicodedata.normalize( 'NFKD', unicode(unicode(str, 'utf-8')) @@ -226,7 +226,7 @@ def _build_movie_subtitle_list(self, search_results, item): for it in ret: it["rating"] = str(int(round(it["rating"] / float(total_downloads), 1) * 5)) - return sorted(ret, key=lambda x: (x['lang_index'], x['sync'], x['rating']), reverse=True) + return sorted(ret, key=lambda x: (x['is_preferred'], x['lang_index'], x['sync'], x['rating']), reverse=True) def _build_tvshow_subtitle_list(self, search_results, item): ret = [] @@ -298,7 +298,7 @@ def _build_tvshow_subtitle_list(self, search_results, item): for it in ret: it["rating"] = str(int(round(it["rating"] / float(total_downloads), 1) * 5)) - return sorted(ret, key=lambda x: (x['lang_index'], x['sync'], x['rating']), reverse=True) + return sorted(ret, key=lambda x: (x['is_preferred'], x['lang_index'], x['sync'], x['rating']), reverse=True) def _retrive_subtitles(self, page, item): ret = [] @@ -324,7 +324,9 @@ def _retrive_subtitles(self, page, item): 'id': subtitle_id, 'rating': int(downloads.replace(",", "")), 'sync': subtitle_rate >= 3.8, - 'hearing_imp': 0 + 'hearing_imp': 0, + 'is_preferred': + xbmc.convertLanguage(heb_to_eng(language), xbmc.ISO_639_2) == item['preferredlanguage'] }) return ret, total_downloads diff --git a/service.py b/service.py index 9d3f086..96b5860 100644 --- a/service.py +++ b/service.py @@ -111,6 +111,8 @@ def get_params(string=""): item['file_original_path'] = urllib.unquote( unicode(xbmc.Player().getPlayingFile(),'utf-8')) # Full path of a playing file item['3let_language'] = [] + item['preferredlanguage'] = unicode(urllib.unquote(params.get('preferredlanguage', '')), 'utf-8') + item['preferredlanguage'] = xbmc.convertLanguage(item['preferredlanguage'], xbmc.ISO_639_2) for lang in unicode(urllib.unquote(params['languages']),'utf-8').split(","): item['3let_language'].append(xbmc.convertLanguage(lang, xbmc.ISO_639_2))