[Risolto] Python uno: errore selezione directory corrente

Creare una macro - Scrivere uno script - Usare le API
Rispondi
marcocurreli
Messaggi: 104
Iscritto il: sabato 10 aprile 2021, 13:28

[Risolto] Python uno: errore selezione directory corrente

Messaggio da marcocurreli »

Buonasera,
Ho uno script python che ha due argomenti: un file e una directory.
Nel codice della chiamata allo script il file lo seleziono tramite finestra di dialogo (e funziona perfettamente). Come directory invece vorrei che sia selezionata la directory corrente. Ho provato questo codice, ma mi dà errore:
TypeError: pyuno.fileUrlToSystemPath: expecting one string argument
su questa riga:

Codice: Seleziona tutto

dirdati = uno.fileUrlToSystemPath(p)

Codice: Seleziona tutto

def chiamaSuape(*args ):
    desktop = XSCRIPTCONTEXT.getDesktop()
    f = FilePicker()
    file = uno.fileUrlToSystemPath(f)

    #d = FolderPicker()
    #dirdati = uno.fileUrlToSystemPath(d)
 
    doc = XSCRIPTCONTEXT.getDocument()
    url = doc.URL
    systempath = uno.fileUrlToSystemPath(url)
    p = Path(systempath).parent
    dirdati = uno.fileUrlToSystemPath(p)
    
    suapexml(file, dirdati)
LibreOffice 7.3.0 -- Linux 5.16.4-arch
marcocurreli
Messaggi: 104
Iscritto il: sabato 10 aprile 2021, 13:28

Re: [Risolto] Python uno: errore selezione directory corrent

Messaggio da marcocurreli »

Alla fine ci sono riuscito. Lo strumento Debug dell'estensione APSO mi è stata molto utile.

Codice: Seleziona tutto

    doc = XSCRIPTCONTEXT.getDocument()
    url = doc.URL
    systempath = uno.fileUrlToSystemPath(url)
    p = Path(systempath).parent
    dirdati = str(p)
LibreOffice 7.3.0 -- Linux 5.16.4-arch
Rispondi