From 392c0f6647158f31e6e33b2fd21377fc5fd6c6b8 Mon Sep 17 00:00:00 2001 From: newt-sc <47229722+newt-sc@users.noreply.github.com> Date: Sat, 19 Aug 2023 17:09:14 +0300 Subject: [PATCH] release: v3.4.0 --- .githooks/pre-commit | 2 +- .github/workflows/ci.yml | 15 +++++---------- CHANGELOG.md | 3 +++ a4kSubtitles/search.py | 32 +++++++++++++++++++++++++++++++- addon.xml | 5 ++++- packages/addons.xml | 5 ++++- packages/addons.xml.crc | 2 +- 7 files changed, 49 insertions(+), 15 deletions(-) diff --git a/.githooks/pre-commit b/.githooks/pre-commit index 7d846bd..1d188f8 100755 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -11,7 +11,7 @@ addon=$(tail -n +2 addon.xml) printf "$prefix\n$addon\n$suffix\n" > packages/addons.xml cat packages/addons.xml | shasum | awk '{print $1}' > packages/addons.xml.crc -truncate --size -1 packages/addons.xml.crc +truncate -s -1 packages/addons.xml.crc python ./scripts/update_changelog.py diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c7c3821..37e5175 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,22 +22,17 @@ jobs: python3 ./scripts/validate_commit.py build: - runs-on: ubuntu-latest + runs-on: windows-latest needs: validate - strategy: - matrix: - python-version: [2.7, 3.8] - max-parallel: 1 - steps: - uses: actions/checkout@v2 if: "!startsWith(needs.validate.outputs.commit, 'chore:')" - - name: setup-python-v${{ matrix.python-version }} + - name: setup-python if: "!startsWith(needs.validate.outputs.commit, 'chore:')" - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 with: - python-version: ${{ matrix.python-version }} + python-version: 3.8 - name: install if: "!startsWith(needs.validate.outputs.commit, 'chore:')" @@ -56,7 +51,7 @@ jobs: coverage run -m pytest -v - name: coverage - if: "!startsWith(needs.validate.outputs.commit, 'chore:') && matrix.python-version == 3.8" + if: "!startsWith(needs.validate.outputs.commit, 'chore:')" env: COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} run: | diff --git a/CHANGELOG.md b/CHANGELOG.md index 567fbd6..f996651 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +* [v3.4.0](https://github.com/newt-sc/a4kSubtitles/releases/tag/service.subtitles.a4ksubtitles%2Fservice.subtitles.a4ksubtitles-3.4.0): + * Improve results ordering + * [v3.3.0](https://github.com/newt-sc/a4kSubtitles/releases/tag/service.subtitles.a4ksubtitles%2Fservice.subtitles.a4ksubtitles-3.3.0): * Improve Subscene support diff --git a/a4kSubtitles/search.py b/a4kSubtitles/search.py index d9c2336..3810921 100644 --- a/a4kSubtitles/search.py +++ b/a4kSubtitles/search.py @@ -120,11 +120,41 @@ def __prepare_results(core, meta, results): results = __apply_language_filter(meta, results) results = __sanitize_results(core, meta, results) + release = ['webdl', 'webdlrip', 'web', 'webrip', 'webr', 'webcap', + 'bluray', 'bdrip', 'brip', 'brrip', 'bdmv', 'bd', 'remux', 'bdremux', 'uhdremux', 'uhdbdremux', 'uhdbluray', + 'dvd', 'dvd5', 'dvd9', 'dvdr', 'dvdrip', 'dvdscr', 'scr', 'screener', 'r5', 'r6', 'bdscr', 'bdscr', + 'avi', 'mp4', 'mkv', 'ts', 'm2ts', 'mts', 'mpeg', 'mpg', 'mov', 'wmv', 'flv', 'vob'] + quality = ['4k', '2160p', '1080p', '720p', '480p', '360p', '240p', '144p'] + service = ['amzn', 'hmax', 'max', 'nf', 'crav', 'dsnp', 'atvp', 'pcok', 'cr', 'sho', 'stan', 'tbs', 'tnt', 'usa', 'hbo', 'bbc', 'sky', 'skyq', + 'netflix', 'amazon', 'primevideo', 'hulu', 'crunchyroll', 'disney', 'disneyplus', 'hbonow', 'hbogo', 'hbomax', 'cbs'] + 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'] + + filename = meta.filename.lower() + nameparts = core.re.split(r'[.:;()\[\]{}\\\/\s\&€\#\=\$\?\!%\+\-_\\*]', filename) + + release_list = [i for i in nameparts if i in release] + service_list = [i for i in nameparts if i in service] + quality_list = [i for i in nameparts if i in quality] + codec_list = [i for i in nameparts if i in codec] + audio_list = [i for i in nameparts if i in audio] + 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', - -core.difflib.SequenceMatcher(None, x['name'].lower(), meta.filename).ratio(), + -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'], diff --git a/addon.xml b/addon.xml index 7ead7e4..63d4816 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.4.0]: + * Improve results ordering + [v3.3.0]: * Improve Subscene support diff --git a/packages/addons.xml b/packages/addons.xml index 41613e1..2a63cbe 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.4.0]: + * Improve results ordering + [v3.3.0]: * Improve Subscene support diff --git a/packages/addons.xml.crc b/packages/addons.xml.crc index 1b2c429..7399ccb 100644 --- a/packages/addons.xml.crc +++ b/packages/addons.xml.crc @@ -1 +1 @@ -987317e4c323b196e55eb76650a30619b6fd9e7a \ No newline at end of file +b9dd03a9381328d2c9a9811520f26837f95ab4ec \ No newline at end of file