Created
December 6, 2011 16:20
-
-
Save ynkdir/1438784 to your computer and use it in GitHub Desktop.
windows-live-calendar-holiday
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!vim -u | |
let s:calendar_list = [ | |
\ ['アルゼンチン', 'Días festivos de Argentina', 'D%C3%ADas%20festivos%20de%20Argentina'], | |
\ ['オーストラリア', 'Australia Holidays', 'Australia+Holidays'], | |
\ ['オーストリア (ドイツ語)', 'Feiertage in Österreich', 'Feiertage%20in%20%C3%96sterreich'], | |
\ ['ベルギー (オランダ語)', 'Belgische feestdagen', 'Belgische+feestdagen'], | |
\ ['ベルギー (フランス語)', 'Calendrier des jours fériés en Belgique', 'Calendrier%20des%20jours%20f%C3%A9ri%C3%A9s%20en%20Belgique'], | |
\ ['ブルガリア', 'Празници в България', '%D0%9F%D1%80%D0%B0%D0%B7%D0%BD%D0%B8%D1%86%D0%B8%20%D0%B2%20%D0%91%D1%8A%D0%BB%D0%B3%D0%B0%D1%80%D0%B8%D1%8F'], | |
\ ['ブラジル', 'Feriados no Brasil', 'Feriados+no+Brasil'], | |
\ ['カナダ (英語)', 'Canada Holidays', 'Canada+Holidays'], | |
\ ['カナダ (フランス語)', 'Calendrier des jours fériés au Canada', 'Calendrier%20des%20jours%20f%C3%A9ri%C3%A9s%20au%20Canada'], | |
\ ['チリ', 'Días festivos de Chile', 'D%C3%ADas%20festivos%20de%20Chile'], | |
\ ['中国', '中国假日', '%E4%B8%AD%E5%9B%BD%E5%81%87%E6%97%A5'], | |
\ ['クロアチア', 'Praznici u Hrvatskoj', 'Praznici+u+Hrvatskoj'], | |
\ ['チェコ共和国', 'České svátky', '%C4%8Cesk%C3%A9%20sv%C3%A1tky'], | |
\ ['デンマーク', 'Danske helligdage', 'Danske+helligdage'], | |
\ ['エストニア', 'Eesti pühad', 'Eesti%20p%C3%BChad'], | |
\ ['フィンランド', 'Suomalaiset pyhäpäivät', 'Suomalaiset%20pyh%C3%A4p%C3%A4iv%C3%A4t'], | |
\ ['フランス', 'Vacances en France', 'Vacances+en+France'], | |
\ ['ドイツ', 'Deutsche Feiertage', 'Deutsche+Feiertage'], | |
\ ['ギリシャ', 'Αργίες στην Ελλάδα', '%CE%91%CF%81%CE%B3%CE%AF%CE%B5%CF%82%20%CF%83%CF%84%CE%B7%CE%BD%20%CE%95%CE%BB%CE%BB%CE%AC%CE%B4%CE%B1'], | |
\ ['香港', '中国假日', '%E4%B8%AD%E5%9B%BD%E5%81%87%E6%97%A5'], | |
\ ['ハンガリー', 'Magyar ünnepnapok', 'Magyar%20%C3%BCnnepnapok'], | |
\ ['インド (英語)', 'India Holidays', 'India+Holidays'], | |
\ ['インド (グジャラート語)', 'ભારતની રજાઓ', '%E0%AA%AD%E0%AA%BE%E0%AA%B0%E0%AA%A4%E0%AA%A8%E0%AB%80%20%E0%AA%B0%E0%AA%9C%E0%AA%BE%E0%AA%93'], | |
\ ['インド (ヒンズー語)', 'भारत के अवकाश', '%E0%A4%AD%E0%A4%BE%E0%A4%B0%E0%A4%A4%20%E0%A4%95%E0%A5%87%20%E0%A4%85%E0%A4%B5%E0%A4%95%E0%A4%BE%E0%A4%B6'], | |
\ ['インド (カンナダ語)', 'ಭಾರತದ ರಜಾದಿನಗಳು', '%E0%B2%AD%E0%B2%BE%E0%B2%B0%E0%B2%A4%E0%B2%A6%20%E0%B2%B0%E0%B2%9C%E0%B2%BE%E0%B2%A6%E0%B2%BF%E0%B2%A8%E0%B2%97%E0%B2%B3%E0%B3%81'], | |
\ ['インド (マラヤーラム語)', 'ഇന്ത്യന് അവധിദിനങ്ങള്', '%E0%B4%87%E0%B4%A8%E0%B5%8D%E0%B4%A4%E0%B5%8D%E0%B4%AF%E0%B4%A8%E0%B5%8D%E2%80%8D%20%E0%B4%85%E0%B4%B5%E0%B4%A7%E0%B4%BF%E0%B4%A6%E0%B4%BF%E0%B4%A8%E0%B4%99%E0%B5%8D%E0%B4%99%E0%B4%B3%E0%B5%8D%E2%80%8D'], | |
\ ['インド (マラーティー語)', 'भारतातील सुट्ट्या', '%E0%A4%AD%E0%A4%BE%E0%A4%B0%E0%A4%A4%E0%A4%BE%E0%A4%A4%E0%A5%80%E0%A4%B2%20%E0%A4%B8%E0%A5%81%E0%A4%9F%E0%A5%8D%E0%A4%9F%E0%A5%8D%E0%A4%AF%E0%A4%BE'], | |
\ ['インド (タミール語)', 'இந்தியா விடுமுறைகள்', '%E0%AE%87%E0%AE%A8%E0%AF%8D%E0%AE%A4%E0%AE%BF%E0%AE%AF%E0%AE%BE%20%E0%AE%B5%E0%AE%BF%E0%AE%9F%E0%AF%81%E0%AE%AE%E0%AF%81%E0%AE%B1%E0%AF%88%E0%AE%95%E0%AE%B3%E0%AF%8D'], | |
\ ['インド (テルグ語)', 'భారతదేశ సెలవు దినాలు', '%E0%B0%AD%E0%B0%BE%E0%B0%B0%E0%B0%A4%E0%B0%A6%E0%B1%87%E0%B0%B6%20%E0%B0%B8%E0%B1%86%E0%B0%B2%E0%B0%B5%E0%B1%81%20%E0%B0%A6%E0%B0%BF%E0%B0%A8%E0%B0%BE%E0%B0%B2%E0%B1%81'], | |
\ ['インドネシア (英語)', 'Indonesia Holidays', 'Indonesia+Holidays'], | |
\ ['インドネシア (インドネシア語)', 'Hari Libur Indonesia', 'Hari+Libur+Indonesia'], | |
\ ['イタリア', 'Festività Italia', 'Festivit%C3%A0%20Italia'], | |
\ ['アイルランド', 'Ireland Holidays', 'Ireland+Holidays'], | |
\ ['日本', '日本の休日', '%E6%97%A5%E6%9C%AC%E3%81%AE%E4%BC%91%E6%97%A5'], | |
\ ['韓国', '대한민국 공휴일', '%EB%8C%80%ED%95%9C%EB%AF%BC%EA%B5%AD+%EA%B3%B5%ED%9C%B4%EC%9D%BC'], | |
\ ['ラトビア', 'Latviešu svētki', 'Latvie%C5%A1u%20sv%C4%93tki'], | |
\ ['リトアニア', 'Lietuviškos šventės', 'Lietuvi%C5%A1kos%20%C5%A1vent%C4%97s'], | |
\ ['マレーシア (英語)', 'Malaysia Holidays', 'Malaysia+Holidays'], | |
\ ['マレーシア (マレー語)', 'Hari Kelepasan Am Malaysia', 'Hari+Kelepasan+Am+Malaysia'], | |
\ ['メキシコ', 'Días festivos de México', 'D%C3%ADas%20festivos%20de%20M%C3%A9xico'], | |
\ ['オランダ (オランダ語)', 'Nederlandse feestdagen', 'Nederlandse+feestdagen'], | |
\ ['ニュージーランド', 'New Zealand Holidays', 'New+Zealand+Holidays'], | |
\ ['ノルウェー', 'Norske helligdager', 'Norske+helligdager'], | |
\ ['フィリピン', 'Philippine Holidays', 'Philippine+Holidays'], | |
\ ['ポーランド', 'Polskie święta', 'Polskie%20%C5%9Bwi%C4%99ta'], | |
\ ['ポルトガル', 'Feriados em Portugal', 'Feriados+em+Portugal'], | |
\ ['ルーマニア', 'Sărbători din România', 'S%C4%83rb%C4%83tori%20din%20Rom%C3%A2nia'], | |
\ ['ロシア', 'Российские праздники', '%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B5%20%D0%BF%D1%80%D0%B0%D0%B7%D0%B4%D0%BD%D0%B8%D0%BA%D0%B8'], | |
\ ['セルビア語 (キリル)', 'Празници у Србији', '%D0%9F%D1%80%D0%B0%D0%B7%D0%BD%D0%B8%D1%86%D0%B8%20%D1%83%20%D0%A1%D1%80%D0%B1%D0%B8%D1%98%D0%B8'], | |
\ ['セルビア語 (ラテン)', 'Praznici u Srbiji', 'Praznici+u+Srbiji'], | |
\ ['シンガポール', 'Singapore Holidays', 'Singapore+Holidays'], | |
\ ['スロバキア', 'Slovenské sviatky', 'Slovensk%C3%A9%20sviatky'], | |
\ ['スロベニア', 'Prazniki v Sloveniji', 'Prazniki+v+Sloveniji'], | |
\ ['南アフリカ', 'South Africa Holidays', 'South+Africa+Holidays'], | |
\ ['スペイン (カタロニア語)', 'Vacances a Espanya', 'Vacances+a+Espanya'], | |
\ ['スペイン (スペイン語)', 'Días festivos en España', 'D%C3%ADas+festivos+en+Espa%C3%B1a'], | |
\ ['スウェーデン', 'Svenska helgdagar', 'Svenska+helgdagar'], | |
\ ['スイス (フランス語)', 'Calendrier des jours fériés en Suisse', 'Calendrier%20des%20jours%20f%C3%A9ri%C3%A9s%20en%20Suisse'], | |
\ ['スイス (ドイツ語)', 'Feiertage in der Schweiz', 'Feiertage+in+der+Schweiz'], | |
\ ['タイ', 'วันหยุดของไทย', '%E0%B8%A7%E0%B8%B1%E0%B8%99%E0%B8%AB%E0%B8%A2%E0%B8%B8%E0%B8%94%E0%B8%82%E0%B8%AD%E0%B8%87%E0%B9%84%E0%B8%97%E0%B8%A2'], | |
\ ['トルコ', 'Türkiye Tatil Günleri', 'T%C3%BCrkiye%20Tatil%20G%C3%BCnleri'], | |
\ ['ウクライナ', 'Українські свята', '%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%81%D1%8C%D0%BA%D1%96%20%D1%81%D0%B2%D1%8F%D1%82%D0%B0'], | |
\ ['英国', 'UK Holidays', 'UK+Holidays'], | |
\ ['米国 (英語)', 'US Holidays', 'US+Holidays'], | |
\ ['米国 (スペイン語)', 'Días festivos en Estados Unidos', 'D%C3%ADas+festivos+en+Estados+Unidos'], | |
\ ['ベトナム', 'Ngày nghỉ lễ tại Việt Nam', 'Nga%CC%80y%20nghi%CC%89%20l%C3%AA%CC%83%20ta%CC%A3i%20Vi%C3%AA%CC%A3t%20Nam'], | |
\ ] | |
function! s:fetch(id) | |
let url = printf('https://calendar.calendar.live.com/calendar/%s/calendar.ics', a:id) | |
" tabnew `=url` | |
" for windows | |
" tabnew | |
" execute 'buffer ' . bufnr(url, 1) | |
" XXX: hmm, not work | |
let out = system('curl -k -s ' . shellescape(url)) | |
let ics = split(out, '\r\n\|\r\|\n') | |
return s:parse(ics) | |
endfunction | |
" TODO: http://tools.ietf.org/html/rfc5545 | |
function! s:parse(lines) | |
let events = [] | |
for line in a:lines | |
if line =~ '^BEGIN:VEVENT$' | |
let event = {} | |
elseif line =~ '^END:VEVENT$' | |
call add(events, event) | |
elseif line =~ '^DTSTART;' | |
let _ = matchlist(line, '^DTSTART;VALUE=DATE:\(\d\{4}\)\(\d\{2}\)\(\d\{2}\)$') | |
let event['dtstart'] = printf('%s-%s-%s', _[1], _[2], _[3]) | |
elseif line =~ '^SUMMARY:' | |
let _ = matchlist(line, '^SUMMARY:\(.*\)$') | |
let event['summary'] = _[1] | |
endif | |
endfor | |
return events | |
endfunction | |
function! s:order_by_dtstart(a, b) | |
let a = a:a['dtstart'] | |
let b = a:b['dtstart'] | |
return a < b ? -1 : a > b ? 1 : 0 | |
endfunction | |
function! s:main() | |
for [name, id, id_escaped] in s:calendar_list | |
echo name | |
let entries = s:fetch(id_escaped) | |
for entry in sort(entries, 's:order_by_dtstart') | |
echo [entry['dtstart'], entry['summary']] | |
endfor | |
endfor | |
endfunction | |
try | |
call s:main() | |
endtry |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Windows Live カレンダーヘルプセンター - 代替祝日カレンダー | |
http://explore.live.com/windows-live-calendar-holiday-alternative-calendars-ui | |
アルゼンチン,Días festivos de Argentina,D%C3%ADas%20festivos%20de%20Argentina | |
オーストラリア,Australia Holidays,Australia+Holidays | |
オーストリア (ドイツ語),Feiertage in Österreich,Feiertage%20in%20%C3%96sterreich | |
ベルギー (オランダ語),Belgische feestdagen,Belgische+feestdagen | |
ベルギー (フランス語),Calendrier des jours fériés en Belgique,Calendrier%20des%20jours%20f%C3%A9ri%C3%A9s%20en%20Belgique | |
ブルガリア,Празници в България,%D0%9F%D1%80%D0%B0%D0%B7%D0%BD%D0%B8%D1%86%D0%B8%20%D0%B2%20%D0%91%D1%8A%D0%BB%D0%B3%D0%B0%D1%80%D0%B8%D1%8F | |
ブラジル,Feriados no Brasil,Feriados+no+Brasil | |
カナダ (英語),Canada Holidays,Canada+Holidays | |
カナダ (フランス語),Calendrier des jours fériés au Canada,Calendrier%20des%20jours%20f%C3%A9ri%C3%A9s%20au%20Canada | |
チリ,Días festivos de Chile,D%C3%ADas%20festivos%20de%20Chile | |
中国,中国假日,%E4%B8%AD%E5%9B%BD%E5%81%87%E6%97%A5 | |
クロアチア,Praznici u Hrvatskoj,Praznici+u+Hrvatskoj | |
チェコ共和国,České svátky,%C4%8Cesk%C3%A9%20sv%C3%A1tky | |
デンマーク,Danske helligdage,Danske+helligdage | |
エストニア,Eesti pühad,Eesti%20p%C3%BChad | |
フィンランド,Suomalaiset pyhäpäivät,Suomalaiset%20pyh%C3%A4p%C3%A4iv%C3%A4t | |
フランス,Vacances en France,Vacances+en+France | |
ドイツ,Deutsche Feiertage,Deutsche+Feiertage | |
ギリシャ,Αργίες στην Ελλάδα,%CE%91%CF%81%CE%B3%CE%AF%CE%B5%CF%82%20%CF%83%CF%84%CE%B7%CE%BD%20%CE%95%CE%BB%CE%BB%CE%AC%CE%B4%CE%B1 | |
香港,中国假日,%E4%B8%AD%E5%9B%BD%E5%81%87%E6%97%A5 | |
ハンガリー,Magyar ünnepnapok,Magyar%20%C3%BCnnepnapok | |
インド (英語),India Holidays,India+Holidays | |
インド (グジャラート語),ભારતની રજાઓ,%E0%AA%AD%E0%AA%BE%E0%AA%B0%E0%AA%A4%E0%AA%A8%E0%AB%80%20%E0%AA%B0%E0%AA%9C%E0%AA%BE%E0%AA%93 | |
インド (ヒンズー語),भारत के अवकाश,%E0%A4%AD%E0%A4%BE%E0%A4%B0%E0%A4%A4%20%E0%A4%95%E0%A5%87%20%E0%A4%85%E0%A4%B5%E0%A4%95%E0%A4%BE%E0%A4%B6 | |
インド (カンナダ語),ಭಾರತದ ರಜಾದಿನಗಳು,%E0%B2%AD%E0%B2%BE%E0%B2%B0%E0%B2%A4%E0%B2%A6%20%E0%B2%B0%E0%B2%9C%E0%B2%BE%E0%B2%A6%E0%B2%BF%E0%B2%A8%E0%B2%97%E0%B2%B3%E0%B3%81 | |
インド (マラヤーラム語),ഇന്ത്യന് അവധിദിനങ്ങള്,%E0%B4%87%E0%B4%A8%E0%B5%8D%E0%B4%A4%E0%B5%8D%E0%B4%AF%E0%B4%A8%E0%B5%8D%E2%80%8D%20%E0%B4%85%E0%B4%B5%E0%B4%A7%E0%B4%BF%E0%B4%A6%E0%B4%BF%E0%B4%A8%E0%B4%99%E0%B5%8D%E0%B4%99%E0%B4%B3%E0%B5%8D%E2%80%8D | |
インド (マラーティー語),भारतातील सुट्ट्या,%E0%A4%AD%E0%A4%BE%E0%A4%B0%E0%A4%A4%E0%A4%BE%E0%A4%A4%E0%A5%80%E0%A4%B2%20%E0%A4%B8%E0%A5%81%E0%A4%9F%E0%A5%8D%E0%A4%9F%E0%A5%8D%E0%A4%AF%E0%A4%BE | |
インド (タミール語),இந்தியா விடுமுறைகள்,%E0%AE%87%E0%AE%A8%E0%AF%8D%E0%AE%A4%E0%AE%BF%E0%AE%AF%E0%AE%BE%20%E0%AE%B5%E0%AE%BF%E0%AE%9F%E0%AF%81%E0%AE%AE%E0%AF%81%E0%AE%B1%E0%AF%88%E0%AE%95%E0%AE%B3%E0%AF%8D | |
インド (テルグ語),భారతదేశ సెలవు దినాలు,%E0%B0%AD%E0%B0%BE%E0%B0%B0%E0%B0%A4%E0%B0%A6%E0%B1%87%E0%B0%B6%20%E0%B0%B8%E0%B1%86%E0%B0%B2%E0%B0%B5%E0%B1%81%20%E0%B0%A6%E0%B0%BF%E0%B0%A8%E0%B0%BE%E0%B0%B2%E0%B1%81 | |
インドネシア (英語),Indonesia Holidays,Indonesia+Holidays | |
インドネシア (インドネシア語),Hari Libur Indonesia,Hari+Libur+Indonesia | |
イタリア,Festività Italia,Festivit%C3%A0%20Italia | |
アイルランド,Ireland Holidays,Ireland+Holidays | |
日本,日本の休日,%E6%97%A5%E6%9C%AC%E3%81%AE%E4%BC%91%E6%97%A5 | |
韓国,대한민국 공휴일,%EB%8C%80%ED%95%9C%EB%AF%BC%EA%B5%AD+%EA%B3%B5%ED%9C%B4%EC%9D%BC | |
ラトビア,Latviešu svētki,Latvie%C5%A1u%20sv%C4%93tki | |
リトアニア,Lietuviškos šventės,Lietuvi%C5%A1kos%20%C5%A1vent%C4%97s | |
マレーシア (英語),Malaysia Holidays,Malaysia+Holidays | |
マレーシア (マレー語),Hari Kelepasan Am Malaysia,Hari+Kelepasan+Am+Malaysia | |
メキシコ,Días festivos de México,D%C3%ADas%20festivos%20de%20M%C3%A9xico | |
オランダ (オランダ語),Nederlandse feestdagen,Nederlandse+feestdagen | |
ニュージーランド,New Zealand Holidays,New+Zealand+Holidays | |
ノルウェー,Norske helligdager,Norske+helligdager | |
フィリピン,Philippine Holidays,Philippine+Holidays | |
ポーランド,Polskie święta,Polskie%20%C5%9Bwi%C4%99ta | |
ポルトガル,Feriados em Portugal,Feriados+em+Portugal | |
ルーマニア,Sărbători din România,S%C4%83rb%C4%83tori%20din%20Rom%C3%A2nia | |
ロシア,Российские праздники,%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B5%20%D0%BF%D1%80%D0%B0%D0%B7%D0%B4%D0%BD%D0%B8%D0%BA%D0%B8 | |
セルビア語 (キリル),Празници у Србији,%D0%9F%D1%80%D0%B0%D0%B7%D0%BD%D0%B8%D1%86%D0%B8%20%D1%83%20%D0%A1%D1%80%D0%B1%D0%B8%D1%98%D0%B8 | |
セルビア語 (ラテン),Praznici u Srbiji,Praznici+u+Srbiji | |
シンガポール,Singapore Holidays,Singapore+Holidays | |
スロバキア,Slovenské sviatky,Slovensk%C3%A9%20sviatky | |
スロベニア,Prazniki v Sloveniji,Prazniki+v+Sloveniji | |
南アフリカ,South Africa Holidays,South+Africa+Holidays | |
スペイン (カタロニア語),Vacances a Espanya,Vacances+a+Espanya | |
スペイン (スペイン語),Días festivos en España,D%C3%ADas+festivos+en+Espa%C3%B1a | |
スウェーデン,Svenska helgdagar,Svenska+helgdagar | |
スイス (フランス語),Calendrier des jours fériés en Suisse,Calendrier%20des%20jours%20f%C3%A9ri%C3%A9s%20en%20Suisse | |
スイス (ドイツ語),Feiertage in der Schweiz,Feiertage+in+der+Schweiz | |
タイ,วันหยุดของไทย,%E0%B8%A7%E0%B8%B1%E0%B8%99%E0%B8%AB%E0%B8%A2%E0%B8%B8%E0%B8%94%E0%B8%82%E0%B8%AD%E0%B8%87%E0%B9%84%E0%B8%97%E0%B8%A2 | |
トルコ,Türkiye Tatil Günleri,T%C3%BCrkiye%20Tatil%20G%C3%BCnleri | |
ウクライナ,Українські свята,%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%81%D1%8C%D0%BA%D1%96%20%D1%81%D0%B2%D1%8F%D1%82%D0%B0 | |
英国,UK Holidays,UK+Holidays | |
米国 (英語),US Holidays,US+Holidays | |
米国 (スペイン語),Días festivos en Estados Unidos,D%C3%ADas+festivos+en+Estados+Unidos | |
ベトナム,Ngày nghỉ lễ tại Việt Nam,Nga%CC%80y%20nghi%CC%89%20l%C3%AA%CC%83%20ta%CC%A3i%20Vi%C3%AA%CC%A3t%20Nam |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment