Hello JF

Merci pour cet exemple.
En fait, il s'agit de toute opération manuelle au milieu d'un traitement 
automatique.

Du coup, je pensais que la sortie standard peut aussi servir à tester un script 
sans devoir enregistrer à chaque fois dans un fichier ce qu'on voudrait mettre 
en entrée de ce script.

Du coup, je me demandais si ça ne pouvait pas être intéressant de pouvoir 
ouvrir ou rouvrir le document d'entrées / sorties standar dans 6pad++ avec une 
commande menu. Exemple, j'ouvre cette Page d'entrée / sortie, j'écris quelque 
chose dedans et je l'ai en sortie standard de 6pad++.
Bon, je n'ai pas de cas d'utilisation très précis, donc peut-être que ça ne 
sert à rien et que c'est du coup inutile de faire un développement là-dessus.

Bonne soirée.

Cyrille




-----Message d'origine-----
De : progliste-ow...@ml.free.fr [mailto:progliste-ow...@ml.free.fr] De la part 
de Jean-François Colas
Envoyé : vendredi 5 juin 2015 00:11
À : progliste@ml.free.fr
Objet : [progliste] Re: 6Pad++ de juin

Hello Cyrille,

Un exemple pour la sortie standard, il n'est pas forcément très probant 
pour toi mais il m'aurait servi il y a quelques années. Il s'agit du tri 
des mots qu'il faut conserver en intégral dans un fichier qu'on veut 
transcrire en braille abrégé. Scénario: un script qui extrait les mots 
commençant par une majuscule dans le fichier. "Pipé" avec 6Pad++, dans 
lequel je m'emploie à éliminer ceux que je ne veux pas "protéger" contre 
l'abrègement. Et dès la sortie de 6Pad++, un autre script se charge de 
modifier le texte en faisant une action définie afin de marquer les mots 
restants comme "à protéger contre l'abrègement".

Dans ce scénario, tout ne peut pas être géré par script parce que notre 
bon abrégé a pas mal de recoins plutôt subjectifs quand on commence à 
vouloir décider de ce qui peut s'abréger ou pas...

Donc l'idée est de "ratisser large", puis de faire le tri... humainement.

Je pense que je pourrai trouver d'autres usages à partir de listages 
divers de noms de fichiers, et en tout cas, je ne vais pas oublier que 
c'est disponible à présent, et je pense que je vais voir surgir d'autres 
applications, j'en ferai part à l'occasion.

J.-F.


