示例#1
0
 def morocco(self):  # scalable
     cols = SchedulerState.get_cols()
     rows = SchedulerState.get_rows()
     self.model.set_all((0.73, 0.13, 0.16))
     for c in range(int(cols / 10 * 5), int(cols / 10 * 6)):
         for r in range(int(rows / 6 * 3), int(rows / 6 * 4)):
             self.model.set_pixel(r, c, (0, 0.4, 0.2))
示例#2
0
 def tunisia(self):  # scalable
     cols = SchedulerState.get_cols()
     rows = SchedulerState.get_rows()
     self.model.set_all('red')
     for c in range(int(cols / 8 * 3), int(cols / 8 * 6)):
         self.model.set_pixel(rows // 2, c, (1, 1, 1))
         self.model.set_pixel(rows // 2 + 1, c, (1, 1, 1))
示例#3
0
 def china(self):  # scalable
     cols = SchedulerState.get_cols()
     rows = SchedulerState.get_rows()
     self.model.set_all('red')
     for r in range(0, min(2, rows)):
         for c in map(lambda x: min(x, cols), [1, 2, 4]):
             self.model.set_pixel(r, c, name_to_rgb('yellow'))
示例#4
0
 def japan(self):  # scalable
     rows = SchedulerState.get_rows()
     cols = SchedulerState.get_cols()
     self.model.set_all((1, 1, 1))
     for r in range(max(1, rows // 4), max(3, int(rows / 4 * 3))):
         for c in range(max(1, cols // 3), max(3, int(cols / 3 * 2))):
             self.model.set_pixel(r, c, name_to_rgb('red'))
示例#5
0
 def liechtenstein(self):  # scalable
     rows = SchedulerState.get_rows()
     cols = SchedulerState.get_cols()
     for i in range(0, rows // 2):
         self.model.set_line(i, (0, 0.16, 0.5))
     for i in range(rows // 2, rows):
         self.model.set_line(i, (0.8, 0.05, 0.13))
示例#6
0
 def ukraine(self):  # scalable
     cols = SchedulerState.get_cols()
     rows = SchedulerState.get_rows()
     for i in range(0, rows // 2):
         self.model.set_line(i, (1, 0.83, 0))
     for i in range(rows // 2, rows):
         self.model.set_line(i, (0, 0.35, 0.74))
示例#7
0
 def vietnam(self):  # scalable
     cols = SchedulerState.get_cols()
     rows = SchedulerState.get_rows()
     self.model.set_all('red')
     for c in range(cols // 2, cols // 2 + 2):
         self.model.set_pixel(rows // 2, c, name_to_rgb('yellow'))
         self.model.set_pixel(rows // 2 + 1, c, name_to_rgb('yellow'))
示例#8
0
 def __init__(self, conn, addr):
     Thread.__init__(self)
     print_flush("Pixels :", Mesh.pixels)
     #Manage adressing procedures
     Mesh.addressed = not (Mesh.pixels == {})
     self.ama_check = 0
     self.previous_state = 1
     self.model = Model(SchedulerState.get_rows(),
                        SchedulerState.get_cols())
     #Communication with mesh network config
     self.msg = Frame()
     self.mesh_conn = conn
     self.mesh_addr = addr
     self.l = Listen(conn)
     self.l.start()
     self.stopped = False
     #Communication with RabbitMQ config
     self.channel = None
     self.connection = None
     credentials = pika.PlainCredentials(
         os.environ['RABBITMQ_DEFAULT_USER'],
         os.environ['RABBITMQ_DEFAULT_PASS'])
     self.params = pika.ConnectionParameters(host='rabbit',
                                             credentials=credentials,
                                             heartbeat=0)
示例#9
0
 def malta(self):
     cols = SchedulerState.get_cols()
     b1 = cols // 2
     for i in range(0, b2):
         self.model.set_column(i, name_to_rgb('white'))
     for i in range(b2, cols):
         self.model.set_column(i, name_to_rgb('red'))
示例#10
0
 def poland(self):  # scalable
     cols = SchedulerState.get_cols()
     rows = SchedulerState.get_rows()
     for i in range(0, rows // 2):
         self.model.set_line(0, name_to_rgb('white'))
     for i in range(rows // 2, rows):
         self.model.set_line(i, name_to_rgb('red'))
示例#11
0
    def print_scheduler_info(self):
        if self.count % 100 == 0:
            self.count = 0
            logging.info(" ========== Scheduling ==========")
            logging.info("-------- Geometry")
            logging.info("\t\t {} rows * {} cols".format(
                SchedulerState.get_rows(), SchedulerState.get_cols()))
            logging.info("-------- Disabled")
            logging.info("\t\t {}".format(SchedulerState.get_disabled()))
            logging.info("-------- Enable State")
            logging.info(SchedulerState.get_enable_state())
            logging.info("-------- Is Frontage Up?")
            logging.info(SchedulerState.is_frontage_on())
            logging.info("-------- Usable?")
            logging.info(SchedulerState.usable())
            logging.info("-------- Current App")
            logging.info(SchedulerState.get_current_app())
            logging.info('Forced App ? {}'.format(
                SchedulerState.get_forced_app()))
            logging.info("---------- Waiting Queue")
            logging.info(SchedulerState.get_user_app_queue())
            if SchedulerState.get_enable_state() == 'scheduled':
                logging.info("---------- Scheduled ON")
                logging.info(SchedulerState.get_scheduled_on_time().strftime(
                    "%d-%m-%Y %H:%M:%S UTC+00"))
                logging.info("---------- Scheduled OFF")
                logging.info(SchedulerState.get_scheduled_off_time().strftime(
                    "%d-%m-%Y %H:%M:%S UTC+00"))
                logging.info("---------- TIME NOW")
                logging.info(datetime.datetime.now().strftime(
                    "%d-%m-%Y %H:%M:%S UTC+00"))

        self.count += 1
示例#12
0
 def libya(self):  # scalable
     rows = SchedulerState.get_rows()
     cols = SchedulerState.get_cols()
     self.model.set_all((0, 0, 0))
     for i in range(rows // 3):
         self.model.set_line(i, (1, 0, 0))
     for i in range(int(rows / 3 * 2), rows):
         self.model.set_line(i, name_to_rgb('darkgreen'))
示例#13
0
 def sweden(self):  # scalable
     cols = SchedulerState.get_cols()
     rows = SchedulerState.get_rows()
     self.model.set_all((0, 0.41, 0.66))
     for i in range(rows // 2, rows // 2 + 1):
         self.model.set_line(i, name_to_rgb('yellow'))
     for i in range(cols // 3, cols // 3 + 2):
         self.model.set_column(i, name_to_rgb('yellow'))
示例#14
0
 def lituania(self):  # scalable
     rows = SchedulerState.get_rows()
     cols = SchedulerState.get_cols()
     for i in range(rows // 3):
         self.model.set_line(i, name_to_rgb('yellow'))
     for i in range(rows // 3, int(rows / 3 * 2)):
         self.model.set_line(i, name_to_rgb('darkgreen'))
     for i in range(int(rows / 3 * 2), rows):
         self.model.set_line(i, name_to_rgb('red'))
示例#15
0
 def luxembourg(self):  # scalable
     rows = SchedulerState.get_rows()
     cols = SchedulerState.get_cols()
     for i in range(rows // 3):
         self.model.set_line(i, name_to_rgb('red'))
     for i in range(rows // 3, int(rows / 3 * 2)):
         self.model.set_line(i, name_to_rgb('white'))
     for i in range(int(rows / 3 * 2), rows):
         self.model.set_line(i, name_to_rgb('skyblue'))
示例#16
0
 def yemen(self):  # scalable
     cols = SchedulerState.get_cols()
     rows = SchedulerState.get_rows()
     for i in range(0, rows // 3):
         self.model.set_line(i, name_to_rgb('red'))
     for i in range(rows // 3, int(rows / 3 * 2)):
         self.model.set_line(i, name_to_rgb('white'))
     for i in range(int(rows / 3 * 2), rows):
         self.model.set_line(i, (0, 0, 0))
示例#17
0
 def netherlands(self):  # scalable
     cols = SchedulerState.get_cols()
     rows = SchedulerState.get_rows()
     for i in range(0, rows // 3):
         self.model.set_line(i, name_to_rgb('firebrick'))
     for i in range(rows // 3, int(rows / 3 * 2)):
         self.model.set_line(i, name_to_rgb('white'))
     for i in range(int(rows / 3 * 2), rows):
         self.model.set_line(i, name_to_rgb('navy'))
示例#18
0
 def venezuela(self):  # scalable
     cols = SchedulerState.get_cols()
     rows = SchedulerState.get_rows()
     for i in range(0, rows // 3):
         self.model.set_line(i, name_to_rgb('yellow'))
     for i in range(rows // 3, int(rows / 3 * 2)):
         self.model.set_line(i, name_to_rgb('navy'))
     for i in range(int(rows / 3 * 2), rows):
         self.model.set_line(i, name_to_rgb('firebrick'))
示例#19
0
 def russia(self):
     cols = SchedulerState.get_cols()
     b1 = cols // 3
     b2 = cols - b1
     for i in range(0, b1):
         self.model.set_column(i, name_to_rgb('white'))
     for i in range(b1, b2):
         self.model.set_column(i, name_to_rgb('navy'))
     for i in range(b2, cols):
         self.model.set_column(i, name_to_rgb('firebrick'))
示例#20
0
 def peru(self):
     cols = SchedulerState.get_cols()
     b1 = cols // 3
     b2 = cols - b1
     for i in range(0, b1):
         self.model.set_column(i, name_to_rgb('red'))
     for i in range(b1, b2):
         self.model.set_column(i, name_to_rgb('white'))
     for i in range(b2, cols):
         self.model.set_column(i, name_to_rgb('red'))
示例#21
0
 def italy(self):
     cols = SchedulerState.get_cols()
     b1 = cols // 3
     b2 = cols - b1
     for i in range(0, b1):
         self.model.set_column(i, name_to_rgb('green'))
     for i in range(b1, b2):
         self.model.set_column(i, name_to_rgb('white'))
     for i in range(b3, cols):
         self.model.set_column(i, name_to_rgb('firebrick'))
示例#22
0
 def nigeria(self):
     cols = SchedulerState.get_cols()
     b1 = cols // 3
     b2 = cols - b1
     for i in range(0, b1):
         self.model.set_column(i, (0, 0.53, 0.31))
     for i in range(b1, b2):
         self.model.set_column(i, name_to_rgb('white'))
     for i in range(b2, cols):
         self.model.set_column(i, (0, 0.53, 0.31))
示例#23
0
 def french(self):  # scalable
     cols = SchedulerState.get_cols()
     b1 = cols // 3
     b2 = cols - b1
     for i in range(0, b1):
         self.model.set_column(i, name_to_rgb('navy'))
     for i in range(b1, b2):
         self.model.set_column(i, name_to_rgb('white'))
     for i in range(b2, cols):
         self.model.set_column(i, name_to_rgb('red'))
示例#24
0
 def mali(self):
     cols = SchedulerState.get_cols()
     b1 = cols // 3
     b2 = cols - b1
     for i in range(0, b1):
         self.model.set_column(i, name_to_rgb('green'))
     for i in range(b1, b2):
         self.model.set_column(i, name_to_rgb('yellow'))
     for i in range(b2, rows):
         self.model.set_column(i, name_to_rgb('red'))
示例#25
0
 def ireland(self):
     cols = SchedulerState.get_cols()
     b1 = cols // 3
     b2 = cols - b1
     for i in range(0, b1):
         self.model.set_column(i, (0, 0.62, 0.38))
     for i in range(b1, b2):
         self.model.set_column(i, (1, 1, 1))
     for i in range(b2, cols):
         self.model.set_column(i, (0.96, 0.5, 0))
示例#26
0
 def romania(self):  # scalable
     cols = SchedulerState.get_cols()
     b1 = cols // 3
     b2 = cols - b1
     for i in range(0, b1):
         self.model.set_column(i, name_to_rgb('navy'))
     for i in range(b1, b2):
         self.model.set_column(i, name_to_rgb('yellow'))
     for i in range(b2, cols):
         self.model.set_column(i, name_to_rgb('firebrick'))
示例#27
0
 def finland(self):  # scalable
     rows = SchedulerState.get_rows()
     cols = SchedulerState.get_cols()
     midr = rows // 2
     tierc = cols / 3
     self.model.set_all((1, 1, 1))
     for i in range(min(1, midr - 1), midr + 1):
         self.model.set_line(i, (0, 0.2, 0.5))
     for i in range(min(int(tierc - 1), 1), int(tierc + 1)):
         self.model.set_column(i, (0, 0.2, 0.5))
示例#28
0
 def uruguay(self):  # scalable
     rows = SchedulerState.get_rows()
     cols = SchedulerState.get_cols()
     for i in range(0, rows, 2):
         self.model.set_line(i, name_to_rgb('navy'))
     for i in range(1, rows, 2):
         self.model.set_line(i, (1, 1, 1))
     for r in range(0, 2):
         for c in [0, 1]:
             self.model.set_pixel(r, c, name_to_rgb('yellow'))
示例#29
0
 def emirates(self):  # scalable
     cols = SchedulerState.get_cols()
     rows = SchedulerState.get_rows()
     tierr = rows / 3
     self.model.set_all((0, 0, 0))
     for i in range(0, int(tierr)):
         self.model.set_line(i, (0, 0.45, 0.18))
     for i in range(int(tierr), int(2 * tierr)):
         self.model.set_line(i, (1, 1, 1))
     for i in range(max(1, cols // 3)):
         self.model.set_column(i, (1, 0, 0))
示例#30
0
 def lebanon(self):  # scalable
     rows = SchedulerState.get_rows()
     cols = SchedulerState.get_cols()
     self.model.set_all((1, 1, 1))
     for i in range(rows // 3):
         self.model.set_line(i, (1, 0, 0))
     for i in range(int(rows / 3 * 2), rows):
         self.model.set_line(i, (1, 0, 0))
     for c in range(cols // 3, int(cols / 3 * 2)):
         for r in range(rows // 3, int(rows / 3 * 2)):
             self.model.set_pixel(r, c, name_to_rgb('darkgreen'))