summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/program_parser.py13
-rw-r--r--src/static/main.css13
-rw-r--r--src/templates/program.html7
-rw-r--r--src/text_tv.py3
4 files changed, 26 insertions, 10 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
diff --git a/src/static/main.css b/src/static/main.css
index 927e678..2db37ed 100644
--- a/src/static/main.css
+++ b/src/static/main.css
@@ -19,7 +19,7 @@ body {
}
img {
- width: 102%; /* Make location icon line up */
+ width: 100%;
}
hr {
@@ -36,6 +36,7 @@ hr {
.program-entry {
position: relative;
+ margin-bottom:0.4em;
}
.program-progress {
@@ -51,10 +52,16 @@ hr {
position: absolute;
top: 0px;
left: 0px;
+ width: 100%;
}
-.program-divider {
- margin-bottom: 0.4em;
+.program-text > * {
+ float: left;
+ white-space: preserve-spaces;
+}
+
+.program-spacer {
+ color: #1a4047;
}
.rainbow {
diff --git a/src/templates/program.html b/src/templates/program.html
index c02689d..67b37c8 100644
--- a/src/templates/program.html
+++ b/src/templates/program.html
@@ -10,7 +10,12 @@
{% if 'hacker jeopardy' in event.title | lower %} rainbow
{% elif 'æg' in event.title | lower %} egg{% endif %}"
style="width: {{event.progress}}%"></div>
- <div class="program-text">{{ event.title }} {{ event.time}} {{ event.icon }}</div>
+ <div class="program-text">
+ <span class="program-title">{{ event.short }}</span>
+ <span class="program-spacer">{{ event.spacer }} </span>
+ <span class="program-time">{{ event.time}}</span>
+ <span class="program-icon"> {{ event.icon }}</span>
+ </div>
</div>
<br class="program-divider">
{% endfor %}
diff --git a/src/text_tv.py b/src/text_tv.py
index 0aeb684..21ff2e8 100644
--- a/src/text_tv.py
+++ b/src/text_tv.py
@@ -27,8 +27,7 @@ def update():
def program():
events_to_show: list[Event] = program_parser.get_events_to_show(program_parser.get_program())
#{event.title} {day} {start_time}-{end_time} {icon}
- json = [{'title': a.title, 'day': a.day, 'time': a.time, 'progress': a.progress, 'icon': a.icon} for a in events_to_show]
- return json
+ return events_to_show
@app.route('/text')