diff --git a/CHANGELOG.md b/CHANGELOG.md index f996651..35694f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +* [v3.5.0](https://github.com/newt-sc/a4kSubtitles/releases/tag/service.subtitles.a4ksubtitles%2Fservice.subtitles.a4ksubtitles-3.5.0): + * URI decode result names + * [v3.4.0](https://github.com/newt-sc/a4kSubtitles/releases/tag/service.subtitles.a4ksubtitles%2Fservice.subtitles.a4ksubtitles-3.4.0): * Improve results ordering diff --git a/a4kSubtitles/search.py b/a4kSubtitles/search.py index 3810921..7ad447e 100644 --- a/a4kSubtitles/search.py +++ b/a4kSubtitles/search.py @@ -130,9 +130,9 @@ def __prepare_results(core, meta, results): codec = ['x264', 'x265', '264', '265', 'h265', 'h264', 'hevc', 'avc', 'av1', 'vp9', 'vp8', 'divx', 'xvid'] audio = ['dts', 'dtshd', 'atmos', 'truehd', 'aac', 'ac', 'dd', 'ddp', 'ddp5', 'dd5', 'dd2', 'dd1', 'dd7', 'ddp7'] color = ['8bit', '10bit', '12bit'] - extra = ['extended', 'cut', 'dc', 'remastered', 'hd'] + extra = ['extended', 'cut', 'dc', 'remastered'] - filename = meta.filename.lower() + filename = core.utils.unquote(meta.filename.lower()) nameparts = core.re.split(r'[.:;()\[\]{}\\\/\s\&€\#\=\$\?\!%\+\-_\\*]', filename) release_list = [i for i in nameparts if i in release] @@ -143,22 +143,25 @@ def __prepare_results(core, meta, results): color_list = [i for i in nameparts if i in color] extra_list = [i for i in nameparts if i in extra] - sorter = lambda x: ( - not x['lang'] == meta.preferredlanguage, - meta.languages.index(x['lang']), - not x['sync'] == 'true', - -sum(word in x['name'].lower() for word in release_list) * 10, - -sum(word in x['name'].lower() for word in service_list) * 10, - -sum(word in x['name'].lower() for word in quality_list) * 10, - -sum(word in x['name'].lower() for word in codec_list) * 10, - -sum(word in x['name'].lower() for word in audio_list) * 2, - -sum(word in x['name'].lower() for word in color_list) * 2, - -sum(word in x['name'].lower() for word in extra_list) * 2, - -core.difflib.SequenceMatcher(None, x['name'].lower(), filename).ratio(), - -x['rating'], - not x['impaired'] == 'true', - x['service'], - ) + def sorter(x): + name = core.utils.unquote(x['name'].lower()) + + return ( + not x['lang'] == meta.preferredlanguage, + meta.languages.index(x['lang']), + not x['sync'] == 'true', + -sum(word in name for word in release_list) * 10, + -sum(word in name for word in service_list) * 10, + -sum(word in name for word in quality_list) * 10, + -sum(word in name for word in codec_list) * 10, + -sum(word in name for word in audio_list) * 2, + -sum(word in name for word in color_list) * 2, + -sum(word in name for word in extra_list) * 2, + -core.difflib.SequenceMatcher(None, name, filename).ratio(), + -x['rating'], + not x['impaired'] == 'true', + x['service'], + ) results = sorted(results, key=sorter) results = __apply_limit(core, results, meta) diff --git a/addon.xml b/addon.xml index 63d4816..ff8dfc8 100644 --- a/addon.xml +++ b/addon.xml @@ -1,7 +1,7 @@ @@ -27,6 +27,9 @@ Supports: OpenSubtitles, BSPlayer, Podnadpisi.NET, Subscene, Addic7ed screenshot-03.png +[v3.5.0]: + * URI decode result names + [v3.4.0]: * Improve results ordering diff --git a/packages/addons.xml b/packages/addons.xml index 2a63cbe..3b34c1b 100644 --- a/packages/addons.xml +++ b/packages/addons.xml @@ -4,7 +4,7 @@ @@ -30,6 +30,9 @@ Supports: OpenSubtitles, BSPlayer, Podnadpisi.NET, Subscene, Addic7ed screenshot-03.png +[v3.5.0]: + * URI decode result names + [v3.4.0]: * Improve results ordering diff --git a/packages/addons.xml.crc b/packages/addons.xml.crc index 7399ccb..6a12007 100644 --- a/packages/addons.xml.crc +++ b/packages/addons.xml.crc @@ -1 +1 @@ -b9dd03a9381328d2c9a9811520f26837f95ab4ec \ No newline at end of file +ec54d2adf3cd37ce5a0ab4b42a207bc2466635e3 \ No newline at end of file