summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/get_program_for_pixel_flut.py34
-rwxr-xr-xsrc/program_parser.py4
2 files changed, 21 insertions, 17 deletions
diff --git a/src/get_program_for_pixel_flut.py b/src/get_program_for_pixel_flut.py
index 5320c9c..e86489c 100644
--- a/src/get_program_for_pixel_flut.py
+++ b/src/get_program_for_pixel_flut.py
@@ -1,19 +1,23 @@
-from program_parser import program_parser_factory, Event
-
+import os
-program_parser = program_parser_factory()
+from program_parser import program_parser_factory, Event
-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
+def main():
+ program_parser = program_parser_factory()
-program_formatted = '\n'.join(programs_formatted_list)
-print(program_formatted)
+ 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()
diff --git a/src/program_parser.py b/src/program_parser.py
index 9ffdd52..f47a0f8 100755
--- a/src/program_parser.py
+++ b/src/program_parser.py
@@ -67,13 +67,13 @@ class ProgramParser:
program = sorted(program, key=lambda x: x.start_date)
return program
- def get_events_to_show(self, program: list[Event], programs_to_show_count=4) -> list[Event]:
+ def get_events_to_show(self, program: list[Event], lines=4) -> list[Event]:
current_datetime = datetime.datetime.now() if not self.override_date else self.override_date
#current_datetime = datetime.datetime(year=2025, month=7, day=18, hour=15, minute=30) # DEBUG
# Get events to show
events_to_show = []
for event in program:
- if len(events_to_show) >= programs_to_show_count:
+ if len(events_to_show) >= lines:
break
if event.end_date > current_datetime:
events_to_show.append(event)