diff options
Diffstat (limited to 'src/get_program_for_pixel_flut.py')
| -rw-r--r-- | src/get_program_for_pixel_flut.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/get_program_for_pixel_flut.py b/src/get_program_for_pixel_flut.py new file mode 100644 index 0000000..5557184 --- /dev/null +++ b/src/get_program_for_pixel_flut.py @@ -0,0 +1,53 @@ +import logging +import os + +import program_parser +from program_parser import Event + +class CustomFormatter(logging.Formatter): + grey = "\x1b[90;20m" + blue = "\x1b[34;20m" + yellow = "\x1b[33;20m" + red = "\x1b[31;20m" + bold_red = "\x1b[31;1m" + reset = "\x1b[0m" + format = "%(asctime)s,%(msecs)03d %(levelname)-8s [%(filename)s:%(lineno)d] %(message)s" + + FORMATS = { + logging.DEBUG: grey + format + reset, + logging.INFO: blue + format + reset, + logging.WARNING: yellow + format + reset, + logging.ERROR: red + format + reset, + logging.CRITICAL: bold_red + format + reset + } + + def format(self, record): + log_fmt = self.FORMATS.get(record.levelno) + formatter = logging.Formatter(log_fmt) + return formatter.format(record) + +logger = logging.getLogger(__name__) +if os.environ.get('FLASK_DEBUG') == '1': # Local development + logger.root.setLevel(logging.DEBUG) +else: # Production + logger.root.setLevel(logging.INFO) + +stream_handler = logging.StreamHandler() +stream_handler.setFormatter(CustomFormatter()) +logger.root.addHandler(stream_handler) + +events_to_show: list[Event] = program_parser.get_events_to_show(program_parser.get_program(), programs_to_show_count = 1000) +#{event.title} {day} {start_time}-{end_time} {icon} +programs_formatted_list = [] +last_event = None +for event in events_to_show: + programs_formatted_list.append(f"{event.title} {event.time} {event.icon} {event.progress if event.progress > 0 else ''}") + if last_event and last_event.day != event.day: + # Day change + programs_formatted_list.append(f'\n\n{event.day}\n') + last_event = event + +program_formatted = '\n'.join([f"" for a in events_to_show ]) +program_formatted = '\n'.join(programs_formatted_list) +print(program_formatted) + |
