#!/usr/bin/python # $Id: sensor.py,v 1.2 2003/04/29 06:44:17 ifindkarma Exp $ import KNCONFIG import threading, time, urllib, sys, traceback, inspect, pprint, types, os, copy from sgmllib import SGMLParser # Include local libraries: sys.path = ["../"] + sys.path from libkn import kn gknr = kn(host=KNCONFIG.PUBSUBSERVER_HOSTNAME, port=KNCONFIG.PUBSUBSERVER_PORT, traceOnly=KNCONFIG.PUBSUBSERVER_TRACEONLY) import os #There is still way too much reliance on side effects &c in all this code #has to be cleaned up!!! class GenericParser: def reset(self): pass def feed(self, s): pass def close(self): pass
def __init__(self,serverDict): self.serverDict=server self.ms=kn(host=server['host'], port=server['port']) self.ms.start()
'low','last','unknown1','unknown2','change','volume'] numericQuoteElements=[4,5,7,8,9,9,9,9,9,12,13] #repeat the ones you want simulated most often tickers={} transmittedData={} currentData={} #didTransmit=0 gotDataException=0 sentSimulatedData=0 totalTransmitted=0 tickersByTens_last=None tickersByTens=[''] tickersCount=0 gettingData=0 alwaysSimulate=1 knr=kn(host=KNCONFIG.PUBSUBSERVER_HOSTNAME,port=KNCONFIG.PUBSUBSERVER_PORT,traceOnly=KNCONFIG.PUBSUBSERVER_TRACEONLY) #========================================================================================== # Gets called for each new kn_subtopics event for the nasdaq topic #========================================================================================== def newTickerCallback(ev): """for each new ticker add it to the dictionary, but also add it in groups of NASDAQ_MAXRQUESTS to tickersByTen""" global tickers,tickersByTens_last,tickersByTens,tickersCount global gettingData ticker=ev.kn_payload.lower() if ticker[:3]=='kn_':
def __init__(self, serverDict): self.serverDict = server self.ms = kn(host=server['host'], port=server['port']) self.ms.start()