def delete_image(self, glance_client, img_name): try: LOG.log("Deleting image %s...", img_name) img = self.find_image(glance_client, img_name) glance_client.images.delete(img.id) except Exception: LOG.error("Failed to delete the image %s.", img_name) return False return True
def delete_image(self, img_name): """Delete an image by name.""" try: LOG.log("Deleting image %s...", img_name) img = self.find_image(image_name=img_name) self.glance_client.images.delete(img.id) except Exception: LOG.error("Failed to delete the image %s.", img_name) return False return True
class PROCESS_ALL(object): def __init__(self): self.L = LOG() self.w = IRQ_DATA(0) self.g = IRQ_DATA(0.0) self.e = IRQ_DATA(0.0) self.hour = int(time.strftime('%M')) % 24 # self.hour = int(time.strftime('%H')) self.sdate = time.strftime('%d-%b-%y') self.mqtt_topic_water = "power_meter/water" self.mqtt_topic_gas = "power_meter/gas" self.mqtt_topic_electricity = "power_meter/electricity" self.mqtt_topic_last_will = "power_meter/status/A" self.cleared_mqtt = True self.new_day = False self.led_on = led_on self.led_off = led_off def publish(self, topic, data): self.led_on() time.sleep(0.01) print data, self.led_off() self.L.log(data) def update_data(self): if self.w.update_data() == True: self.publish(self.mqtt_topic_water, self.w.get()) if self.g.update_data() == True: self.publish(self.mqtt_topic_gas, self.g.get()) if self.e.update_data() == True: self.publish(self.mqtt_topic_electricity, self.e.get()) def update_hour(self, hour): self.w.update_hour(hour) self.g.update_hour(hour) self.e.update_hour(hour) self.publish(self.mqtt_topic_water + '/' + str(hour), self.w.get(hour)) self.publish(self.mqtt_topic_gas + '/' + str(hour), self.g.get(hour)) self.publish(self.mqtt_topic_electricity + '/' + str(hour), self.e.get(hour)) def clear_mqtt_data(self): for h in range(1, 24): # Do not clear 1st-hour data (00:00-01:00) self.publish( self.mqtt_topic_water + '/' + str(h), 0, ) self.publish(self.mqtt_topic_gas + '/' + str(h), 0.0) self.publish(self.mqtt_topic_electricity + '/' + str(h), 0.0) def write_file(self): file_name = "log/" + self.sdate + '.csv' # Folder must exist with open(file_name, 'w') as fp: fp.write(self.sdate + ', W, G, E') # for h, (w, g, e) in enumerate(zip(self.h_w, self.h_g, self.h_e)): # fp.write(','.join(['\n'+str(h), str(w), str(g), str(e)])) for h in range(24): fp.write(','.join([ '\n' + str(h), str(self.w.get(h)), str(self.g.get(h)), str(self.e.get(h)) ])) def run(self): try: while True: self.update_data() self.update_data() # Extra call, no update expected if int(time.strftime('%M')) % 24 != self.hour: self.update_hour(self.hour % 24) self.hour = int(time.strftime('%M')) % 24 self.L.log(str(self.hour) + " -------------------") self.write_file() # if int(time.strftime('%H')) != self.hour: # self.update_hour(self.hour) # self.hour = int(time.strftime('%H')) if self.hour == 1 and self.cleared_mqtt == False: # New day 01:00 - clear mqtt data self.clear_mqtt_data() self.cleared_mqtt = True self.new_day = False self.L.log(self.hour) # if time.strftime('%d-%b-%y') != self.sdate: # New day if self.hour == 0 and self.new_day == False: self.new_day = True self.write_file() self.w.clear_data() self.g.clear_data() self.e.clear_data() self.cleared_mqtt = False self.sdate = time.strftime('%d-%b-%y') self.L.log(self.hour) time.sleep(1) self.w.add(1) self.g.add(0.01) self.e.add(0.001) time.sleep(1) except (KeyboardInterrupt, SystemExit): self.L.log("Exit...") except (Exception) as e: self.L.log(traceback.format_exc()) finally: pass
def do_sum_and_print_result(number1, number2): result = int(number1) + int(number2) LOG.log(logging.WARNING, "this is printed because loglevel is set in each worker cluster") LOG.log(logging.WARNING, f" {number1} + {number2} = {result}")