Le 04/06/2015 23:10, Cyrille a écrit :
> Bonjour Quentin,
>
> Voici le bug numéro 1 du jour.
> - J'essaie d'ouvrir un fichier comme d'habitude avec 6pad++ depuis 
> l'explorateur (j'ai mis 6pad++ dans le menu contextuel Envoyer vers).
> - 6pad++ s'ouvre ainsi que la console Python. Par contre, impossible de 
> tabuler pour aller lire le problème dans la sortie python ou pour cliquer sur 
> les boutons.
> - Avec le curseur Jaws, je lis l'erreur qui est une erreur dans mon 6pad++.py.
> - Puis, toujours en curseur Jaws, je clique sur le bouton Fermer.
> - Jaws me dit alors que j'arrive dans la fenêtre principale de 6pad++ alpha- 
> Je repasse en curseur PC mais impossible d'interagir avec 6pad++ (ex: Alt+F 
> pour aller dans le menu fichier).
> - Là, mon restant visuel me signale qu'il y a une boîte de dialogue devant 
> 6pad++ qui n'est pas activée alors que la fenêtre principale de 6pad++ l'est.
> - Avec Alt+Tab, je tombe sur cette boîte de dialogue qui me dit "Accès 
> refusé".
> Le fichier était en fait un fichier sur lequel je n'avais pas le droit de 
> lecture. Et l'erreur de mon 6pad++.py une erreur du fait que le fichier ne 
> s'est pas ouvert (donc currPage = None)
> Si tu veux faire le test, tu peux essayer sur le fichier 
> C:\Users\mon_login\AppData\Local\Microsoft\Windows\UsrClass.dat. Ce n'est pas 
> le même message d'erreur mais le principe est le même.
>
> C'est à moi de corriger l'erreur de mon script 6pad++.py pour le rendre 
> robuste.
> Par contre, il faudrait d'abord que l'utilisateur ait validé les éventuels 
> messages d'erreur avant d'ouvrir la console. Ou alors focaliser la boîte de 
> dialogue d'erreur de sorte à ce qu'elle apparaisse au dessus de la console et 
> qu'elle prenne le focus (boîte modale ?).
>
> Plus généralement, ça me fait poser la question de l'ordre des actions faites 
> par 6pad++ à son ouverture : ouverture du fichier passé en paramètre, 
> ouverture de l'entrée standard, chargement des extensions, chargement du 
> fichier 6pad++.py, etc. Une petite liste ordonnée dans la doc de 6pad++ 
> serait la bienvenue (une fois que cet ordre sera confirmé).
>
> Enfin maintenant que je repense aux entrée et sortie standard, il ne me 
> semble pas que tu m'aies répondu sur un exemple de cas d'utilisation de la 
> sortie standard. Tu avais parlé de ligne de commande de type : commande1 | 
> 6pad++ | commande2. Mais quel serait l'exemple pour commande1 et commande2 ?
>
> Merci.
> Bonne soirée.
>
> Cyrille
>
>
>
> -----Message d'origine-----
> De : progliste-ow...@ml.free.fr [mailto:progliste-ow...@ml.free.fr] De la 
> part de QuentinC
> Envoyé : jeudi 4 juin 2015 09:48
> À : progliste@ml.free.fr
> Objet : [progliste] Re: 6Pad++ de juin
>
> Réponses groupées pour JF et Cyril.
>
>   >  1. On a un find, on a un replace mais de nature différente: il
> pourrait y avoir besoin d'un replace qui accepte les expressions
> régulières... A ce propos tiens, j'ai cru voir que tu étais passé des
> PCRE à un Boost quelque chose, celui qui m'avait posé quelques soucis: y
> a-t-il des différences de convention entre les deux?
>
> IL y a quelques différences mais globalement ça reste à peu près pareil
> pour les opérations courantes.
> Boost::regex ne supporte pas les conditions et les masques récursifs,
> mais ça n'a pas beaucoup d'incidence.
>
> Pour les opérations avancées sur le texte, je te propose d'utiliser les
> fonctions natives de la classe str, et le module re.
>
>   >  2. Je n'ai pas encore essayé choice; à ce stade, si j'ai bien suivi,
> je crois qu'on ne dispose pas de moyen de saisir une chaîne arbitraire,
> genre prompt...
>   >  Ca pourrait être utile. Si on pouvait préciser une valeur par défaut,
> ça serait le top.
>
> J'ajouterai prompt alors.
>
> 3. Collage intelligent: est-ce que le cas de figure suivant arrive en
> contradiction avec le principe: [...]
>
> IL faut encore tester tout ça. Ma combine de collage intelligent est
> encore très expérimentale.
>
>   >  4. A quoi sert la touche Ctrl+Del? Est-elle assignable par
> addAccelerator? J'ai essayé, mais apparemment ça n'a pas exécuté la
> fonction que j'avais attachée, je n'ai pas poussé le test plus loin.
>
> Rien n'est associé à Ctrl+Del. Par contre Ctrl+Maj+Del oui, c'est la
> fameuse fonction "crash express".
>
>   >  1-      J’ouvre 6pad++. Je fais des modifs dans le document sans
> titre puis les annule avec Ctrl+Z. Je me retrouve donc avec un document
> vierge.
>   >  Ensuite, je vais dans l’explorateur et j’ouvre un fichier dans
> 6pad++. Comme je suis en mode instance unique = 1, le fichier s’ouvre
> dans le même 6pad++.
> Mais une fenêtre apparaît également pour me demander si je veux sauvegarder
> les modifications dans le fichier sans titre qui était déjà ouvert dans
> 6pad++.
>   >  C’est un détail, mais lorsque j’ouvre un fichier dans une appli qui
> possède des onglets, je ne m’attends pas à ce qu’on me demande de
> sauvegarder ou pas les modifications parce qu’un autre fichier se ferme.
> Je vois bien que c’est dû à un mécanisme de fermeture automatique d’un
> fichier sans titre lorsque celui-ci est vide. Pour moi il serait
> préférable de restreindre la fermeture automatique d’un fichier si
> celui-ci est vide et qu’il n’a jamais été modifié. Ca permet d’ailleurs
> de ne pas fermer sans confirmation un fichier dont on aurait supprimé
> tout le contenu par erreur (Ctrl+A puis Suppr).
>
> Effectivement, c'est bien un petit bug. IL faut effectivement que
> j'ajoute une vérification de modification avant de fermer un onglet vide.
>
>   >  2-      Dans la console python, lorsqu’on remonte l’historique des
> commandes précédantes avec flèche haut, le curseur se positionne juste
> avant le dernier caractère au lieu de se positionner à la fin de la
> ligne. J’imagine que c’est un bug.
>
> En effet... bien joué.
>
>   >  3-      On a les fonction messageBox, alert, confirm, warning et
> choice qui permettent d’avoir des petites interfaces sans devoir faire
> appel à des modules spécifiques (wxPython…). A cette liste serait-il
> possible d’ajouter inpu, une boîte de dialogue permettant à
> l’utilisateur d’entrer une chaîne de caractères. Bon après étude du
> sujet sur la MSDN, j’imagine que tu vas me répondre non parce que y a
> pas de fonction directe pour ça dans l’API Windows. Mais je tente mon
> coup quand-même ! Et si c’est non, que proposerais-tu pour cela ?
>
> Si, je vais ajouter prompt.
>
>   >  Est-ce facile d’intégrer du WxPython aux scripts de 6pad++ par exemple ?
>
> Aucune idée !
>
>
>   >  4-      Je n’ai pas encore testé comme il faut la fonction find de
> l’API 6pad++. Mais je pose déjà la question, cette fonction sélectionne
> t-elle le texte trouvé comme la fonction du menu ? Si oui, je pense que
> ça risque d’être gênant pour faire des script qui utilisent cette
> fonction pour aller à la déclaration de fonction suivante/précédante, à
> la fin d’un bloc dans un langage tels que les scripts Jaws ou le VBS,
> etc. Finalement, plus j’y pense, plus je me dis que cette fonction find,
> éventuellement à renommer, devrait renvoyer un offset et peut-être aussi
> la longueur du texte trouvé.
> Après, cela permet à chacun de positionner le curseur à l’offset
> retourné, voir de sélectionner le texte trouvé.
>
>
> Effectivement, find se comporte comme les options correspondantes des menus.
> Par contre, plutôt que de la modifier, je pense que si tu cherches plus,
> tu devrais te tourner vers les méthodes de str et le module re. Tu
> prends le texte et tu peux faire des
> ajouts/modifications/suppressions/remplacements à peu près comme tu veux.
>
>
> Par exemple ceci fonctionne:
> window.curPage[7:12] = "J'ai remplacé du texte"
> Progliste :
> Pour se d�sinscrire de la liste : 
> mailto:progliste-requ...@ml.free.fr?subject=unsubscribe
>
> Pour voir les archives de la liste :
> http://www.mail-archive.com/progliste@ml.free.fr/     
>
> Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 
> 2 MO
>
> Pour acc�der aux fichiers de la liste
> http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
> Ou en utilisant la nouvelle page de partage :
> http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
> Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je 
> vous r�pondrez en priv�.
>       
>       
>
>
> ---
> L'absence de virus dans ce courrier électronique a été vérifiée par le 
> logiciel antivirus Avast.
> https://www.avast.com/antivirus
> Progliste :
> Pour se d�sinscrire de la liste : 
> mailto:progliste-requ...@ml.free.fr?subject=unsubscribe
>
> Pour voir les archives de la liste :
> http://www.mail-archive.com/progliste@ml.free.fr/     
>
> Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 
> 2 MO
>
> Pour acc�der aux fichiers de la liste
> http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
> Ou en utilisant la nouvelle page de partage :
> http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
> Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je 
> vous r�pondrez en priv�.
>       
>       

Progliste :
Pour se d�sinscrire de la liste : 
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/       

Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 
MO 

Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je 
vous r�pondrez en priv�.
        
        


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel 
antivirus Avast.
https://www.avast.com/antivirus
Progliste :
Pour se d�sinscrire de la liste : 
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/       

Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 
MO 

Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je 
vous r�pondrez en priv�.
        
        

Reply via email to