easymacro/doc/content/es/tools/utils/_index.md

3.6 KiB

+++ title = "Utilidades" weight = 9 +++

dict_to_property

Convertir diccionarios en PropertyValue

datos = {
    'Hidden': True,
    'Password': 'letmein',
}
propiedades = app.dict_to_property(datos)

app.msgbox(propiedades)

data_to_dict

Convertir PropertyValue en diccionarios

datos = app.data_to_dict(propiedades)
app.msgbox(datos)

Convertir tuplas a diccionario.

tupla_de_tuplas = (
    ('Hidden', True),
    ('Password', 'letmein'),
)
datos = app.data_to_dict(tupla_de_tuplas)
app.msgbox(datos)

Convertir listas a diccionario.

lista_de_listas = [
    ['Hidden', True],
    ['Password', 'letmein'],
]
datos = app.data_to_dict(lista_de_listas)
app.msgbox(datos)

sleep

Hacer una pausa de X segundos.

app.sleep(5)

render

Reemplazar variables en cadenas de texto.

plantilla = """Hola $nombre

Te envío este archivo: $archivo

Saludos cordiales
"""

datos = {
    'nombre': 'Ingrid Bergman',
    'archivo': 'carta_de_amor.odt'
}

resultado = app.render(plantilla, datos)

app.msgbox(resultado)

run

Ejecutar un programa.

nombre_aplicacion = 'gnome-calculator'
app.shell.run(nombre_aplicacion)

Ejecutar comandos shell y capturar la salida.

comandos = 'ls -lh ~'
resultado = app.shell.run(comandos, True)
app.debug(resultado)
drwxr-xr-x  4 mau mau 4.0K Aug 15 23:36 Desktop
drwxr-xr-x  6 mau mau 4.0K Jun  9 23:32 Documents
drwxr-xr-x  5 mau mau 4.0K Aug 16 13:09 Downloads
drwxr-xr-x  3 mau mau 4.0K Aug 14 15:19 Pictures
drwxr-xr-x 10 mau mau 4.0K Jun 19 19:36 Projects
drwxr-xr-x  2 mau mau 4.0K May 11 22:36 Templates
drwxr-xr-x  2 mau mau 4.0K Jul 19 13:37 Videos

Ejectuar comandos y capturar la salida línea a línea.

comandos = 'ls -lh /home/mau'
for line in app.shell.popen(comandos):
    app.debug(line)

digest

Obtener hash. Por default se regresa en hexadecimal.

    datos = 'LibreOffice con Python'

    digest = app.hash.digest('md5', datos)
    app.debug('MD5 = ', digest)

    digest = app.hash.digest('sha1', datos)
    app.debug('SHA1 = ', digest)

    digest = app.hash.digest('sha256', datos)
    app.debug('SHA256 = ', digest)

    digest = app.hash.digest('sha512', datos)
    app.debug('SHA512 = ', digest)
16/08/2022 18:48:07 - DEBUG - MD5 =     3801759ead20abc3ce0d0095289bdcfd
16/08/2022 18:48:07 - DEBUG - SHA1 =    1df74aaae9658c21074aa5a2d4c2055dcf79f0db
16/08/2022 18:48:07 - DEBUG - SHA256 =  228e90b15b6259307e580677939b1f2f45e9317461e98f603af8fcac0f9a598f
16/08/2022 18:48:07 - DEBUG - SHA512 =  3ef45f79f3bfd2b251d250489c91b631306456405510397fb1a7ee37005d196376b7d6ca86a9895f4eb97eb74813965c24d6564a383f4bdb1360665c8fbb192a

Para obtener bytes.

digest = app.hash.digest('md5', datos, False)
app.debug('MD5 = ', digest)
16/08/2022 18:48:07 - DEBUG - MD5 =     b'8\x01u\x9e\xad \xab\xc3\xce\r\x00\x95(\x9b\xdc\xfd'

config

Puede guardar datos de configuración de su macro o extensión dentro del perfil de usuario.

nombre = 'mi_extension'
datos = {
    'ruta': '/home/mau/pruebas',
    'guardar': True,
}

if app.config.set(nombre, datos):
    app.debug('Configuración guardada...')

Y recuperarlos en cualquier momento.

datos = app.config.get(nombre)
app.debug(datos)

color

Puede ver los colores que puede usar en Wikipedia Colores Web

color_nombre = 'darkblue'
color = app.color(color_nombre)
app.debug(color)

color_rgb = (125, 200, 10)
color = app.color(color_rgb)
app.debug(color)

color_html = '#008080'
color = app.color(color_html)
app.debug(color)