[Tous] Gérer les scripts en Python

Tout savoir sur les extensions et aller plus loin avec vos suites bureautiques préférées.
Les questions sur la programmation des OXT doivent être postées dans la section Macros située plus bas.

Modérateur: Vilains modOOs

Règles du forum
Cette section est faite pour présenter des extensions visant à améliorer ou ajouter des fonctionnalités.
Vous pouvez commenter ou ajouter des remarques sur l'extension. Mais, si vous avez une question sur l'installation, le fonctionnement ou l'utilisation, vous devez poster dans la section du logiciel où se produit le problème (Writer, Calc, Impress, Draw, Math ou Base).
Si vous désirez publier une extension, merci de contacter un modérateur par MP.

[Tous] Gérer les scripts en Python

Messagepar Hubert Lambert » 09 Nov 2016 17:49

 
 Ajout : APSO est maintenant disponible sur le site extensions.libreoffice.org à la page  
  https://extensions.libreoffice.org/extensions/apso-alternative-script-organizer-for-python   

Bonjour à tous,

[Pour faire suite à ce fil, et en particulier à la suggestion de Dude, je déplace ici une partie du message original.]

Hanya, l'un des contributeurs les plus éclairés et efficaces de la sections "Macros et API" du forum anglophone, a proposé en 2012 un script (alternative python script organizer) qui simplifie énormément la gestion des scripts python sous OpenOffice ou LibreOffice. Ce script mérite me semble-t-il une bien meilleure visibilité.

Pour en faciliter l'usage, je l'ai adapté comme suit :
- francisation des commandes et éléments de menus ;
- ajout de deux commandes "copier vers le document" et "exporter" depuis un document existant (le code n'est qu'une variante du code original d'Hanya) ;
- implémentation (très élémentaire) de l'option "édition", de sorte que le script puisse être modifié via l'éditeur par défaut du système ;
- empaquetage dans une extension pour en faciliter l'installation.

Une fois cette extension installée (et le programme redémarré par prudence), un nouvel élément "Gérer les scripts python" apparaîtra dans le sous-menu Macros du menu Outils :
APSO_menu.png
APSO_menu.png (11.23 Kio) Consulté 945 fois

Ce nouvel élément ouvre une boîte de dialogue listant les scripts et proposant diverses actions :
APSO_dialogue.png
APSO_dialogue.png (17.5 Kio) Consulté 1191 fois

Le bouton Exécuter permet de lancer la macro sélectionnée.
Les actions disponible depuis le bouton Menu varient selon la sélection en cours et sont :
- créer un répertoire ou un fichier si la sélection est un conteneur ("user","share" ou "document") ;
- modifier*, renommer, supprimer un fichier ou un répertoire ;
- copier un fichier depuis l'application ("user" ou "share") dans le document courant ;
- remplacer un fichier embarqué dans un document par un fichier se trouvant sur l'ordinateur ;
- exporter un fichier embarqué dans un document.
[* L'option "Modifier" se contente d'ouvrir le fichier avec l'éditeur de texte associé par défaut à l'extension ".py". Elle ne fonctionne pas avec les scripts embarqués dans un document.]
 Ajout : L'édition directe des scripts embarqués est partiellement possible depuis la version 0.6 


Cette version 0.2, compatible avec OpenOffice et LibreOffice, intègre en outre les éléments suivants :
- internationalisation de l'extension (pour l'instant français et anglais) ;
- ajout d'un raccourci clavier par défaut (alt+maj+F11) pour un lancement rapide ;
- une mini-bibliothèque destinée à faciliter le développement, qui contient trois fonctions : xray, mri et msgbox.
Pour accéder à ces dernières depuis un script, il faut avoir lancé au moins une fois l'organiseur de scripts python (pour charger le chemin) et insérer la ligne suivante :
Code : Tout sélectionner   AgrandirRéduire
from apso_utils import xray, mri, msgbox
(et avoir bien sûr installé Xray ou MRI le cas échéant).

Pour toute suggestion, question ou remarque, le fil initial donné plus haut me paraît être un endroit tout indiqué :wink: .

 Ajout : version 0.3 :
- ajout de l'allemand et de l'italien ;
- correction du code. 

 Ajout : version 0.4 :
- ajout du hongrois (merci à Zizi64). 

 Ajout : version 0.5 :
- ajout d'une page d'options permettant le choix de l'éditeur (basé sur EditorKicker de Hanya) ;
- ouverture des macros à la ligne correspondante, si l'option idoine est définie ;
- adaptation du vocabulaire par cohérence avec le gestionnaire de macro par défaut (pour faire suite à ce fil) ;
- meilleure gestion des erreurs et des dialogues accentués. 

 Ajout : version 0.6 :
- prise en compte de la propriété AllowMacroExecution pour les macros embarquées ;
- sous réserve de fournir les paramètres d'édition, possibilité d'accéder directement aux erreurs de syntaxe depuis le message d'erreur ;
- édition directe des macros embarquées (uniquement dans le contexte de l'extension). 

 Ajout : version 0.7 :
- correction d'un bogue ;
- implémentation des mises à jour automatiques. 

 Ajout : version 0.8.3 :
- corrige un problème (sous Windows) lorsqu'un chemin ou un document contient des caractères non-ascii. 

 Ajout : version 0.8.7 :
- affichage des scripts installés par extension ;
- navigation dans l'arborescence via les flèches et la toucher "entrée" ;
- correction de bugs mineurs. 
Pièces jointes
apso_v0.8.7.oxt
6.6.2017
(26.88 Kio) Téléchargé 12 fois
Dernière édition par Hubert Lambert le 18 Juin 2017 18:21, édité 6 fois.
AOOo 4.1.2 sur Win7 | LibreOffice 5.x sur divers systèmes Linux
--
| « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
Avatar de l’utilisateur
Hubert Lambert
Membre enthOOusiaste
Membre enthOOusiaste
 
Message(s) : 474
Inscrit le : 06 Avr 2016 09:26

Re: [Tous] Gérer les scripts en Python

Messagepar OlivierR » 05 Juin 2017 20:38

Bonjour,
Attendu que chez TDF, ils veulent simplifier la vie de ceux qui utilisent le Python et encourager à utiliser ce langage, cette extension serait probablement acceptée parmi celles fournies par défaut dans LibreOffice.
LibreOffice 5.3Windows 7Orthographe & GrammaireBépo, le clavier du futur
OlivierR
SuppOOrter
SuppOOrter
 
Message(s) : 1007
Inscrit le : 24 Mai 2006 22:34
Localisation : Lorraine, France

Re: [Tous] Gérer les scripts en Python

Messagepar Hubert Lambert » 06 Juin 2017 20:13

Bonjour Olivier,

Merci pour les encouragements.
J'avais envisagé de publier l'extension sur le site dédié, mais il m'avait semblé utile d'obtenir au moins l'aval d'hanya. Or celui-ci ne semble plus très actif. Je vais essayé de le recontacter.
Cordialement.
AOOo 4.1.2 sur Win7 | LibreOffice 5.x sur divers systèmes Linux
--
| « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
Avatar de l’utilisateur
Hubert Lambert
Membre enthOOusiaste
Membre enthOOusiaste
 
Message(s) : 474
Inscrit le : 06 Avr 2016 09:26


Retour vers Extensions

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 2 invité(s)