Skip to content

Instantly share code, notes, and snippets.

@dsuch
dsuch / invoke-retry-examples-1.1.py
Last active December 19, 2015 13:59
Invoke/retry in Zato 1.1 usage example
# zato-labs
from zato.invoke_retry import InvokeRetry, NeedsRetry
# Zato
from zato.server.service import Service
retry_repeats = 5
retry_seconds = 1
class Example1(InvokeRetry):
@dsuch
dsuch / oe.py
Created July 21, 2013 16:19
Zato-OpenERP integration usage example
from zato.openerp import OpenERPService
class MyOEService(OpenERPService):
def handle(self):
# Fetch connection to OpenERP
oe = self.openerp.get('my-oe-instance')
# Grab info on user by their login
model = oe.conn.get_model('res.users')
@dsuch
dsuch / startup_services.ini
Created July 26, 2013 12:08
Start-up services in Zato 1.2
[startup_services]
my.service1=Sample payload for a startup service
my.service2=file://../../my-payload.json
@dsuch
dsuch / amqp1.py
Last active December 20, 2015 14:28
How-to: sending AMQP messages
from zato.server.service import Service
class MyService(Service):
def handle(self):
msg = 'My message'
conn_name = 'My CRM connection'
exchange_name = 'My exchange'
routing_key = ''
self.outgoing.amqp.send(msg, conn_name, exchange_name, routing_key)
@dsuch
dsuch / zato-redis-paginator-usage-example.py
Created August 11, 2013 16:44
zato-redis-paginator usage example
>>> from uuid import uuid4
>>> from redis import StrictRedis
>>> from zato.redis_paginator import ListPaginator
>>>
>>> conn = StrictRedis()
>>> key = 'paginator:{}'.format(uuid4().hex)
>>>
>>> for x in range(1, 18):
... conn.rpush(key, x)
...
@dsuch
dsuch / sqlalchemy_json.py
Last active December 9, 2016 19:57
Converting SQLAlchemy objects to JSON
# stdlib
from json import dumps
def to_json(model):
""" Returns a JSON representation of an SQLAlchemy-backed object.
"""
json = {}
json['fields'] = {}
json['pk'] = getattr(model, 'id')
@dsuch
dsuch / how-to-json1.py
Created August 23, 2013 09:34
Invoking JSON web services in Zato ESB
# stdlib
from json import dumps
# Zato
from zato.server.service import Service
class MyService(Service):
def handle(self):
endpoint = self.outgoing.plain_http.get('Get Last Payment')
@dsuch
dsuch / sample-soap.xml
Created August 28, 2013 17:59
Sample SOAP request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="http://example.com/ns">
<soapenv:Header/>
<soapenv:Body>
<ns:request>
<ns:customer>
<ns:id>123</ns:id>
<ns:name type="NCHZ">John Brown</ns:name>
</ns:customer>
</ns:request>
@dsuch
dsuch / sample-soap-service.py
Created August 28, 2013 17:59
An example of accessing a SOAP request
from zato.server.service import Service
class MyService(Service):
def handle(self):
root = self.request.payload
self.logger.info(type(root))
self.logger.info(root.customer.id.text)
self.logger.info(root.customer.name.text)
self.logger.info(root.customer.name.get('type'))
@dsuch
dsuch / soap-logging.txt
Created August 28, 2013 18:05
SOAP logging
INFO - <type 'lxml.objectify.ObjectifiedElement'>
INFO - 123
INFO - John Brown
INFO - NCHZ