RPC made even easier
Como expuse en mi artículo anterior, el cliente de KDE proporciona un conjunto de bibliotecas para que los desarrolladores creen nuevas aplicaciones fácilmente mientras usan el servidor OpenObject para el almacenamiento y la gestión de datos. El módulo de la biblioteca del que hablaré hoy es Rpc.
El propio RPC es bastante fácil de usar en Python si utilizas XML-RPC, para el cual el servidor OpenObject ya proporciona una interfaz. Pero, ¿y si quieres usar Net-RPC por su mejor rendimiento? La biblioteca RPC del cliente KDE encapsula el protocolo subyacente para el desarrollador y proporciona una interfaz fácil de usar incluso para consultas asíncronas, lo que permite que la interfaz de usuario siga respondiendo mientras las consultas se ejecutan en segundo plano.
Antes de entrar en detalles, permíteme informarte de que actualmente estamos trabajando en una limpieza de la API y en comprobaciones de consistencia. Algunos módulos se están renombrando y el antiguo nombre 'ktiny' se cambiará a 'Koo' (que significa 'KDE OpenObject').
Dicho esto, veamos un ejemplo sencillo:
```python import Koo.Rpc session = Koo.Rpc.Session() session.login( 'http://admin:admin@localhost:8069', 'database' )
or: session.login( 'socket://admin:admin@localhost:8069', 'database' )
session.call( '/object', 'execute', 'res.partner', 'search', [('name','ilike','NaN')] ) session.logout() ```
Alternativamente, si estás construyendo una aplicación GUI, puedes usar llamadas asíncronas así:
python
class MainWindow(QMainWindow):