# Collection of code snippets by Arne Vajhøj 
# (from articles on eksperten.dk / vajhoej.dk written sometime between 2004 and now) 
import stomp
from rdb import dbapi2
import sys

class MyListener(object):
    def on_message(self, headers, message):
        f1 = int(message)
        print('Received f1 = %d' % (f1))
        con = dbapi2.connect(database='disk4:[rdb]test')
        curs = con.cursor()
        curs.execute('SELECT f2 FROM t1 WHERE f1 = ?', (f1,))
        f2 = curs.fetchone()[0]
        curs.close()
        con.commit()
        con.close()
        print('Processed f2 = %s' % (f2))

HOST = 'arnepc4'
PORT = 61613
QNAME = '/queue/t1insert'

con = stomp.Connection([(HOST, PORT)])
con.set_listener('', MyListener())
con.start()
con.connect()
con.subscribe(destination=QNAME, id=0, ack='auto')
print('Ready. Press enter to exit.')
sys.stdin.read(1)
con.disconnect()
