[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: scribus export.py



On 30/12/20 17:03, Franco Peci wrote:
> Di solito da Scribus con lo script export.py (che copio qui sotto)
> riesco ad esportare tutto il testo di un documento impaginato con lo
> stesso Scribus, compreso i nomi dei files delle immagini.
> In questi giorni con Scribus 1.5.6.1 quando eseguo lo script mi
> restituisce:
> Traceback (most recent call last):
>    File "<string>", line 11, in <module>
>    File "<string>", line 43
>      except Exception, e:
>                      ^
> SyntaxError: invalid syntax

Nel cambio di Python l'except è passata da:

except Classe, argomento:

a

except Class as argomento:

Comunque quel pezzo di codice fa schifo:

    try:
        if textfile == '':
            raise Exception
        exportText(textfile)
    except Exception, e:
        print e

Tira una eccezione vuota al solo sopo di stampare... niente. :)

Molto meglio così:

    if textfile == '':
        print("Non hai specificato il nome del file")
    else:
        exportText(textfile)

Hope this helps,

federico

Penso sia dovuto forse alla versione di Python installato nella mia Debian testing. Chiedo se alcuni di voi esperti di Python possono suggerirmi delle modifiche allo script.

Ciao e grazie
Franco

========================
import scribus


def exportText(textfile):
     page = 1
     pagenum = scribus.pageCount()
     T = []
     content = []
     while (page <= pagenum):
         scribus.gotoPage(page)
         d = scribus.getPageItems()
         strpage = str(page)
         T.append('Page '+ strpage + '\n\n')
         for item in d:
             if (item[1] == 2):
                 imgname = scribus.getImageFile(item[0])
                 T.append(item[0]+': ' + imgname + '\n')
         page += 1
         T.append('\n')
     output_file = open(textfile,'w')
     output_file.writelines(T)
     output_file.close()
     endmessage = textfile + ' was created'
     scribus.messageBox("Finished", endmessage,icon=0,button1=1)


if scribus.haveDoc():
     textfile = scribus.fileDialog('Enter name of file to save to', \
                                  filter='Text Files (*.txt);;All Files (*)')
     try:
         if textfile == '':
             raise Exception
         exportText(textfile)
     except Exception, e:
         print e

else:
    scribus.messageBox('Export Error', 'You need a Document open, and a frame selected.', \
                        icon=0, button1=1)



Reply to: