From 8549bafa6fc36b71fc94e6387abd5c6c9aa4eada Mon Sep 17 00:00:00 2001 From: Yannick Plassiard Date: Tue, 28 Dec 2021 11:02:36 +0100 Subject: [PATCH] Update NVDA compatibility to QVDA 2021.3 and fix little update issues --- README.md | 2 +- addon/doc/en/readme.md | 3 ++- addon/globalPlugins/translate/__init__.py | 2 +- addon/globalPlugins/translate/updater.py | 14 ++++++++++++-- buildVars.py | 4 ++-- 5 files changed, 18 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index f57ddce..307210c 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # nvda-translate Make NVDA translate any spoken text to the desired language. ## Download -- Stable (NVDA 2021.1): [translate-2021.06.1](http://www.mtyp.fr/nvda/translate/translate-2021.06.1.nvda-addon). +- Stable (NVDA 2021.1+): [translate-2021.12.28](http://www.mtyp.fr/nvda/translate/translate-2021.12.28.nvda-addon). - Discontinued (NVDA 2019.3 to 2020.4): [translate-2021.01.3](http://www.mtyp.fr/nvda/translate/translate-2021.01.3.nvda-addon). ## Installation diff --git a/addon/doc/en/readme.md b/addon/doc/en/readme.md index 4bcce37..f57ddce 100644 --- a/addon/doc/en/readme.md +++ b/addon/doc/en/readme.md @@ -1,7 +1,8 @@ # nvda-translate Make NVDA translate any spoken text to the desired language. ## Download -- Stable (NVDA 2019.3+): [translate-2021.06.1](http://www.mtyp.fr/nvda/translate/translate-2021.06.1.nvda-addon). +- Stable (NVDA 2021.1): [translate-2021.06.1](http://www.mtyp.fr/nvda/translate/translate-2021.06.1.nvda-addon). +- Discontinued (NVDA 2019.3 to 2020.4): [translate-2021.01.3](http://www.mtyp.fr/nvda/translate/translate-2021.01.3.nvda-addon). ## Installation diff --git a/addon/globalPlugins/translate/__init__.py b/addon/globalPlugins/translate/__init__.py index c29239e..51e4d16 100644 --- a/addon/globalPlugins/translate/__init__.py +++ b/addon/globalPlugins/translate/__init__.py @@ -379,7 +379,7 @@ def loadLocalCache(self): # Scan stored files and load them. for entry in os.listdir(path): - m = re.match("(.*)\.json$", entry) + m = re.match("(.*).json$", entry) if m is not None: appName = m.group(1) try: diff --git a/addon/globalPlugins/translate/updater.py b/addon/globalPlugins/translate/updater.py index 4745072..2e782f5 100644 --- a/addon/globalPlugins/translate/updater.py +++ b/addon/globalPlugins/translate/updater.py @@ -1,8 +1,9 @@ # *-* coding: utf-8 *-* import logHandler +import versionInfo import config ADDON_NAME = "translate" -UPDATE_CHECK_INTERVAL = 1200 +UPDATE_CHECK_INTERVAL = 3600 import threading import time @@ -60,7 +61,16 @@ def getLatestVersion(self, mod): target = None for version in mod["versions"]: if version["version"] > actual.version: - target = version + meta = version.get("metadata", None) + logHandler.log.info("Metadata: %s" %(meta)) + if meta is not None and meta != "false" and meta != False: + if meta["minimumNVDAVersion"] > versionInfo.version or meta["lastTestedNVDAVersion"] < versionInfo.version: + logHandler.log.debug("Discarding version %s: incompatible version" %(version["version"])) + continue + if target is not None and target["version"] < version["version"]: + target = version + elif target is None: + target = version return target def download(self, mod): diff --git a/buildVars.py b/buildVars.py index 4e40853..abee89e 100644 --- a/buildVars.py +++ b/buildVars.py @@ -26,7 +26,7 @@ def _(arg): "addon_description": _("""Uses the Google Translate API to translate each spoken text to the desired language, on the fly. This add-on requires an internet connection."""), # version - "addon_version": "2021.06.1", + "addon_version": "2021.12.28", # Author(s) "addon_author": u"Yannick PLASSIARD , Hxebolax", # URL for the add-on documentation support @@ -36,7 +36,7 @@ def _(arg): # Minimum NVDA version supported (e.g. "2018.3.0", minor version is optional) "addon_minimumNVDAVersion": "2021.1", # Last NVDA version supported/tested (e.g. "2018.4.0", ideally more recent than minimum version) - "addon_lastTestedNVDAVersion": "2021.1", + "addon_lastTestedNVDAVersion": "2021.3", # Add-on update channel (default is None, denoting stable releases, # and for development releases, use "dev".) # Do not change unless you know what you are doing!