summaryrefslogtreecommitdiff
path: root/src/program.py
blob: b70e501f48439b1585d6fd1c5ae6bd3789f9009e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import os

from program_parser import program_parser_factory, Event

def main():
    '''
    Get program in text for, for pixel flut client
    '''
    program_parser = program_parser_factory()

    lines: int = int(os.environ["LINES"]) if "LINES" in os.environ else 100
    events_to_show: list[Event] = program_parser.get_events_to_show(program_parser.get_program(), lines=lines)
    #{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 += [f'', '', event.day,'']
        last_event = event
    program_formatted = '\n'.join(programs_formatted_list[:lines])
    print(program_formatted)

if __name__ == '__main__':
    main()