199 lines
3.6 KiB
Markdown
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
|