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

199 lines
3.6 KiB
Markdown

+++
title = "Utilidades"
weight = 9
+++
### dict_to_property
Convertir diccionarios en PropertyValue
```python
datos = {
'Hidden': True,
'Password': 'letmein',
}
propiedades = app.dict_to_property(datos)
app.msgbox(propiedades)
```
### data_to_dict
Convertir `PropertyValue` en diccionarios
```python
datos = app.data_to_dict(propiedades)
app.msgbox(datos)
```
Convertir `tuplas` a diccionario.
```python
tupla_de_tuplas = (
('Hidden', True),
('Password', 'letmein'),
)
datos = app.data_to_dict(tupla_de_tuplas)
app.msgbox(datos)
```
Convertir `listas` a diccionario.
```python
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.
```python
app.sleep(5)
```
### render
Reemplazar variables en cadenas de texto.
```python
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.
```python
nombre_aplicacion = 'gnome-calculator'
app.shell.run(nombre_aplicacion)
```
Ejecutar comandos shell y capturar la salida.
```python
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.
```python
comandos = 'ls -lh /home/mau'
for line in app.shell.popen(comandos):
app.debug(line)
```
### digest
Obtener hash. Por default se regresa en hexadecimal.
```python
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.
```python
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][1]
```python
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)
```
[1]: https://es.wikipedia.org/wiki/Colores_web