From 21501d13022484fec08350b0bbf8b91f22a9c726 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Sun, 14 Jul 2019 22:36:18 +0200 Subject: Sun, 14 Jul 2019 22:36:18 +0200 --- "V\303\244stg\303\266ta/webbsida.wiki" | 61 ++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git "a/V\303\244stg\303\266ta/webbsida.wiki" "b/V\303\244stg\303\266ta/webbsida.wiki" index 1b33785..30d37ee 100644 --- "a/V\303\244stg\303\266ta/webbsida.wiki" +++ "b/V\303\244stg\303\266ta/webbsida.wiki" @@ -6,6 +6,7 @@ - [[#Webbsida#Design#Förbättringar|Förbättringar]] - [[#Webbsida#Karta|Karta]] - [[#Webbsida#Ansvariga för Stupan|Ansvariga för Stupan]] + - [[#Webbsida#Ansvariga för Stupan#ICal|ICal]] - [[#Webbsida#Ansvariga för Stupan#Kommentar från /etc/vastgota/ansvariga|Kommentar från /etc/vastgota/ansvariga]] - [[#Webbsida#Ansvariga för Stupan#Text till webbsida|Text till webbsida]] - [[#Webbsida#Ansvariga för Stupan#Kodlistning|Kodlistning]] @@ -164,6 +165,12 @@ mistorik ska visas. Om inget argument ges visas full historik. På ättestupans webbsida visas historik fyra veckor bakåt, samt så länkas det till en sida med full historik. +=== ICal === +Det finns också ett python-script (listat nedan) vilket läser igenom +filen och dumpar ut det till en icalendar blob. Tyvärr kör den inte +för nuvarande för att servern inte hade något bra sätt att integrera +godtyckliga script. + === Kommentar från /etc/vastgota/ansvariga === {{{sh # The following is a list of people responsible for Ättestupan. @@ -226,6 +233,60 @@ add_shortcode( 'ansvariga', function ($atts) { } ); }}} +{{{python +#!/usr/bin/env python3 + +# Simple program for generating a vcalendar of people responssible for +# Ättestupan. Runs as a CGI script. +# TODO Currently doesn't check that a line doesn't contain more that +# 75 octets. + +vcal_fmt = """BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//Västgöta Nation/2.0/ +{} +END:VCALENDAR""" + +vevent_fmt = """BEGIN:VEVENT +UID:vg_ansvarig_{date}@vastgota.nation.liu.se +DTSTART:{date}T190000 +DTEND:{date}T220000 +SUMMARY:Stupan: {ansvarig} ans. +END:VEVENT +""" + +# Should DTSTAMP be added, should signal when the event was created, +# which I can probably just set to the generation time (running time +# of this script)k + +def get_vcalendar(ansvarig_file): + """ + Returns a string containing a vcalendar of all people + responsible. + """ + str = "" + with open(ansvarig_file, "r") as f: + for line in f: + line = line.replace("\n", "") + if not line: continue + if line[0] == "#": continue + + date, ansvarig = line.split(" ", 1) + str += vevent_fmt.format(date=date.replace("-", ""), ansvarig=ansvarig) + + return vcal_fmt.format(str).replace("\n", "\r\n") + +def get_header(): + return """HTTP/1.1 +Connection: Close +Content-type: text/calendar +""" + +if __name__ == "__main__": + print(get_header()) + print(get_vcalendar("/etc/vastgota/ansvariga")) +}}} + --------------- All kod på den här sidan är manuellt inklippt. Skillnader från det som -- cgit v1.2.3