[script nvda] Re: [script nvda] Re: [script nvda] Re: [script nvda] Re: [script nvda] améliorer un appModule existant

  • From: yannick <philaos31@xxxxxxx>
  • To: scriptnvda@xxxxxxxxxxxxx
  • Date: Thu, 2 Jun 2022 16:02:56 +0200

merci, je vais m'y pencher !

screamer et pCloud sont les logiciels  qui m'aident dans tous mes   testes :

j'apprends le maximum de facette de NVDA dans ces "environnements " connus pour ensuite  l'appliquer à d'autre application ...

mon but n'est pas  la fin mais le chemin,la démarche, la méthode pour y arriver ....





Le 02/06/2022 à 15:21, cyrille.bougot2 (cyrille.bougot2) a écrit :

S'il y a un souci avec leur extension, oui, il vaut mieux leur rapporter le problème.

Si c'est pour faire du dev perso qui ne sera jamais accepté par CodeFactory, tu peux probablement faire comme suit:

1. Nommer ton extension de telle sorte à ce qu'elle se charge à la place de celle de CodeFactory; à voir s'il faut que le nom précède ou suive dans l'alphabet.

2. Dans ton code importer l'appModule de CodeFactory:
sys.path.insert(0, ('cheminConfigNVDA\addons\codeFactory\appModule\appModules')
from codeFactoryModule import AppModule as CFAppModule
del sys.path[0]
class AppModule(CFAppModule):
    ...

Bon c'est juste le principe, je n'ai pas essayé.

PS: Si tu nous disais directement dès le début que tu essaies d'améliorer l'appModule de CodeFactory et pourquoi, on irait plus vite droit au but dans les réponses.

Cyrille
De : "yannick"
A : scriptnvda@xxxxxxxxxxxxx
Envoyé: jeudi 2 Juin 2022 12:48
Objet : [script nvda] Re: [script nvda] Re: [script nvda] améliorer un appModule existant

ha merci,

je vais devoir contacter code factory au sujet de leur addon alors ....

Le 02/06/2022 à 11:37, cyrille.bougot2 (cyrille.bougot2) a écrit :
Salut Yannick

Ca ne marche pas car l'exemple du guide permet d'améliorer un appModule de NVDA (nvdaBuiltins) avec un appModule externe (scratchpad ou add-on).
Dans ton cas, tu joues avec deux appModules externes.

D'ailleurs l'instruction suivant doit provoquer une erreur:
from nvdaBuiltin.appModules.screamer import *

Vu que tu es l'auteur des deux appModules, il te suffit de les fusionner en un seul. Lorsqu'il s'agit de deux auteurs différents qui ne se parlent pas, le problème est plus compliqué et n'a pas de solution simple prévue par NVDA. Il faut alors connaître l'ordre de chargement des modules et que le deuxième appelle directement le premier.

Cyrille
De : "yannick"
A : scriptnvda@xxxxxxxxxxxxx
Envoyé: jeudi 2 Juin 2022 09:56
Objet : [script nvda] améliorer un appModule existant

bonjour, je voudrais améliorer un appModule. dans mon cas il s'agit de screamer radio:

j'ai écrit un appModule pour screamer radio.

Mais je voudrais écrire un second appModule totalement séparé du premier.

(bien entendu, ici il s'agit d'un exercice pour comprendre  la façon dont je devrais m'y prendre.)

dans

le guide du développeur <https://github.com/nvdaaddons/DevGuide/wiki/NVDA-Add-on-Development-Guide#add-on->

à la section  "Other remarks on app modules", une explication est donnée :

is called overriding the built-in module):
from nvdaBuiltin.appModules.appName import *
Where appName is the app module you wish to extend. For example, if you wish to support different controls in Windows calculator (calc.py), use:
from nvdaBuiltin.appModules.calc import *\

j'ai beau suivre la méthode  en ajoutant l'instruction :

from nvdaBuiltin.appModules.screamer import *

et :

class AppModule(AppModule):...

rien n'y fait, ce second module n'est pas chargé puisqu'il n'y a même pas la création du dossier

__pycache__

avez vous une piste ?

merci !

Other related posts:

  • » [script nvda] Re: [script nvda] Re: [script nvda] Re: [script nvda] Re: [script nvda] améliorer un appModule existant - yannick