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

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

salut JF, je ne comprends pas, tu veux des améliorations pour les applications que tu cites ?

Le 02/06/2022 à 16:22, Jean francois colas a écrit :


Hello,

Comme par exemple MP3Gain, USBDeview, DBT, etc.. (Sourire).

Ah si un jour je trouvais la raison qui fait que je bloque sur le scripting NVDA...

J.-F.

*De :*scriptnvda-bounce@xxxxxxxxxxxxx <scriptnvda-bounce@xxxxxxxxxxxxx> *De la part de* yannick
*Envoyé :* jeudi 2 juin 2022 16:03
*À :* scriptnvda@xxxxxxxxxxxxx
*Objet :* [script nvda] Re: [script nvda] Re: [script nvda] Re: [script nvda] Re: [script nvda] améliorer un appModule existant

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 <mailto: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 <mailto: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: