Page 1 sur 1

[Résolu][Python] Grapheur pour Writer

Publié : 31 janv. 2018 16:24
par joel275
Bonjour,

je propose ici
Grapheur -v5.odt
un petit grapheur écrit en python sous licence GNU à l'usage des professeurs de mathématiques et de leurs élèves.
Ayant appris récemment python en lisant internet et le forum, je serais très heureux de toutes les remarques et suggestions.
merci également de me signaler les bugs que j'aurais laissé trainer ici ou là.

A plus.
 Ajout : fichier modifié le 7/2 
 Ajout : fichier modifié le 15/2/2018 

Re: [Writer][Python] Grapheur

Publié : 31 janv. 2018 18:00
par Hubert Lambert
Bonjour Joël,

Beau travail ! Je jetterai volontiers un oeil plus en profondeur, dès que possible.
Avec OpenOffice, le programme renvoie une erreur de type unicode. Pour éviter le problème, tu peux simplement ajouter la ligne

Code : Tout sélectionner

from __future__ import unicode_literals
comme toute première instruction.
Cordialement.
 Ajout : La macro affectée au bouton Aide n'est pas incorporée :wink: 
 Ajout : Ce fil pourrait peut-être inspirer une autre façon d'aborder la question, en utilisant un objet diagramme (un diagramme n'étant rien d'autre qu'un groupement d'objets sur une "drawpage"). 

Re: [Python] Grapheur pour Writer

Publié : 05 févr. 2018 16:00
par joel275
Bonjour Hubert,

tout d'abord, j'ai corrigé le fichier mis en ligne dans mon premier message en rajoutant, entr'autres, la ligne magique qui permet (apparemment) à du python 3 de tourner sur le python 2 de AOo ainsi que les routines que j'avais oubliées de joindre. :oops:
J'ai également consulté le fil que tu m'a indiqué , mais:
j'aime beaucoup le fond avec des points, plutôt que le quadrillage. :D
je souhaite pouvoir positionner des points, des vecteurs et des tangentes sur le graphique et pouvoir facilement grouper le tout.
Comme en plus, j'avais déjà fait le travail en basic, je souhaitais juste voir si c'était plus rapide et plus clair en python.

En tout cas merci d'avoir regardé mon travail de débutant: comme il ne semble pas provoquer l'enthousiasme général, je vais sans doute garder ce schéma.

A plus.

Re: [Python] Grapheur pour Writer

Publié : 06 févr. 2018 17:32
par Scrat
Bonjour.

Petit essai du grapheur modifié avec LibO 5.4.4... et je me fais jeter ! :lol:

Ci-joint la bordée d'injures :mrgreen: :
com.sun.star.lang.WrappedTargetRuntimeException: (Error during invoking function Grapheur in module vnd.sun.star.tdoc:/1/Scripts/python/Grapheur.py (<class 'ooo_script_framework.com.sun.star.lang.WrappedTargetRuntimeException'>:
File "C:\Program Files\LibreOffice 5\program\pythonscript.py", line 875, in invoke
ret = self.func( *args )
File "vnd.sun.star.tdoc:/1/Scripts/python/Grapheur.py", line 209, in Grapheur
File "vnd.sun.star.tdoc:/1/Scripts/python/Grapheur.py", line 50, in loadDialog
))
A+

Re: [Python] Grapheur pour Writer

Publié : 07 févr. 2018 09:56
par joel275
Bonjour Scrat,

