🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Datenübergabe in eigene Erweiterung mit Python

CALC ist die Tabellenkalkulation, die Sie immer wollten.
MoinMoin
Beiträge: 6
Registriert: So 7. Jan 2024, 12:38

Datenübergabe in eigene Erweiterung mit Python

Beitrag von MoinMoin » So 7. Jan 2024, 12:45

Hi,

ich experimentiere gerade mit meiner ersten Erweiterung für Calc auf Basis von https://github.com/arachan/getrest/blob ... getrest.py

Ich versuche gerade neben der URL einen weiteren Parameter zu übergeben

Code: Alles auswählen

    def GetRest(self, url, path='') -> str:
        """
        Get JSON Data from REST API
        :rtype:object
        :param:url REST API url
        :param:path XPath like path - separate with dots
        :return:json_file
        """
        return str(url) + ' - ' + str(path)

mit

Code: Alles auswählen

=GETREST("https://test.com")
erhalte ich den String der URL zurück aber mit

Code: Alles auswählen

=GETREST("https://test.com", "meinPath")
kommt "Fehler:508"

Wie übergebe ich mehr als einen Parameter?

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: Datenübergabe in eigene Erweiterung mit Python

Beitrag von gogo » So 7. Jan 2024, 16:25

Code: Alles auswählen

=GETREST("https://test.com"; "meinPath")
finde den Fehler ;)
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2539
Registriert: Fr 10. Dez 2010, 10:01

Re: Datenübergabe in eigene Erweiterung mit Python

Beitrag von karolus » So 7. Jan 2024, 17:16

Hallo

Die dazugehörige …idl scheint nicht auf optionale Argumente vorbereitet zu sein:

Code: Alles auswählen

#include <com/sun/star/uno/XInterface.idl>

module org { module openoffice { module addin { module sample {

    interface XGetRest : com::sun::star::uno::XInterface
        {
            /** swaps the content of the incoming array */
            string GetRest( [in] string str );
        };

}; }; }; };
der Kommentar ist anscheinend auch von irgendenwo anders mit kopiert worden, ohne jeden Bezug zur aktuellen Funktion
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

MoinMoin
Beiträge: 6
Registriert: So 7. Jan 2024, 12:38

Re: Datenübergabe in eigene Erweiterung mit Python

Beitrag von MoinMoin » So 7. Jan 2024, 19:28

gogo hat geschrieben:
So 7. Jan 2024, 16:25

Code: Alles auswählen

=GETREST("https://test.com"; "meinPath")
finde den Fehler ;)
hatte ich auch probiert - ohne Erfolg

wo steht das, dass Parameter immer mit Semikolon getrennt werden?
Zuletzt geändert von MoinMoin am So 7. Jan 2024, 19:40, insgesamt 1-mal geändert.

MoinMoin
Beiträge: 6
Registriert: So 7. Jan 2024, 12:38

Re: Datenübergabe in eigene Erweiterung mit Python

Beitrag von MoinMoin » So 7. Jan 2024, 19:38

karolus hat geschrieben:
So 7. Jan 2024, 17:16
Hallo

Die dazugehörige …idl scheint nicht auf optionale Argumente vorbereitet zu sein:

Code: Alles auswählen

#include <com/sun/star/uno/XInterface.idl>

module org { module openoffice { module addin { module sample {

    interface XGetRest : com::sun::star::uno::XInterface
        {
            /** swaps the content of the incoming array */
            string GetRest( [in] string str );
        };

}; }; }; };
der Kommentar ist anscheinend auch von irgendenwo anders mit kopiert worden, ohne jeden Bezug zur aktuellen Funktion
uff - öhmmm IDL?!? die Infos bei Tante Google sind überschaubar https://www.google.com/search?q=libreoffice+IDL

Ich bin bei den Thema eher aus "akademischem Interesse" unterwegs und weil ich von 20 Jahren einiges mit Python gemacht habe ... die Doku zu dem Thema scheint mir im Vergleich zu anderen Projekten recht "rudimentär"

Was macht die Datei? was für eine "Programmiersprache" ist das? sieht wie C oder sowas aus..
wie müsste die für zwei Parameter aussehen?

MoinMoin
Beiträge: 6
Registriert: So 7. Jan 2024, 12:38

Re: Datenübergabe in eigene Erweiterung mit Python

Beitrag von MoinMoin » Mo 8. Jan 2024, 08:48

zu IDL habe ich nun was gefunden https://wiki.openoffice.org/wiki/IDL_Files_and_Cpp und https://wiki.openoffice.org/wiki/Counter_Example

die IDL müsste so aussehen - oder?

Code: Alles auswählen

#include <com/sun/star/uno/XInterface.idl>

module org { module openoffice { module addin { module sample {

    interface XGetRest : com::sun::star::uno::XInterface
        {
            string GetRest( [in] string url,
                            [in] string path);
        };

}; }; }; };

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2539
Registriert: Fr 10. Dez 2010, 10:01

Re: Datenübergabe in eigene Erweiterung mit Python

Beitrag von karolus » Mo 8. Jan 2024, 09:07

Hallo

Falls »path« optional sein soll? :

Code: Alles auswählen

                           [in] any path);
!Ein »any« darf nur einmal und als letztes Argument definiert werden!!
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

MoinMoin
Beiträge: 6
Registriert: So 7. Jan 2024, 12:38

Re: Datenübergabe in eigene Erweiterung mit Python

Beitrag von MoinMoin » Mo 8. Jan 2024, 10:09

karolus hat geschrieben:
Mo 8. Jan 2024, 09:07
Hallo

Falls »path« optional sein soll? :

Code: Alles auswählen

                           [in] any path);
!Ein »any« darf nur einmal und als letztes Argument definiert werden!!
o.k. - werde ich testen... hast Du ggf. eine Idee, wo ich das als Doku hätte finden können?

Dank für die Infos!

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2539
Registriert: Fr 10. Dez 2010, 10:01

Re: Datenübergabe in eigene Erweiterung mit Python

Beitrag von karolus » Mo 8. Jan 2024, 10:35

Hallo
hast Du ggf. eine Idee, wo ich das als Doku hätte finden können?
Das ist ne gute Frage… :(
eine konkrete, zusammenhängende und vollständige Dokumentation gibts eigentlich nirgends, du musst dich von einem Schnipsel zum nächsten hangeln…

https://www.openoffice.org/api/docs/com ... AddIn.html
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2539
Registriert: Fr 10. Dez 2010, 10:01

Re: Datenübergabe in eigene Erweiterung mit Python

Beitrag von karolus » Mo 8. Jan 2024, 10:53

LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten