def do_thread_loop(self): if ( self.running ): if ( self.mqtt_connected ): for stock in self.tickerlist: ticker = stock.ticker print "querrying for ", ticker now = datetime.datetime.now() open_time = now.replace( hour=self.openhour, minute=self.openmin, second=0 ) close_time = now.replace( hour=self.closehour, minute=self.closemin, second=0 ) open_day = False for day in self.tradingdow: if ( day == datetime.datetime.today().weekday() ): open_day = True if (( now > open_time) and ( now < close_time ) and open_day): self.mqttc.publish( self.basetopic + "/" + ticker + "/name", stock.name, qos = 2, retain=True) try: price = ystockquote.get_price( ticker ) self.mqttc.publish( self.basetopic + "/" + ticker + "/price", price, qos = 2, retain=True) #TODO add previous close value!!!!!!1 change = ystockquote.get_change( ticker ) self.mqttc.publish( self.basetopic + "/" + ticker + "/change", change, qos = 2, retain=True) volume = ystockquote.get_volume( ticker ) self.mqttc.publish( self.basetopic + "/" + ticker + "/volume", volume, qos = 2, retain=True) if ( stock.high_low ): yrhigh = ystockquote.get_52_week_high( ticker ) self.mqttc.publish( self.basetopic + "/" + ticker + "/yrhigh", yrhigh, qos = 2, retain=True) yrlow = ystockquote.get_52_week_low( ticker ) self.mqttc.publish( self.basetopic + "/" + ticker + "/yrlow", yrlow, qos = 2, retain=True) if ( stock.mavg ): avg50 = ystockquote.get_50day_moving_avg( ticker ) self.mqttc.publish( self.basetopic + "/" + ticker + "/50day-ma", avg50, qos = 2, retain=True) avg200 = ystockquote.get_200day_moving_avg( ticker ) self.mqttc.publish( self.basetopic + "/" + ticker + "/200day-ma", avg200, qos = 2, retain=True) self.mqttc.publish( self.basetopic + "/" + ticker + "/time", time.strftime( "%x %X" ), qos = 2, retain=True) except: print "querry error in ystockquote." else: print "Markets closed" self.mqttc.publish( self.basetopic + "/" + ticker + "/null", "", qos = 2, retain=True)
def test_get_50day_moving_avg(self): value = ystockquote.get_50day_moving_avg(self.symbol) self.assertIsInstance(value, str)