{"id":30,"date":"2010-04-10T11:00:00","date_gmt":"2010-04-10T08:00:00","guid":{"rendered":"http:\/\/tuijasonkkila.fi\/?p=30"},"modified":"2024-09-20T13:26:25","modified_gmt":"2024-09-20T10:26:25","slug":"viela-kerran-radioputkesta-vtimezone-kunnolla-mukaan","status":"publish","type":"post","link":"https:\/\/tuijasonkkila.fi\/?p=30","title":{"rendered":"Viel\u00e4 kerran Radioputkesta: VTIMEZONE kunnolla mukaan"},"content":{"rendered":"<p>Yahoon putkesta tuleva vajavainen iCal alkoi nyppi\u00e4. Haen <a href=\"http:\/\/pipes.yahoo.com\/pipes\/pipe.info?_id=6602675e62d5d95c7333285517e6a471\">t\u00e4m\u00e4n<\/a> outputin nyt Linux-ymp\u00e4rist\u00f6\u00f6n, rakennan siell\u00e4 standardinmukaisen tiedoston, siirr\u00e4n sen webbipalvelimelle, ja tilaan sen sielt\u00e4 Google-kalenterilla.<\/p>\n<p>Skripti\u00e4 varten tein kaksi samana pysyv\u00e4\u00e4 aputiedostoa <i>alku <\/i>ja <i>vtimezone<\/i>, jotka yhdistet\u00e4\u00e4n muuttuvaan tietoon jokaisella ajokerralla.<\/p>\n<p>alku:<\/p>\n<p><code><br \/>BEGIN:VCALENDAR<br \/>VERSION:2.0<br \/>PRODID:-\/\/ts.fi\/iCal\/EN<br \/><\/code><\/p>\n<p>vtimezone:<\/p>\n<p><code><br \/>BEGIN:VTIMEZONE<br \/>TZID:Europe\/Helsinki<br \/>BEGIN:STANDARD<br \/>DTSTART:19811001T040000<br \/>RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10<br \/>TZNAME:Europe\/Helsinki<br \/>TZOFFSETFROM:+0300<br \/>TZOFFSETTO:+0200<br \/>END:STANDARD<br \/>BEGIN:DAYLIGHT<br \/>DTSTART:19810301T030000<br \/>RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3<br \/>TZNAME:Europe\/Helsinki<br \/>TZOFFSETFROM:+0200<br \/>TZOFFSETTO:+0300<br \/>END:DAYLIGHT<br \/>END:VTIMEZONE<br \/><\/code><\/p>\n<p>T\u00e4m\u00e4 shell-skripti on ajastettuna kerran vuorokaudessa.<\/p>\n<p><code><br \/>#!\/bin\/bash<\/p>\n<p># Yahoo!Pipesin tuottaman iCal-muotoisen tiedoston URL<br \/>url='http:\/\/pipes.yahoo.com\/pipes\/pipe.run?_id=6602675e62d5d95c7333285517e6a471&amp;_render=ical&amp;urlinput1=http%3A%2F%2Fspreadsheets.google.com%2Fpub%3Fkey%3Dtd1iey6KTeeTgGlE6U3_PPg%26output%3Dcsv'<\/p>\n<p># Haetaan data, ja tallennetaan se tiedostoksi <br \/>curl $url -o tolisten.ics<\/p>\n<p># Otetaan alussa olevat metatiedot talteen<br \/>grep X-WR tolisten.ics &gt;XWR<\/p>\n<p># Yhdistet\u00e4\u00e4n alku, metatiedot ja aikavy\u00f6hyketiedot<br \/>cat alku XWR vtimezone &gt;beforeevents<\/p>\n<p># Otetaan tapahtumatiedot erilleen<br \/>sed -n '\/BEGIN:VEVENT\/,$p' tolisten.ics &gt;events<\/p>\n<p># Tyhj\u00e4t rivit pois, ja korvataan DTSTART- ja DTEND-rivit<br \/>perl -pe 's\/^n\/\/;s\/DTSTART:\/DTSTART;TZID=Europe\/Helsinki:\/g;s\/DTEND:\/DTEND;TZID=Europe\/Helsinki:\/g' events &gt;tzidevents<\/p>\n<p># Yhdistet\u00e4\u00e4n alkuosa tapahtumatietoihin<br \/>cat beforeevents tzidevents &gt;all.ics<\/p>\n<p># Siirret\u00e4\u00e4n valmis tiedosto webbipalvelimelle<br \/>mv all.ics ~\/public_html\/yle.ics<\/p>\n<p># Lopuksi viel\u00e4 tiedoston lukuoikeudet kuntoon<br \/>chmod go+rx ~\/public_html\/yle.ics<br \/><\/code><\/p>\n<p>iCal-standardi edellytt\u00e4isi lis\u00e4ksi jokaiselle tapahtumalle uniikin ID:n. Google-kalenteri ei sit\u00e4 v\u00e4ltt\u00e4m\u00e4tt\u00e4 tarvitse, mutta ehk\u00e4 sen voisi viel\u00e4 tuohon viritell\u00e4.<\/p>\n<p><iframe src=\"http:\/\/www.facebook.com\/plugins\/like.php?href=http%3A%2F%2Ftts2.blogspot.com%2F2010%2F04%2Fviela-kerran-radioputkesta-vtimezone.html&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light\" scrolling=\"no\" frameborder=\"0\" allowTransparency=\"true\" style=\"border:none; overflow:hidden; width:450px; height:px\"><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Yahoon putkesta tuleva vajavainen iCal alkoi nyppi\u00e4. Haen t\u00e4m\u00e4n outputin nyt Linux-ymp\u00e4rist\u00f6\u00f6n, rakennan siell\u00e4 standardinmukaisen tiedoston, siirr\u00e4n sen webbipalvelimelle, ja tilaan sen sielt\u00e4 Google-kalenterilla. Skripti\u00e4 varten tein kaksi samana pysyv\u00e4\u00e4 aputiedostoa alku ja vtimezone, jotka yhdistet\u00e4\u00e4n muuttuvaan tietoon jokaisella ajokerralla. alku: BEGIN:VCALENDARVERSION:2.0PRODID:-\/\/ts.fi\/iCal\/EN vtimezone: BEGIN:VTIMEZONETZID:Europe\/HelsinkiBEGIN:STANDARDDTSTART:19811001T040000RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10TZNAME:Europe\/HelsinkiTZOFFSETFROM:+0300TZOFFSETTO:+0200END:STANDARDBEGIN:DAYLIGHTDTSTART:19810301T030000RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3TZNAME:Europe\/HelsinkiTZOFFSETFROM:+0200TZOFFSETTO:+0300END:DAYLIGHTEND:VTIMEZONE T\u00e4m\u00e4 shell-skripti on ajastettuna kerran vuorokaudessa. #!\/bin\/bash # Yahoo!Pipesin tuottaman iCal-muotoisen &hellip; <a href=\"https:\/\/tuijasonkkila.fi\/?p=30\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Viel\u00e4 kerran Radioputkesta: VTIMEZONE kunnolla mukaan<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[149],"tags":[65,62,64,63,39],"class_list":["post-30","post","type-post","status-publish","format-standard","hentry","category-diverse-coding","tag-google-calendar","tag-ical","tag-kalenterit","tag-linux","tag-yahoo-pipes"],"_links":{"self":[{"href":"https:\/\/tuijasonkkila.fi\/index.php?rest_route=\/wp\/v2\/posts\/30","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tuijasonkkila.fi\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tuijasonkkila.fi\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tuijasonkkila.fi\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tuijasonkkila.fi\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=30"}],"version-history":[{"count":1,"href":"https:\/\/tuijasonkkila.fi\/index.php?rest_route=\/wp\/v2\/posts\/30\/revisions"}],"predecessor-version":[{"id":629,"href":"https:\/\/tuijasonkkila.fi\/index.php?rest_route=\/wp\/v2\/posts\/30\/revisions\/629"}],"wp:attachment":[{"href":"https:\/\/tuijasonkkila.fi\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=30"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tuijasonkkila.fi\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=30"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tuijasonkkila.fi\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=30"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}