diff options
Diffstat (limited to 'src/program_parser.py')
| -rwxr-xr-x | src/program_parser.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/program_parser.py b/src/program_parser.py index c88a255..1fae528 100755 --- a/src/program_parser.py +++ b/src/program_parser.py @@ -10,6 +10,8 @@ logger = logging.getLogger(__name__) # Set the logger name, to the name of the m @dataclasses.dataclass class Event: title: str = None + short: str = None + spacer: str = '' room: str = None day: str = None start_date: datetime.datetime = None @@ -83,12 +85,13 @@ class ProgramParser: if event.end_date > current_datetime: events_to_show.append(event) - def format_program(event: Event, cli=False) -> str: + def format_program(event: Event) -> str: if len(event.title) > self.title_max_length: # Truncate title by deleting was 1-3 chars and putting ... - event.title = f'{event.title[:self.title_max_length - 3]}...' + event.short = f'{event.title[:self.title_max_length - 3]}...' else: - event.title += " " * (self.title_max_length - len(event.title)) # Pad title + event.short = event.title + event.spacer = "." * (self.title_max_length - len(event.title)) # Pad title event.day = event.start_date.strftime('%a') start_time = event.start_date.strftime('%H:%M') end_time = event.end_date.strftime('%H:%M') @@ -97,10 +100,12 @@ class ProgramParser: event.icon = '?' logger.warning(f"NEW ICON NEEDED!!! for {event.room}") event.time = f"{start_time}-{end_time}" - return f"{event.title} {event.day} {start_time}-{end_time} {event.icon}" + return f"{event.short}{event.spacer} {event.day} {start_time}-{end_time} {event.icon}" for event_to_show in events_to_show: event_to_show.pretty = format_program(event_to_show) + + # Get progress duration_sec = (event_to_show.end_date - event_to_show.start_date).total_seconds() progress_sec = (current_datetime - event_to_show.end_date).total_seconds() progress = 100 + (progress_sec / duration_sec) * 100 |
