From ee472c33913d397ff65dcb5e4b8faf8893c1ffb2 Mon Sep 17 00:00:00 2001 From: Michal Paulovic Date: Thu, 18 Oct 2018 14:34:53 +0200 Subject: [PATCH 01/25] add TMDB provider --- resources/settings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/settings.xml b/resources/settings.xml index a42f9f8..7af9814 100755 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -1,7 +1,7 @@ - + From fe3662105dbde1e9b8c86b5bb3d1cf5430743d2f Mon Sep 17 00:00:00 2001 From: roliverosc Date: Tue, 20 Nov 2018 08:59:19 +0100 Subject: [PATCH 02/25] Update addon.xml --- addon.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addon.xml b/addon.xml index bbc518e..9030ca7 100644 --- a/addon.xml +++ b/addon.xml @@ -13,6 +13,8 @@ AutoCompletion for the virtual keyboard (needs skin support) AutoCompletion for the virtual keyboard (needs skin support) + Autocompletar para el teclado virtual (necesita soporte de skin) + Autocompletar para el teclado virtual (necesita soporte de skin) all GNU GENERAL PUBLIC LICENSE Version 2.1, February 1999 https://github.com/phil65/plugin.program.autocompletion From d17a4ecb32451e7c03c7e684771dd2676c3a6bfe Mon Sep 17 00:00:00 2001 From: roliverosc Date: Tue, 20 Nov 2018 09:12:56 +0100 Subject: [PATCH 03/25] Add files via upload --- resources/language/Spanish/strings.po | 40 +++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 resources/language/Spanish/strings.po diff --git a/resources/language/Spanish/strings.po b/resources/language/Spanish/strings.po new file mode 100644 index 0000000..7424c57 --- /dev/null +++ b/resources/language/Spanish/strings.po @@ -0,0 +1,40 @@ +# Kodi language file +# Addon Name: AutoCompletion for virtual keyboard +# Addon id: plugin.program.autocompletion +# Addon version: 1.0.0 +# Addon Provider: phil65 +msgid "" +msgstr "" +"Project-Id-Version: XBMC-Addons\n" +"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n" +"POT-Creation-Date: 2014-10-26 17:05+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" + +msgctxt "Addon Summary" +msgid "AutoCompletion provider" +msgstr "Proveedor de autocompletado" + +msgctxt "Addon Description" +msgid "" +"This script offers various possibilities to display online content inside " +"Needs skin support for most functions." +msgstr "" + +msgctxt "#32001" +msgid "Autocompletion" +msgstr "Autocompletado" + +msgctxt "#32002" +msgid "Autocompletion language" +msgstr "Idioma de autocompletado" + +msgctxt "#32003" +msgid "Autocompletion provider" +msgstr "Proveedor de autocompletado" From 93e30fb45a25b6fb760b8e7498718ad12925c20e Mon Sep 17 00:00:00 2001 From: roliverosc Date: Tue, 20 Nov 2018 09:15:47 +0100 Subject: [PATCH 04/25] Update addon.xml --- addon.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addon.xml b/addon.xml index 9030ca7..2615bc4 100644 --- a/addon.xml +++ b/addon.xml @@ -13,8 +13,8 @@ AutoCompletion for the virtual keyboard (needs skin support) AutoCompletion for the virtual keyboard (needs skin support) - Autocompletar para el teclado virtual (necesita soporte de skin) - Autocompletar para el teclado virtual (necesita soporte de skin) + Autocompletar para el teclado virtual (necesita soporte de skin) + Autocompletar para el teclado virtual (necesita soporte de skin) all GNU GENERAL PUBLIC LICENSE Version 2.1, February 1999 https://github.com/phil65/plugin.program.autocompletion From 9440fa9dfa8ef55ed9d97035c00da596a0aa9fed Mon Sep 17 00:00:00 2001 From: roliverosc Date: Mon, 18 Mar 2019 22:24:24 +0100 Subject: [PATCH 05/25] Update strings.po --- resources/language/Spanish/strings.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/language/Spanish/strings.po b/resources/language/Spanish/strings.po index 7424c57..48306ae 100644 --- a/resources/language/Spanish/strings.po +++ b/resources/language/Spanish/strings.po @@ -37,4 +37,4 @@ msgstr "Idioma de autocompletado" msgctxt "#32003" msgid "Autocompletion provider" -msgstr "Proveedor de autocompletado" +msgstr "Proveedor para autocompletado" From 3f816a8d02e5d49b344489eb2a2e9aada4ec8c89 Mon Sep 17 00:00:00 2001 From: finkleandeinhorn <47431670+finkleandeinhorn@users.noreply.github.com> Date: Thu, 16 Jun 2022 14:32:14 -0700 Subject: [PATCH 06/25] Move extension points in addon.xml --- addon.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addon.xml b/addon.xml index bbc518e..190faed 100644 --- a/addon.xml +++ b/addon.xml @@ -5,10 +5,10 @@ - executable + AutoCompletion for the virtual keyboard (needs skin support) From e3a7c472c243666d0c222a29c7449c5600b503c8 Mon Sep 17 00:00:00 2001 From: finkleandeinhorn Date: Fri, 17 Jun 2022 07:01:50 -0700 Subject: [PATCH 07/25] Cleanup of JSON-RPC method --- plugin.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugin.py b/plugin.py index 1ed4519..c74787b 100644 --- a/plugin.py +++ b/plugin.py @@ -18,8 +18,9 @@ def get_kodi_json(method, params): - json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": "%s", "params": %s, "id": 1}' % (method, params)) - json_query = unicode(json_query, 'utf-8', errors='ignore') + query_params = {"jsonrpc": "2.0", "id": 1, "method": method, "params": params} + json_query = xbmc.executeJSONRPC(json.dumps(query_params)) + return json.loads(json_query) From 289e39f2b932d6b8b683a3f73ee5641ac8360ff9 Mon Sep 17 00:00:00 2001 From: finkleandeinhorn Date: Fri, 17 Jun 2022 06:55:01 -0700 Subject: [PATCH 08/25] Remove Netflix provider --- resources/settings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/settings.xml b/resources/settings.xml index 7af9814..bfe0657 100755 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -1,7 +1,7 @@ - + From 44841bce86f357bcbb38bdbf854fff13fd9aef7f Mon Sep 17 00:00:00 2001 From: finklendeinhorn Date: Fri, 17 Jun 2022 09:04:58 -0700 Subject: [PATCH 09/25] Fix translations --- .../strings.po | 0 .../strings.po | 0 .../strings.po} | 0 .../strings.po | 0 .../strings.po | 78 +++++++++---------- 5 files changed, 39 insertions(+), 39 deletions(-) rename resources/language/{English => resource.language.en_gb}/strings.po (100%) rename resources/language/{Spanish => resource.language.es_es}/strings.po (100%) rename resources/language/{French => resource.language.fr_fr/strings.po} (100%) rename resources/language/{Hebrew => resource.language.he_il}/strings.po (100%) rename resources/language/{Italian => resource.language.it_it}/strings.po (96%) diff --git a/resources/language/English/strings.po b/resources/language/resource.language.en_gb/strings.po similarity index 100% rename from resources/language/English/strings.po rename to resources/language/resource.language.en_gb/strings.po diff --git a/resources/language/Spanish/strings.po b/resources/language/resource.language.es_es/strings.po similarity index 100% rename from resources/language/Spanish/strings.po rename to resources/language/resource.language.es_es/strings.po diff --git a/resources/language/French b/resources/language/resource.language.fr_fr/strings.po similarity index 100% rename from resources/language/French rename to resources/language/resource.language.fr_fr/strings.po diff --git a/resources/language/Hebrew/strings.po b/resources/language/resource.language.he_il/strings.po similarity index 100% rename from resources/language/Hebrew/strings.po rename to resources/language/resource.language.he_il/strings.po diff --git a/resources/language/Italian/strings.po b/resources/language/resource.language.it_it/strings.po similarity index 96% rename from resources/language/Italian/strings.po rename to resources/language/resource.language.it_it/strings.po index cb56b76..a7f0b12 100644 --- a/resources/language/Italian/strings.po +++ b/resources/language/resource.language.it_it/strings.po @@ -1,40 +1,40 @@ -# Kodi language file -# Addon Name: AutoCompletion for virtual keyboard -# Addon id: plugin.program.autocompletion -# Addon version: 1.0.0 -# Addon Provider: phil65 -msgid "" -msgstr "" -"Project-Id-Version: XBMC-Addons\n" -"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n" -"POT-Creation-Date: 2014-10-26 17:05+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE\n" -"Language: it\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -msgctxt "Addon Summary" -msgid "AutoCompletion provider" -msgstr "Provider di AutoCompletamento" - -msgctxt "Addon Description" -msgid "" -"This script offers various possibilities to display online content inside " -"Needs skin support for most functions." -msgstr "" - -msgctxt "#32001" -msgid "Autocompletion" -msgstr "Autocompletamento" - -msgctxt "#32002" -msgid "Autocompletion language" -msgstr "Linguaggio di autocompletamento" - -msgctxt "#32003" -msgid "Autocompletion provider" +# Kodi language file +# Addon Name: AutoCompletion for virtual keyboard +# Addon id: plugin.program.autocompletion +# Addon version: 1.0.0 +# Addon Provider: phil65 +msgid "" +msgstr "" +"Project-Id-Version: XBMC-Addons\n" +"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n" +"POT-Creation-Date: 2014-10-26 17:05+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" + +msgctxt "Addon Summary" +msgid "AutoCompletion provider" +msgstr "Provider di AutoCompletamento" + +msgctxt "Addon Description" +msgid "" +"This script offers various possibilities to display online content inside " +"Needs skin support for most functions." +msgstr "" + +msgctxt "#32001" +msgid "Autocompletion" +msgstr "Autocompletamento" + +msgctxt "#32002" +msgid "Autocompletion language" +msgstr "Linguaggio di autocompletamento" + +msgctxt "#32003" +msgid "Autocompletion provider" msgstr "Provider di autocompletamento" \ No newline at end of file From 3a9c3890cc53d05711dc7b395f2c4c109f925fd9 Mon Sep 17 00:00:00 2001 From: finkleandeinhorn Date: Fri, 17 Jun 2022 07:00:38 -0700 Subject: [PATCH 10/25] Close extra busy dialogs Fixes crash on Leia and up --- plugin.py | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/plugin.py b/plugin.py index 9a12059..2011724 100755 --- a/plugin.py +++ b/plugin.py @@ -26,22 +26,18 @@ def start_info_actions(infos, params): if info == 'autocomplete': listitems = AutoCompletion.get_autocomplete_items(params["id"], params.get("limit", 10)) elif info == 'selectautocomplete': - if params.get("handle"): - xbmcplugin.setResolvedUrl(handle=int(params.get("handle")), - succeeded=False, - listitem=xbmcgui.ListItem()) - try: - window = xbmcgui.Window(10103) - except Exception: - return None - window.setFocusId(300) - get_kodi_json(method="Input.SendText", - params='{"text":"%s", "done":false}' % params.get("id")) + xbmc.executebuiltin('Dialog.Close(busydialog)') + xbmc.sleep(500) + get_kodi_json( + method="Input.SendText", + params={"text": params.get("id"), "done": False}, + ) return None - # xbmc.executebuiltin("SendClick(103,32)") - pass_list_to_skin(data=listitems, - handle=params.get("handle", ""), - limit=params.get("limit", 20)) + pass_list_to_skin( + data=listitems, + handle=params.get("handle", ""), + limit=params.get("limit", 20), + ) def pass_list_to_skin(data=[], handle=None, limit=False): @@ -51,9 +47,12 @@ def pass_list_to_skin(data=[], handle=None, limit=False): return None if data: items = create_listitems(data) - xbmcplugin.addDirectoryItems(handle=handle, - items=[(i.getProperty("path"), i, False) for i in items], - totalItems=len(items)) + xbmcplugin.addDirectoryItems( + handle=handle, + items=[(i.getProperty("path"), i, False) for i in items], + totalItems=len(items), + ) + xbmc.executebuiltin('Dialog.Close(busydialog)') xbmcplugin.endOfDirectory(handle) From 47a1f343dc169fa4d778dc2e160a40fe4ef19c9b Mon Sep 17 00:00:00 2001 From: finkleandeinhorn Date: Sat, 18 Jun 2022 10:17:08 -0700 Subject: [PATCH 11/25] Add kodi-addon-submitter to CI --- .gitattributes | 8 +++ .github/workflows/addon-submitter.yml | 70 +++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 .gitattributes create mode 100644 .github/workflows/addon-submitter.yml diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..5d3615c --- /dev/null +++ b/.gitattributes @@ -0,0 +1,8 @@ +.gitignore export-ignore +.gitattributes export-ignore +.github export-ignore +__pycache__ export-ignore +*.psd export-ignore +*.pyo export-ignore +*.pyc export-ignore +*.mo export-ignore \ No newline at end of file diff --git a/.github/workflows/addon-submitter.yml b/.github/workflows/addon-submitter.yml new file mode 100644 index 0000000..9a5bbed --- /dev/null +++ b/.github/workflows/addon-submitter.yml @@ -0,0 +1,70 @@ +name: Kodi Addon-Submitter + +on: + create: + tags: + - v* + +jobs: + kodi-addon-submitter: + runs-on: ubuntu-latest + name: Kodi Addon Submitter + steps: + + - name: Checkout + uses: actions/checkout@v1 + + - name: Extract kodi official repository target + id: extract_branch_pr + shell: bash + env: + ADDON_ID: ${{ github.event.repository.name }} + run: | + echo "##[set-output name=branch;]$(git --no-pager branch -a --contains "$GITHUB_SHA" | grep 'remotes/origin/' | cut -d '/' -f3)" + if [[ $ADDON_ID == plugin* ]]; then + echo "##[set-output name=repo;]repo-plugins" + else + echo "##[set-output name=repo;]repo-scripts" + fi + + - name: Kodi addon checker validation + id: kodi-addon-checker + uses: xbmc/action-kodi-addon-checker@v1.2 + with: + kodi-version: ${{ steps.extract_branch_pr.outputs.branch }} + addon-id: ${{ github.event.repository.name }} + is-pr: false + + - name: Generate distribution zip and submit to official kodi repository + id: kodi-addon-submitter + uses: xbmc/action-kodi-addon-submitter@v1.2 + with: # Replace all the below values + kodi-repository: ${{ steps.extract_branch_pr.outputs.repo }} + kodi-version: ${{ steps.extract_branch_pr.outputs.branch }} + addon-id: ${{ github.event.repository.name }} + env: # Make sure you create the below secrets (GH_TOKEN and EMAIL) + GH_USERNAME: ${{ github.repository_owner }} + GH_TOKEN: ${{secrets.GH_TOKEN}} + EMAIL: ${{secrets.EMAIL}} + + - name: Create Github Release + id: create_release + uses: actions/create-release@v1.0.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.ref }} + release_name: Release ${{ github.ref }} + draft: false + prerelease: false + + - name: Upload Addon zip to github release + id: upload-release-asset + uses: actions/upload-release-asset@v1.0.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ${{ steps.kodi-addon-submitter.outputs.addon-zip }} + asset_name: ${{ steps.kodi-addon-submitter.outputs.addon-zip }} + asset_content_type: application/zip \ No newline at end of file From 50ea1dde4fa06bc1c5f7bcba41a0717b1b319ef6 Mon Sep 17 00:00:00 2001 From: finklendeinhorn Date: Fri, 17 Jun 2022 09:33:08 -0700 Subject: [PATCH 12/25] Py3 fixes --- plugin.py | 12 ++++++------ resources/settings.xml | 0 2 files changed, 6 insertions(+), 6 deletions(-) mode change 100755 => 100644 plugin.py mode change 100755 => 100644 resources/settings.xml diff --git a/plugin.py b/plugin.py old mode 100755 new mode 100644 index 2011724..1ed4519 --- a/plugin.py +++ b/plugin.py @@ -3,12 +3,14 @@ # Copyright (C) 2015 - Philipp Temminghoff # This program is Free Software see LICENSE file for details -import sys import xbmc +import xbmcaddon import xbmcgui import xbmcplugin -import xbmcaddon -import simplejson as json + +import json +import sys + import AutoCompletion ADDON = xbmcaddon.Addon() @@ -62,10 +64,9 @@ def create_listitems(data=None): itemlist = [] for (count, result) in enumerate(data): listitem = xbmcgui.ListItem(str(count)) - for (key, value) in result.iteritems(): + for (key, value) in result.items(): if not value: continue - value = unicode(value) if key.lower() in ["label"]: listitem.setLabel(value) elif key.lower() in ["search_string"]: @@ -98,4 +99,3 @@ def create_listitems(data=None): start_info_actions(infos, params) xbmc.log('finished') - diff --git a/resources/settings.xml b/resources/settings.xml old mode 100755 new mode 100644 From 3b1726bdc8059aabfb869944a455477f11e1b656 Mon Sep 17 00:00:00 2001 From: finkleandeinhorn <47431670+finkleandeinhorn@users.noreply.github.com> Date: Fri, 17 Jun 2022 12:29:49 -0700 Subject: [PATCH 13/25] Update addon.xml --- addon.xml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/addon.xml b/addon.xml index 8337495..52c7ab3 100644 --- a/addon.xml +++ b/addon.xml @@ -1,9 +1,8 @@ - + - - - + + executable @@ -11,8 +10,8 @@ - AutoCompletion for the virtual keyboard (needs skin support) - AutoCompletion for the virtual keyboard (needs skin support) + AutoCompletion for the virtual keyboard (needs skin support) + AutoCompletion for the virtual keyboard (needs skin support) Autocompletar para el teclado virtual (necesita soporte de skin) Autocompletar para el teclado virtual (necesita soporte de skin) all @@ -20,7 +19,6 @@ https://github.com/phil65/plugin.program.autocompletion resources/icon.png - resources/fanart.jpg resources/screenshot-01.jpg resources/screenshot-02.jpg resources/screenshot-03.jpg From a5d192444ec9bae0eadbead38f150d277c14433d Mon Sep 17 00:00:00 2001 From: finkleandeinhorn Date: Fri, 17 Jun 2022 07:01:50 -0700 Subject: [PATCH 14/25] Cleanup of JSON-RPC method --- plugin.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugin.py b/plugin.py index 1ed4519..c74787b 100644 --- a/plugin.py +++ b/plugin.py @@ -18,8 +18,9 @@ def get_kodi_json(method, params): - json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": "%s", "params": %s, "id": 1}' % (method, params)) - json_query = unicode(json_query, 'utf-8', errors='ignore') + query_params = {"jsonrpc": "2.0", "id": 1, "method": method, "params": params} + json_query = xbmc.executeJSONRPC(json.dumps(query_params)) + return json.loads(json_query) From 44917e0f3b8047a8e0a56491480d7ff434b23c2c Mon Sep 17 00:00:00 2001 From: finklendeinhorn Date: Fri, 17 Jun 2022 09:04:58 -0700 Subject: [PATCH 15/25] Fix translations --- .../strings.po | 0 .../strings.po | 0 .../strings.po} | 0 .../strings.po | 0 .../strings.po | 78 +++++++++---------- 5 files changed, 39 insertions(+), 39 deletions(-) rename resources/language/{English => resource.language.en_gb}/strings.po (100%) rename resources/language/{Spanish => resource.language.es_es}/strings.po (100%) rename resources/language/{French => resource.language.fr_fr/strings.po} (100%) rename resources/language/{Hebrew => resource.language.he_il}/strings.po (100%) rename resources/language/{Italian => resource.language.it_it}/strings.po (96%) diff --git a/resources/language/English/strings.po b/resources/language/resource.language.en_gb/strings.po similarity index 100% rename from resources/language/English/strings.po rename to resources/language/resource.language.en_gb/strings.po diff --git a/resources/language/Spanish/strings.po b/resources/language/resource.language.es_es/strings.po similarity index 100% rename from resources/language/Spanish/strings.po rename to resources/language/resource.language.es_es/strings.po diff --git a/resources/language/French b/resources/language/resource.language.fr_fr/strings.po similarity index 100% rename from resources/language/French rename to resources/language/resource.language.fr_fr/strings.po diff --git a/resources/language/Hebrew/strings.po b/resources/language/resource.language.he_il/strings.po similarity index 100% rename from resources/language/Hebrew/strings.po rename to resources/language/resource.language.he_il/strings.po diff --git a/resources/language/Italian/strings.po b/resources/language/resource.language.it_it/strings.po similarity index 96% rename from resources/language/Italian/strings.po rename to resources/language/resource.language.it_it/strings.po index cb56b76..a7f0b12 100644 --- a/resources/language/Italian/strings.po +++ b/resources/language/resource.language.it_it/strings.po @@ -1,40 +1,40 @@ -# Kodi language file -# Addon Name: AutoCompletion for virtual keyboard -# Addon id: plugin.program.autocompletion -# Addon version: 1.0.0 -# Addon Provider: phil65 -msgid "" -msgstr "" -"Project-Id-Version: XBMC-Addons\n" -"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n" -"POT-Creation-Date: 2014-10-26 17:05+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE\n" -"Language: it\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -msgctxt "Addon Summary" -msgid "AutoCompletion provider" -msgstr "Provider di AutoCompletamento" - -msgctxt "Addon Description" -msgid "" -"This script offers various possibilities to display online content inside " -"Needs skin support for most functions." -msgstr "" - -msgctxt "#32001" -msgid "Autocompletion" -msgstr "Autocompletamento" - -msgctxt "#32002" -msgid "Autocompletion language" -msgstr "Linguaggio di autocompletamento" - -msgctxt "#32003" -msgid "Autocompletion provider" +# Kodi language file +# Addon Name: AutoCompletion for virtual keyboard +# Addon id: plugin.program.autocompletion +# Addon version: 1.0.0 +# Addon Provider: phil65 +msgid "" +msgstr "" +"Project-Id-Version: XBMC-Addons\n" +"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n" +"POT-Creation-Date: 2014-10-26 17:05+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" + +msgctxt "Addon Summary" +msgid "AutoCompletion provider" +msgstr "Provider di AutoCompletamento" + +msgctxt "Addon Description" +msgid "" +"This script offers various possibilities to display online content inside " +"Needs skin support for most functions." +msgstr "" + +msgctxt "#32001" +msgid "Autocompletion" +msgstr "Autocompletamento" + +msgctxt "#32002" +msgid "Autocompletion language" +msgstr "Linguaggio di autocompletamento" + +msgctxt "#32003" +msgid "Autocompletion provider" msgstr "Provider di autocompletamento" \ No newline at end of file From 1f96ee167ca43b37467b1cd22fe96a4a2faa2248 Mon Sep 17 00:00:00 2001 From: finkleandeinhorn Date: Sat, 18 Jun 2022 11:02:36 -0700 Subject: [PATCH 16/25] Add kodi-addon-submitter to CI --- .gitattributes | 8 +++ .github/workflows/addon-submitter.yml | 70 +++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 .gitattributes create mode 100644 .github/workflows/addon-submitter.yml diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..5d3615c --- /dev/null +++ b/.gitattributes @@ -0,0 +1,8 @@ +.gitignore export-ignore +.gitattributes export-ignore +.github export-ignore +__pycache__ export-ignore +*.psd export-ignore +*.pyo export-ignore +*.pyc export-ignore +*.mo export-ignore \ No newline at end of file diff --git a/.github/workflows/addon-submitter.yml b/.github/workflows/addon-submitter.yml new file mode 100644 index 0000000..1103ce0 --- /dev/null +++ b/.github/workflows/addon-submitter.yml @@ -0,0 +1,70 @@ +name: Kodi Addon-Submitter + +on: + create: + tags: + - v* + +jobs: + kodi-addon-submitter: + runs-on: ubuntu-latest + name: Kodi Addon Submitter + steps: + + - name: Checkout + uses: actions/checkout@v1 + + - name: Extract kodi official repository target + id: extract_branch_pr + shell: bash + env: + ADDON_ID: ${{ github.event.repository.name }} + run: | + echo "##[set-output name=branch;]matrix" + if [[ $ADDON_ID == plugin* ]]; then + echo "##[set-output name=repo;]repo-plugins" + else + echo "##[set-output name=repo;]repo-scripts" + fi + + - name: Kodi addon checker validation + id: kodi-addon-checker + uses: xbmc/action-kodi-addon-checker@v1.2 + with: + kodi-version: ${{ steps.extract_branch_pr.outputs.branch }} + addon-id: ${{ github.event.repository.name }} + is-pr: false + + - name: Generate distribution zip and submit to official kodi repository + id: kodi-addon-submitter + uses: xbmc/action-kodi-addon-submitter@v1.2 + with: # Replace all the below values + kodi-repository: ${{ steps.extract_branch_pr.outputs.repo }} + kodi-version: ${{ steps.extract_branch_pr.outputs.branch }} + addon-id: ${{ github.event.repository.name }} + env: # Make sure you create the below secrets (GH_TOKEN and EMAIL) + GH_USERNAME: ${{ github.repository_owner }} + GH_TOKEN: ${{secrets.GH_TOKEN}} + EMAIL: ${{secrets.EMAIL}} + + - name: Create Github Release + id: create_release + uses: actions/create-release@v1.0.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.ref }} + release_name: Release ${{ github.ref }} + draft: false + prerelease: false + + - name: Upload Addon zip to github release + id: upload-release-asset + uses: actions/upload-release-asset@v1.0.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ${{ steps.kodi-addon-submitter.outputs.addon-zip }} + asset_name: ${{ steps.kodi-addon-submitter.outputs.addon-zip }} + asset_content_type: application/zip \ No newline at end of file From ba35896a73a505fb11600b1ce90fa72c14082e28 Mon Sep 17 00:00:00 2001 From: finkleandeinhorn Date: Sat, 18 Jun 2022 11:06:50 -0700 Subject: [PATCH 17/25] Update addon.xml --- addon.xml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/addon.xml b/addon.xml index 8337495..8de7612 100644 --- a/addon.xml +++ b/addon.xml @@ -1,9 +1,8 @@ - + - - - + + executable @@ -11,8 +10,8 @@ - AutoCompletion for the virtual keyboard (needs skin support) - AutoCompletion for the virtual keyboard (needs skin support) + AutoCompletion for the virtual keyboard (needs skin support) + AutoCompletion for the virtual keyboard (needs skin support) Autocompletar para el teclado virtual (necesita soporte de skin) Autocompletar para el teclado virtual (necesita soporte de skin) all @@ -20,7 +19,6 @@ https://github.com/phil65/plugin.program.autocompletion resources/icon.png - resources/fanart.jpg resources/screenshot-01.jpg resources/screenshot-02.jpg resources/screenshot-03.jpg From 522f5117f65a6030bb82c0a5dd63e8b05cdbef4a Mon Sep 17 00:00:00 2001 From: finkleandeinhorn Date: Mon, 21 Nov 2022 11:11:29 -0800 Subject: [PATCH 18/25] :recycle: - Modernize settings format --- resources/settings.xml | 95 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 89 insertions(+), 6 deletions(-) diff --git a/resources/settings.xml b/resources/settings.xml index bfe0657..e7908b8 100644 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -1,8 +1,91 @@ - - - - - - + +
+ + + + 0 + google + + + + + + + + + false + + + 32003 + + + + + 0 + en + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + 32002 + + + + + local + bing + + + + + + + 0 + en + + + + + + + + false + + + 32002 + + + local + + + + +
From d5d888634ff7fe76c096e01cb9913444359d7664 Mon Sep 17 00:00:00 2001 From: finkleandeinhorn Date: Mon, 21 Nov 2022 11:11:46 -0800 Subject: [PATCH 19/25] :zap: - Performance fixes --- plugin.py | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/plugin.py b/plugin.py index c74787b..1e78646 100644 --- a/plugin.py +++ b/plugin.py @@ -10,6 +10,7 @@ import json import sys +from urllib.parse import parse_qsl import AutoCompletion @@ -35,7 +36,6 @@ def start_info_actions(infos, params): method="Input.SendText", params={"text": params.get("id"), "done": False}, ) - return None pass_list_to_skin( data=listitems, handle=params.get("handle", ""), @@ -45,10 +45,9 @@ def start_info_actions(infos, params): def pass_list_to_skin(data=[], handle=None, limit=False): if data and limit and int(limit) < len(data): - data = data[:int(limit)] - if not handle: - return None - if data: + data = data[: int(limit)] + + if handle and data: items = create_listitems(data) xbmcplugin.addDirectoryItems( handle=handle, @@ -63,15 +62,15 @@ def create_listitems(data=None): if not data: return [] itemlist = [] - for (count, result) in enumerate(data): + for count, result in enumerate(data): listitem = xbmcgui.ListItem(str(count)) - for (key, value) in result.items(): + for key, value in result.items(): if not value: continue if key.lower() in ["label"]: listitem.setLabel(value) elif key.lower() in ["search_string"]: - path = "plugin://plugin.program.autocompletion/?info=selectautocomplete&&id=%s" % value + path = f"plugin://plugin.program.autocompletion/?info=selectautocomplete&id={value}" listitem.setPath(path=path) listitem.setProperty('path', path) listitem.setProperty("index", str(count)) @@ -80,22 +79,17 @@ def create_listitems(data=None): return itemlist -if (__name__ == "__main__"): - xbmc.log("version %s started" % ADDON_VERSION) +if __name__ == "__main__": + xbmc.log(f"version {ADDON_VERSION} started") args = sys.argv[2][1:] handle = int(sys.argv[1]) infos = [] params = {"handle": handle} - delimiter = "&&" - for arg in args.split(delimiter): - param = arg.replace('"', '').replace("'", " ") - if param.startswith('info='): - infos.append(param[5:]) - else: - try: - params[param.split("=")[0].lower()] = "=".join(param.split("=")[1:]).strip() - except Exception: - pass + params.update(dict(parse_qsl(args, keep_blank_values=True))) + + if "info" in params: + infos.append(params['info']) + if infos: start_info_actions(infos, params) From 9387d8a993a5ff469cdd7868dd2efd303417edac Mon Sep 17 00:00:00 2001 From: finkleandeinhorn Date: Mon, 21 Nov 2022 11:13:52 -0800 Subject: [PATCH 20/25] Update addon.xml --- addon.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/addon.xml b/addon.xml index 8de7612..79f8c60 100644 --- a/addon.xml +++ b/addon.xml @@ -1,10 +1,10 @@ - + - + executable @@ -15,8 +15,8 @@ Autocompletar para el teclado virtual (necesita soporte de skin) Autocompletar para el teclado virtual (necesita soporte de skin) all - GNU GENERAL PUBLIC LICENSE Version 2.1, February 1999 - https://github.com/phil65/plugin.program.autocompletion + GPL-2.0-or-later + https://github.com/finkleandeinhorn/script.module.autocompletion resources/icon.png resources/screenshot-01.jpg From c6310139106cc5646378b4990c3a744728d42008 Mon Sep 17 00:00:00 2001 From: finkleandeinhorn Date: Mon, 21 Nov 2022 11:51:19 -0800 Subject: [PATCH 21/25] Nicer settings --- resources/settings.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/settings.xml b/resources/settings.xml index e7908b8..6024ece 100644 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -5,14 +5,14 @@ 0 - google + Google - - - - - + + + + + false From c7c9b6edb629a901bdaaf5d7cb43e3748ade098d Mon Sep 17 00:00:00 2001 From: finkleandeinhorn Date: Mon, 21 Nov 2022 11:51:33 -0800 Subject: [PATCH 22/25] Update addon.xml --- addon.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addon.xml b/addon.xml index 79f8c60..0841363 100644 --- a/addon.xml +++ b/addon.xml @@ -1,5 +1,5 @@ - + From 0ce9d93df2e1d8fff9591bed1f70e790c222e949 Mon Sep 17 00:00:00 2001 From: finkleandeinhorn Date: Sun, 18 Dec 2022 15:29:20 -0800 Subject: [PATCH 23/25] :bug: - Fix bug in start_info_actions --- plugin.py | 1 + 1 file changed, 1 insertion(+) diff --git a/plugin.py b/plugin.py index 1e78646..8d2c8eb 100644 --- a/plugin.py +++ b/plugin.py @@ -26,6 +26,7 @@ def get_kodi_json(method, params): def start_info_actions(infos, params): + listitems = [] for info in infos: if info == 'autocomplete': listitems = AutoCompletion.get_autocomplete_items(params["id"], params.get("limit", 10)) From e818210be023f19657ec1b8a4e2810989934def6 Mon Sep 17 00:00:00 2001 From: finkleandeinhorn Date: Sun, 18 Dec 2022 15:29:48 -0800 Subject: [PATCH 24/25] :children_crossing: - Focus Enter after choice --- plugin.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugin.py b/plugin.py index 8d2c8eb..2cad226 100644 --- a/plugin.py +++ b/plugin.py @@ -37,6 +37,8 @@ def start_info_actions(infos, params): method="Input.SendText", params={"text": params.get("id"), "done": False}, ) + xbmc.executebuiltin('ActivateWindowAndFocus(virtualkeyboard,300,0)') + pass_list_to_skin( data=listitems, handle=params.get("handle", ""), From 094751278b6baf18ae2a8292744489561791c776 Mon Sep 17 00:00:00 2001 From: finkleandeinhorn Date: Sun, 18 Dec 2022 15:29:58 -0800 Subject: [PATCH 25/25] :bookmark: - Update to 2.1.2 --- addon.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addon.xml b/addon.xml index 6d48bb1..a3a5ba1 100644 --- a/addon.xml +++ b/addon.xml @@ -1,5 +1,5 @@ - +