[Résolu][OXT] Script Python non reconnu dans le manifest.xml

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Avatar de l’utilisateur
ddorange
Membre hOOnoraire
Membre hOOnoraire
Messages : 120
Inscription : 23 déc. 2015 18:49
Localisation : Annecy

[Résolu][OXT] Script Python non reconnu dans le manifest.xml

Message par ddorange »

Bonjour à tous,

Cette fois ci, j'ai voulu intégrer mon travail dans une extension.
J'ai donc ajouté au fichier manifest.xml la ligne suivante :
<manifest:file-entry manifest:full-path="python" manifest:media-type="application/vnd.sun.star.framework-script"/>

Les fichiers présents dans le dossier python
python
python/Hello.py
Les dossiers
python/pythonpath/sympy
python/pythonpath/mpmath

Le fichier Hello.py

Code : Tout sélectionner

from sympy import *

def HelloPython(var,cmd,src):
    m = symbolic(var,cmd,src)
    return format(m)

def symbolic(var,cmd,src):
	x = Symbol(var)
	v = sympify(cmd + "(" + src + ")")
	return v

def gars():
	x = Symbol("x")
	f = x**2
	g = x
	print(f*g)
Dans la console APSO, le fichier Hello.py apparaît dans MesMacros/DmathsAddon.oxt/Hello.py
Lorsque je la lance et exécute gars(), j'ai le retour correct du print : x**3.
Signe que la bibliothèque Sympy est chargée et que le calcul formel se fait.

Par contre, le lancement du script CallPython (voir premier sujet), conduit à une erreur que je mette comme premier paramètre : DmathsAddon.oxt/Hello.py$HelloPython ou Hello.py$HelloPython

Code : Tout sélectionner

Sub CallPython
 	Toto = simpleScript("Hello.py$HelloPython","Python","user")
	Print Toto
End Sub
Pour m'assurer qu'il ne s'agit pas d'un problème lié au chargement de la bib Sympy, j'ai fait le test avec le code ci-dessous et obtiens la même erreur.

L'autre version de Hello.py

Code : Tout sélectionner

def HelloPython(var,cmd,src):
    m = "Romain"
    print (m)
    return m


Il me semble qu'il s'agit bien cette fois ci d'un problème de chemin.
Si vous avez une idée.
J'en profite pour remercier Hubert Lambert pour son travail sur APSO qui facilite grandement le débugage.
Dernière modification par Bidouille le 13 nov. 2017 09:16, modifié 3 fois.
Raison : Ajout de la coche
LibreOffice 7.5 et OpenOffice 4.1.14 sous Ubuntu 22.10, Windows 7, Windows 10, MacOs Monterey
Avatar de l’utilisateur
Hubert Lambert
SuppOOrter
SuppOOrter
Messages : 1214
Inscription : 06 avr. 2016 07:26

Re: [Python] Script non reconnu dans Basic épisode 2

Message par Hubert Lambert »

Ton script a changé d'emplacement, il faut donc adapter l'url en conséquence.
En se basant sur la documentation, tu dois corriger ton appel à simpleScript en quelque chose comme ceci :

Code : Tout sélectionner

Toto = simpleScript("DmathsAddon.oxt|python|Hello.py$HelloPython","Python","user:uno_packages")
Cordialement.
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
| « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
Avatar de l’utilisateur
ddorange
Membre hOOnoraire
Membre hOOnoraire
Messages : 120
Inscription : 23 déc. 2015 18:49
Localisation : Annecy

Re: [Résolu] [Python] Script non reconnu dans Basic épisode

Message par ddorange »

Merci,
Cela fonctionne. :bravo:
Je n'avais pas trouvé cette page.
Bien cordialement.
LibreOffice 7.5 et OpenOffice 4.1.14 sous Ubuntu 22.10, Windows 7, Windows 10, MacOs Monterey