Fixed poster encoding.

This commit is contained in:
eline 2023-08-03 19:34:30 +02:00
parent 8b55a17040
commit 775245c3b4

View File

@ -5,8 +5,9 @@ from dateutil import relativedelta
EVENTS_CSV_PATH = "dogadjaji.csv" EVENTS_CSV_PATH = "dogadjaji.csv"
CURRENT_TIME = dt.date.today() CURRENT_TIME = dt.date.today()
NEXT_MONTH = CURRENT_TIME + relativedelta.relativedelta(months=1, day=1) NEXT_MONTH = CURRENT_TIME + relativedelta.relativedelta(months=1, day=1)
DAYS_OF_WEEK_SR = ("PON", "UTO", "SRE", "CET", "PET", "SUB", "NED") DAYS_OF_WEEK_SR = ("PON", "UTO", "SRE", "ČET", "PET", "SUB", "NED")
MONTHS_SR = ("Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar") MONTHS_SR = ("Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust",\
"Septembar", "Oktobar", "Novembar", "Decembar")
def load_events(csv_path:str) -> list[dict]: def load_events(csv_path:str) -> list[dict]:
events = [] events = []
@ -20,11 +21,9 @@ def load_events(csv_path:str) -> list[dict]:
event_title = event[3] event_title = event[3]
current_event = {"date":event_date_parsed, current_event = {"date":event_date_parsed,
"time":event_time, "time":event_time,
"title":event_title} "title":event_title.strip()}
if event_date_parsed >= NEXT_MONTH: if event_date_parsed >= NEXT_MONTH:
events.append(current_event) events.append(current_event)
return events return events
def render_table(events:list[dict])-> str: def render_table(events:list[dict])-> str:
@ -33,18 +32,23 @@ def render_table(events:list[dict])-> str:
date = DAYS_OF_WEEK_SR[event["date"].weekday()] date = DAYS_OF_WEEK_SR[event["date"].weekday()]
day = event["date"].day day = event["date"].day
title = event["title"] title = event["title"]
html += f"<tr><td>{date}</td><td>{day}.</td><td>{title}</td></tr>\n" html += f"\t\t\t<tr> <td>{date}</td> <td>{day}.</td> <td>{title}</td> </tr>\n"
return html return html
def render_page(table: str) -> str: def render_page(table: str) -> str:
head = "<head><link rel=\"stylesheet\" href=\"styles/poster.css\"><head>" head = "<head>\n\t<meta charset=\"UTF-8\">\n\t<link rel=\"stylesheet\"\
href=\"styles/poster.css\">\n<head>"
header = "<h1>DECENTRALA</h1>" header = "<h1>DECENTRALA</h1>"
subheader = f"<h2>Plan za {MONTHS_SR[NEXT_MONTH.month - 1]}</h2>" subheader = f"<h2>Plan za {MONTHS_SR[NEXT_MONTH.month - 1]}</h2>"
link = "<div id=link>dmz.rs</div>" link = "<div id=link>dmz.rs</div>"
p1 = "<p>Radionice počinju u <strong>19h</strong> u Društvenom centru Krov u <strong>Kraljice Marije 47</strong>.</p>" p1 = "<p>Radionice počinju u <strong>19h</strong> u Društvenom centru Krov\
p2 = "<p>Ulaz u zgradu je u prolazu pored Štark prodavnice slatkiša, odmah pored menjačnice. DC Krov je na poslednjem spratu.</p>" u <strong>Kraljice Marije 47</strong>.</p>"
return f"<html>{head}<body><main>{header}{subheader}<table>{table}</table>{p1}{p2}{link}</main></body></html>" p2 = "<p>Ulaz u zgradu je u prolazu pored Štark prodavnice slatkiša, odmah\
pored menjačnice. DC Krov je na poslednjem spratu.</p>"
return f"<html>\n{head}\n<body>\n\t<main>\n\t\t{header}\n\t\t{subheader}\
\n\t\t<table>\n{table}\t\t</table>\n\t\t{p1}\n\t\t{p2}\n\t\t{link}\n\t</main>\
\n</body>\n</html>"
def main(): def main():
events = load_events(EVENTS_CSV_PATH) events = load_events(EVENTS_CSV_PATH)
table = render_table(events) table = render_table(events)
@ -53,6 +57,5 @@ def main():
f.write(page) f.write(page)
f.close() f.close()
if __name__ == "__main__": if __name__ == "__main__":
main() main()