noticies / Desenvolupador

RPC made even easier

Com vaig exposar en el meu article anterior, el client KDE proporciona un conjunt de llibreries perquè els desenvolupadors puguin crear noves aplicacions fàcilment mentre utilitzen el servidor OpenObject per a l'emmagatzematge i la gestió de dades. El mòdul de la llibreria del qual parlaré avui al blog és Rpc.

El mateix RPC és força fàcil d'utilitzar en Python si feu servir XML-RPC, per al qual el servidor OpenObject ja proporciona una interfície. Però què passa si voleu utilitzar Net-RPC pel seu millor rendiment? La llibreria RPC del client KDE encapsula el protocol subjacent per al desenvolupador i proporciona una interfície fàcil d'usar fins i tot per a consultes asíncrones, que permeten que la interfície d'usuari continuï responent mentre les consultes s'executen en segon pla.

Abans d'entrar en detalls, permeteu-me informar-vos que actualment estem treballant en una neteja de l'API i en comprovacions de coherència. Alguns mòduls s'estan reanomenant i l'antic nom 'ktiny' es canviarà a 'Koo' (que significa 'KDE OpenObject').

Dit això, vegem un exemple senzill:

```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() ```

Alternativament, si esteu construint una aplicació GUI, podeu utilitzar crides asíncrones com aquesta:

python class MainWindow(QMainWindow):