#!/usr/bin/env python
from Pyro.EventService.Clients import Subscriber
from Server import symbols
from Pyro.errors import NamingError
class StockSubscriber(Subscriber):
def __init__(self, symbols):
Subscriber.__init__(self)
symbols=map(lambda s: 'STOCKQUOTE.'+s, symbols)
self.subscribe(symbols)
def event(self, event):
print event.subject,'=',event.msg
print "Available stock quote symbols:"
for s in symbols:
print ' ',s,
print
symbols=raw_input("Enter comma separated stock symbols to listen to: ").split(',')
try:
listener=StockSubscriber(symbols)
print 'Listening!'
listener.listen()
except NamingError:
print 'Cannot find service. Is the Event Service running?'
|