et désolé pour cette bordée d'injures....
je ne suis pas au top du maniement des fichiers malgré les très bons conseils donnés ici (https://forum.openoffice.org/fr/forum/v ... 37&t=53131) et la boîte de dialogue de démarrage était recherchée dans l'application au lieu du document. Erreur réparée, et le fichier remis dans le premier message n'insulte plus le client. :oops:
Mais, je débute en python et j'ai besoin de vos retours pour progresser.

A plus.

Re: [Python] Grapheur pour Writer

Publié : 07 févr. 2018 11:47
par Scrat
Bonjour.
joel275 a écrit :Erreur réparée, et le fichier remis dans le premier message n'insulte plus le client.
Euh... je me fais toujours insulter. :oops:

Apparemment, c'est toujours le même fichier en ligne dans le premier message:
Dernière édition par joel275 le 05 Fév 2018 18:46, édité 3 fois.
Oubli de validation en éditant le message ?

A+

Re: [Python] Grapheur pour Writer

Publié : 07 févr. 2018 12:28
par joel275
Re,

je ne comprends pas: si je télécharge le fichier mis en ligne et que je le lance avec ma version de LOo, ça fonctionne. Si je le lance avec AOo, j'ai le même message d'erreur que toi.
Je vais y réfléchir, mais je crains que ça ne dépasse mes compétences....

A plus.

Re: [Python] Grapheur pour Writer

Publié : 07 févr. 2018 12:32
par Hubert Lambert
Il faut commenter la ligne 209 et décommenter la ligne 210 :

Code : Tout sélectionner

    # MaBoite = loadDialog("JDMath","DlgGrapheur","application")
    MaBoite = loadDialog("Standard","DlgGrapheur","document")
:wink:

Re: [Python] Grapheur pour Writer

Publié : 07 févr. 2018 13:18
par Scrat
Bon, j'ai réussi à le faire marcher en faisant la modification suggérée par Hubert, ce qui veut dire que tu as toujours le version du 5 février dans ton premier message.

Je n'ai pas pu modifier le script directement dans le document en choisissant Outils->Macros->Gérer les macros->Python: le bouton Éditer est en grisé, je n'ai accès qu'au bouton Exécuter. Je ne suis pas familier avec les macros et je ne comprends pas pourquoi je ne peux pas les éditer. Pour m'en sortir, j'ai dézippé le document et j'ai édité le script Python avec Notepad++.

Bref, le document modifié fonctionne, mais j'ai quelques soucis avec la syntaxe pour entrer les formules. Certaines fonctionnent, d'autre pas. L'aide serait la bienvenue, mais le bouton d'aide est inactif.

A+

Re: [Python] Grapheur pour Writer

Publié : 07 févr. 2018 15:45
par joel275
Bonjour,

re-modification du fichier. J'espère que cette fois-ci tout va bien. J'ai également ajouté un léger mode d'emploi directement dans le document.
Je réfléchis également à une vérification de base des fonctions entrées pour limiter les problèmes.

En tout cas, merci pour les retours patients de Scrat et les crrections de Hubert.

A plus.

Re: [Python] Grapheur pour Writer

Publié : 07 févr. 2018 16:57
par Scrat
Cette fois, avec la mise à jour, je ne me fais plus jeter ! :D

Je n'ai pas encore testé en détail, mais ce que j'ai vu me parait intéressant.

Je te suggère quand même de modifier le premier exemple que tu donnes dans le texte pour les courbes cartésiennes car tu mélange l'écriture classique des formules avec la syntaxe Python, ce qui peut prêter à confusion. Ainsi, à la place de
3x**2*cos(x)
tu devrais mettre l'expression exacte qui correspond à la syntaxe Python:
3*x**2*cos(x)

Quant au bouton Aide, il ne donne toujours rien. Est-ce normal ?

A+

Re: [Python] Grapheur pour Writer

Publié : 08 févr. 2018 13:16
par joel275
Bonjour,

plutôt que de modifier l'exemple faux que j'ai donné, je vais ajouter une routine de traduction pour que cette écriture soit acceptée ainsi que d'autres couramment utilisées en mathématiques: ce n'est pas compliqué en python, elle est déjà prête.
Tant que j'y suis, je vais modifier l'ensemble pour que chaque graphique soit accessible par l'utilisateur pour modifier ses attributs de couleurs, épaisseurs, nom etc... en dégroupant le dessin final. C'est un peu plus compliqué, il me faudra quelques jours.
A la place du bouton d'aide, je vais étoffer les infos bulles du dialogue.
Quand tout ça sera fini, je mettrais le résultat en ligne.

A plus.

Re: [Python] Grapheur pour Writer

Publié : 10 févr. 2018 16:36
par joel275
Bonsoir,

je mets un deuxième message à la suite pour que le nouveau fichier ne passe pas inaperçu........

Voilà donc la nouvelle version:
Grapheur -v4.odt
j'espère qu'il y aura moins de problème que pour la version précédente. J'attends quelques temps avant de la mettre dans le premier message histoire de la tester encore un peu...

A plus.