Example #1
0
    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
Example #2
0
    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
Example #3
0
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
Example #4
0
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}")