3.5 KiB
Herramientas para depurar
INFO_DEBUG
Mostrar información de depuración en un cuadro de mensaje.
Si tiene cualquier problema en su código durante el desarrollo de sus macros, puede abrir un ticket de soporte en el sistema de ticket de este proyecto. Siempre copie la información de depuración mostrada en este mensaje.
import easymacro as app
def info():
app.msgbox(app.INFO_DEBUG)
return
debug
Mostrar información en la terminal.
import easymacro as app
def test_debug():
msg = 'Verificar esta información...'
app.debug(msg)
return
Para ver este mensaje, es necesario iniciar LibreOffice desde la línea de comandos:
soffice --calc
Después de ejecutar la macro anterior, debe de ver:
21/04/2023 17:04:49 - DEBUG - Verificar esta información...
info
Mostrar mensajes informativos en la terminal.
import easymacro as app
def test_info():
msg = 'Iniciando proceso...'
app.info(msg)
return
11/08/2022 18:23:53 - INFO - Iniciando proceso...
error
Mostrar mensajes de error en la terminal.
import easymacro as app
def test_error():
msg = 'Error 505'
app.error(msg)
return
11/08/2022 18:27:34 - ERROR - Error 505
save_log
Guardar registro en un archivo, automáticamente se agrega la fecha y hora.
import easymacro as app
def test_save_log():
app.save_log('/home/mau/log.txt', 'PyUNO')
app.save_log('/home/mau/log.txt', 'Maldito Mundo')
return
cat ~/log.txt
2022-08-11 18:30:11 - 'PyUNO'
2022-08-11 18:30:11 - 'Maldito Mundo'
msgbox
Mostrar cualquier información en un cuadro de mensaje.
import easymacro as app
def message():
msg = 'Por favor, consume menos.'
app.msgbox(msg)
msg = ('uno', 2, 'tres')
app.msgbox(msg)
msg = {'nombre': 'Teresa'}
app.msgbox(msg)
app.msgbox(app)
return
catch_exception
Capturar cualquier error que se produzca al ejecutar una macro.
!!! warning inline end "Cuidado"
Usa este método solo en tiempo de desarrollo. **No la use en producción**.
import easymacro as app
@app.catch_exception
def test_capturar_error():
r = 1 / 0
return
11/08/2022 18:44:36 - ERROR - test_capturar_error
Traceback (most recent call last):
File "/home/mau/.config/libreoffice/4/user/Scripts/python/pythonpath/easymacro/easytools.py", line 115, in func
return f(*args, **kwargs)
File "/home/mau/.config/libreoffice/4/user/Scripts/python/test.py", line 18, in test_capturar_error
r = 1 / 0
ZeroDivisionError: division by zero
mri
MRI es la mejor extensión para inspeccionar cualquier objeto UNO de LibreOffice. Necesita instalarla primero para poder llamarla.
import easymacro as app
def inspeccionar_objeto():
obj = app.active
app.mri(obj)
return
inspect
Inspeccionar un objeto.
import easymacro as app
def inspeccionar_objeto():
doc = app.active
data = app.inspect(doc)
for p in data.properties:
app.debug(p)
for m in data.methods:
app.debug(m)
return
Vaciar la información del objeto en una hoja de calculo.
def inspeccionar_objeto():
doc = app.active
app.inspect(doc, True)
return