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))
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))
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'))
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'))
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))
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))
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'))
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)
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'))
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'))
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
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'))
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'))
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'))
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'))
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))
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'))
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'))
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'))
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'))
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'))
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))
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'))
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'))
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))
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'))
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))
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'))
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))
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'))