Skip to content

Commit

Permalink
Versi├│n 0.8.2
Browse files Browse the repository at this point in the history
  • Loading branch information
hxebolax committed May 16, 2022
1 parent ca89768 commit 313edfc
Show file tree
Hide file tree
Showing 11 changed files with 675 additions and 350 deletions.
77 changes: 73 additions & 4 deletions addon/doc/ru/readme.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,21 @@
## Руководство магазина для NVDA.ES
## Как использовать
### Как использовать

Дополнение поставляется без назначенных команд для ярлыков, и мы можем назначить команды для этих ярлыков:

* Показать окно со всеми дополнениями и информацией о них: Это покажет нам окно со всеми дополнениями, которые у нас есть в https:www.nvda.es.
* Показать окно со всеми дополнениями и информацией о них: Это покажет нам окно со всеми дополнениями, которые у нас есть в nvda.es.

* Проверка обновлений установленных дополнений: магазин проанализирует установленные дополнения и, если обнаружит обновление, предложит нам возможность обновить их автоматически.

Мы можем назначить клавиатурные команды для этих двух опций, зайдя в меню NVDA / Параметры / Жесты ввода и поискать Магазин NVDA.ES.


* Автор: Héctor J. Benítez Corredera
* [[email protected]](mailto:[email protected])
* [Страница дополнения на GitHub](https://github.com/hxebolax/Tienda-para-NVDA)
* Минимальная версия NVDA 2019.3.0
* Последняя протестированная версия NVDA 2022.1.0

### Отображение окна со всеми дополнениями и информацией о них.

На этом экране мы увидим все дополнения с вкладкой и возможностью перейти в их репозиторий и загрузить.
Expand All @@ -34,7 +41,7 @@

#### Контекстное меню в списке дополнений

В списке дополнений можно открыть контекстное меню либо с помощью клавиши Applications на нашей клавиатуре, либо Shift + F10 для тех клавиатур, на которых нет клавиши Applications.
В списке дополнений можно открыть контекстное меню либо с помощью клавиши Applications на обычной клавиатуре, либо Shift + F10 для тех клавиатур, на которых нет клавиши Applications.

Это меню состоит из двух подменю:

Expand Down Expand Up @@ -78,7 +85,7 @@

### Проверка обновлений установленных дополнений

Она позволит нам обновить те дополнения, которые в https://www.nvda.es являются более новыми, чем те, которые установлены на нашем компьютере.
Она позволит нам обновить те дополнения, которые в https://www.nvda.es являются более новыми, чем те, которые установлены в нашем оборудовании.

На этом экране мы сможем выбрать в случае наличия обновлений те дополнения, которые мы хотим обновить.

Expand Down Expand Up @@ -175,6 +182,68 @@

## Журнал изменений.

## Версия 0.8.1.

* Исправлена проблема при подключении к серверу без плагинов.
* Исправлена загрузка с новых серверов
* Исправлено подключение к публичным и частным Onion-серверам через прокси.

## Версия 0.8.

* Добавлена возможность добавления пользовательских URL репозиториев дополнений.

Эта новая возможность пригодится для добавления репозиториев, которые используют менеджер плагинов, используемый nvda.es. Для получения дополнительной информации посетите репозиторий Github:

[https://github.com/nvda-es/advancedAddonFiles](https://github.com/nvda-es/advancedAddonFiles)

Любой, кто использует это приложение для создания хранилища, теперь сможет добавить его URL в Магазин.

В опциях магазина вам будет предложено комбинированное окно, в котором вы можете выбрать сервер, который вы хотите использовать по умолчанию.

При первом запуске опций будет только сервер испаноязычного сообщества, чтобы сказать, что этот сервер не может быть изменен или удален, поэтому он всегда будет присутствовать.

На вкладке у нас будет кнопка для управления серверами, при нажатии на которую откроется окно, где мы сможем добавлять, редактировать или удалять серверы.

Если мы нажмем на кнопку Добавить, откроется окно, в котором нам нужно будет заполнить имя, которое мы хотим использовать для сервера, и url сервера.

Если мы редактируем, открывается окно с данными сервера, который мы выбрали в списке, чтобы их можно было изменить.

Если мы удалим, нас предупредят сообщением о том, что действие не обратимо, поэтому если мы нажмем "Да", выбранный сервер будет удален.

После добавления серверов и закрытия окна управления серверами мы можем выбрать нужный нам сервер в комбинированном окне. При выборе сервера будет обновляться статус установленных дополнений, находящихся на сервере, добавляя в поле только те дополнения, которые на данный момент обслуживает сервер и установлены у нас.

Это поле предназначено для каждого сервера, поэтому если в испаноязычном сообществе у нас есть пользовательские настройки в наших дополнениях, такие как предотвращение обновления любого или другого канала обновления, это будет работать только тогда, когда мы выбираем этот сервер.

Остальные опции в Магазине являются глобальными.

Сервер, который мы выбираем в опциях магазина, будет использоваться по умолчанию каждый раз, когда мы запускаем NVDA и Магазин дополнений.

Также в главное окно Магазина добавлена возможность быстрого переключения серверов без необходимости заходить в опции.

Для этого мы добавили сочетание клавиш Alt+C, которое отобразит меню с имеющимися у нас серверами, при этом будет отмечен тот, который определен в данный момент. Мы также можем открыть вкладку, пока не найдем в интерфейсе кнопку Сменить сервер для отображения этого меню.

В этом меню мы можем выбрать нужный нам сервер, и мы автоматически переключимся на него.

Если мы изменим настройки с главного экрана, они не будут сохранены при повторном запуске NVDA, это всегда будет предопределенный сервер, который мы настроили в опциях.

## Версия 0.7.1.

* Добавлена возможность перевода описаний дополнений.

Теперь при нажатии F3 в списке дополнений или на вкладке дополнений описание будет переведено на язык, который мы настроили в опциях дополнения.

По умолчанию эта новая функция отключена, чтобы включить ее, нужно зайти в опции Магазина и активировать опцию Включить или отключить переводчик для описаний дополнений.

Затем мы вводим вкладку и выбираем язык, на который хотим перевести описания.

Когда мы нажмем F3, прозвучит звук начала и конца перевода, чтобы сообщить о его завершении. Эти звуки отличаются друг от друга.

При смене плагина перевод теряется, поэтому, если мы хотим снова увидеть перевод описания, нам придется снова нажать F3.

Эта опция требует использования Интернета.

* Исправлена проблема при перезагрузке дополнений.

## Версия 0.7.

* Исправлена проблема с фильтрами.
Expand Down
6 changes: 6 additions & 0 deletions addon/doc/tr/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,12 @@ Bunları bildirmek ve mümkün olan en kısa sürede çözebilmek için iletişi
NVDA.ES eklenti Mağazasının Keyfini Çıkarın!

# Sürüm Geçmişi:
## Sürüm 0.8.1.

* Eklentileri olmayan bir sunucuya bağlanma sorunu düzeltildi.
* Yeni sunuculardan sabit indirmeler
* Proxy aracılığıyla genel ve özel Onion sunucularına bağlantı çözüldü

## Sürüm 0.8:

* Özel eklenti deposu URL'leri ekleme özelliği eklendi.
Expand Down
2 changes: 2 additions & 0 deletions addon/globalPlugins/TiendaNVDA/ajustes.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,8 @@ def setup():
listaServidores = basedatos.ServidoresComplementos().fileJsonAddon(2)
try:
listaAddonsSave = basedatos.libreriaLocal(listaServidores[selectSRV][2]).fileJsonAddon(2)
listaAddonsInstalados = basedatos.libreriaLocal().addonsInstalados()
basedatos.libreriaLocal(listaServidores[selectSRV][2]).actualizaJson()
except:
urlServidor = urlSVR_Fijo
selectSRV = 0
Expand Down
41 changes: 34 additions & 7 deletions addon/globalPlugins/TiendaNVDA/basedatos.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,46 @@
import addonAPIVersion
import traceback
import json
import re
import urllib.request
import os
import sys
from threading import Timer
from .packaging import version
from . import ajustes

ADDON_API_VERSION_REGEX = re.compile(r"^(0|\d{4})\.(\d)(?:\.(\d))?$")

def getAPIVersionTupleFromString(version):
"""Converts a string containing an NVDA version to a tuple of the form (versionYear, versionMajor, versionMinor)"""
match = ADDON_API_VERSION_REGEX.match(version)
if not match:
raise ValueError(version)
return tuple(int(i) if i is not None else 0 for i in match.groups())

def hasAddonGotRequiredSupport(addonMin, currentAPIVersion=addonAPIVersion.CURRENT):
"""True if NVDA provides the add-on with an API version high enough to meet the add-on's minimum requirements
"""
return addonMin <= currentAPIVersion

def isAddonTested(addonMax, backwardsCompatToVersion=addonAPIVersion.BACK_COMPAT_TO):
"""True if this add-on is tested for the given API version.
By default, the current version of NVDA is evaluated.
"""
return addonMax >= backwardsCompatToVersion

def isAddonCompatible(
addonMin,
addonMax,
currentAPIVersion=addonAPIVersion.CURRENT,
backwardsCompatToVersion=addonAPIVersion.BACK_COMPAT_TO
):
"""Tests if the addon is compatible.
The compatibility is defined by having the required features in NVDA, and by having been tested / built against
an API version that is still supported by this version of NVDA.
"""
return hasAddonGotRequiredSupport(addonMin, currentAPIVersion) and isAddonTested(addonMax, backwardsCompatToVersion)

def generaFichero():
return os.path.basename(os.path.join(globalVars.appArgs.configPath, "TiendaNVDA", "data%s.json" % len(os.listdir(os.path.join(globalVars.appArgs.configPath, "TiendaNVDA")))))

Expand Down Expand Up @@ -106,12 +139,6 @@ def chkVersionAlt(self, verServidor, verLocal):
else:
return True

def isAddonTested(self, version, backwardsCompatToVersion=addonAPIVersion.BACK_COMPAT_TO):
"""True if this add-on is tested for the given API version.
By default, the current version of NVDA is evaluated.
"""
return tuple(map(int, version.split('.'))) >= backwardsCompatToVersion

def chkActualizaS(self):
lstActualizar = []
lstUrl = []
Expand All @@ -126,7 +153,7 @@ def chkActualizaS(self):
for z in self.dataLocal:
if i[0].lower() == z.manifest["name"].lower():
if not z.isPendingRemove:
if self.isAddonTested(self.dataServidor[x]['links'][i[1]]['lasttested']):
if isAddonCompatible(getAPIVersionTupleFromString(self.dataServidor[x]['links'][i[1]]['minimum']), getAPIVersionTupleFromString(self.dataServidor[x]['links'][i[1]]['lasttested'])):
if self.chkVersion(self.dataServidor[x]['links'][i[1]]['version'], z.manifest["version"]) == True:
lstActualizar.append("{}".format(z.manifest["summary"]))
lstUrl.append(self.urlBase + self.dataServidor[x]['links'][i[1]]['file'])
Expand Down
Loading

0 comments on commit 313edfc

Please sign in to comment.