{"id":1208,"date":"2008-02-15T02:27:00","date_gmt":"2008-02-14T17:27:00","guid":{"rendered":"http:\/\/nao.river24.org\/blog\/entry\/2003081223071108\/02\/15\/0227.php"},"modified":"2012-05-09T21:57:35","modified_gmt":"2012-05-09T12:57:35","slug":"20080215022700","status":"publish","type":"post","link":"https:\/\/nao.river24.net\/blog\/entry\/20080215022700\/","title":{"rendered":"mhc2gcal 0.2.0 \u30ea\u30ea\u30fc\u30b9"},"content":{"rendered":"<p>\u30ea\u30ea\u30fc\u30b9\u3057\u3066\u304b\u3089\u3059\u3063\u304b\u308a\u653e\u7f6e\u30d7\u30ec\u30a4\u72b6\u614b\u306e <a href=\"https:\/\/nao.river24.net\/blog\/entry\/20070413011444\">mhc2gcal<\/a> \u3067\u3059\u304c\uff0c\u3054\u8981\u671b\u3044\u305f\u3060\u3044\u3066\u3044\u305f proxy \u5bfe\u5fdc\u3068 verbose \u30e2\u30fc\u30c9\uff0c\u304a\u3088\u3073\u3054\u63d0\u6848\u3044\u305f\u3060\u3044\u3066\u3044\u305f description \u306e\u6709\u7121\u3092\u9078\u629e\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u305f\u3082\u306e\u3092\uff0c\u30d0\u30fc\u30b8\u30e7\u30f3 0.2.0 \u3068\u3057\u3066\u4f5c\u6210\u3057\u307e\u3057\u305f\uff0e<\/p>\n<p><span style=\"font-weight: bold; text-decoration: line-through;\">2008\u5e7408\u670819\u65e5\u8ffd\u8a18\uff1a\u6700\u65b0\u7248\u306e\u4f7f\u3044\u65b9\u306f\u3053\u3061\u3089\u3092\u3054\u53c2\u7167\u304f\u3060\u3055\u3044\uff0e<\/span><br \/>\n<span style=\"font-weight: bold;\">2009\u5e7410\u670826\u65e5\u8ffd\u8a18\uff1a\u6700\u65b0\u7248\u306e\u4f7f\u3044\u65b9\u306f<a href=\"http:\/\/github.com\/river24\/mhc2gcal\">\u3053\u3061\u3089<\/a>\u3092\u3054\u53c2\u7167\u304f\u3060\u3055\u3044\uff0e<\/span><\/p>\n<p><!--more--><\/p>\n<div style=\"text-decoration: line-through;\">\n<p>\u3068\u3044\u3046\u308f\u3051\u3067 mhc2gcal.rb \u306f\u3053\u3061\u3089\uff0e<\/p>\n<p>\u524d\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\uff08\u4ee5\u524d\u306e\u3082\u306e\u306b\u306f\u756a\u53f7\u304c\u632f\u3089\u308c\u3066\u3044\u306a\u304b\u3063\u305f\u30fb\u30fb\u30fb\uff09\u304b\u3089\u306e\u5909\u66f4\u70b9\u306b\u3064\u3044\u3066\uff0e<\/p>\n<p>\u307e\u305a\uff0c\u30e6\u30fc\u30b6\u8a2d\u5b9a\u306b\u3064\u3044\u3066\u306f\u30b9\u30af\u30ea\u30d7\u30c8\u30d5\u30a1\u30a4\u30eb\u306b\u542b\u3081\u305a\u306b\uff0c\u5916\u90e8\u306e yaml \u30d5\u30a1\u30a4\u30eb\u306b\u66f8\u304d\u8fbc\u3080\u5f62\u5f0f\u306b\u5909\u66f4\u3057\u307e\u3057\u305f\uff0e\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306f\u30b9\u30af\u30ea\u30d7\u30c8\u3068\u540c\u3058\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u300c.gcal\u300d\u3068\u3044\u3046\u30d5\u30a1\u30a4\u30eb\u3092\u53c2\u7167\u3059\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u306e\u3067\uff0c\u4ee5\u4e0b\u306e\u5185\u5bb9\u3067\u300c.gcal\u300d\u3068\u3044\u3046\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u3066\u304f\u3060\u3055\u3044\uff0e<\/p>\n<pre class=\"brush: text; gutter: true; first-line: 1; highlight: []; html-script: false\"># google calendar Feed URL\r\ngcal_feed: http:\/\/www.google.com\/calendar\/feeds\/XXXXXXXXXXXXXXXX@group.calendar.google.com\/private\/full\r\n# email address\r\ngcal_mail: XXXXXXXXXX@gmail.com\r\n# password\r\ngcal_pass: XXXXXXX\r\n# sync mode (delete or keep)\r\ngcal_mode: keep<\/pre>\n<p>\u300cgcal_feed\u300d\u300cgcal_mail\u300d\u300cgcal_pass\u300d\u306b\u3064\u3044\u3066\u306f\uff0c\u5c0f\u6587\u5b57\u306b\u306a\u3063\u305f\u4ee5\u5916\u306f\u524d\u56de\u3068\u540c\u69d8\uff0e<\/p>\n<p><span style=\"font-weight: bold;\">\u5909\u66f4\u70b9\u304b\u3064\u6ce8\u610f\u70b9\u306f\u300cgcal_mode\u300d<\/span>\u3067\uff0c\u3053\u308c\u3092\u300cdelete\u300d\u3068\u3059\u308b\u3068 Google Calendar \u306e\u30c7\u30fc\u30bf\u3092\u524a\u9664\u3059\u308b\uff0c\u300ckeep\u300d\u3068\u3059\u308b\u3068\u524a\u9664\u305b\u305a\u306b\u30ad\u30fc\u30d7\u3059\u308b\uff0c\u3068\u3044\u3046\u4ed5\u7d44\u307f\u306b\u306a\u3063\u3066\u3044\u307e\u3059\uff0e\u3069\u3061\u3089\u3067\u3082\u306a\u3044\u3068\u8a2d\u5b9a\u30a8\u30e9\u30fc\u306b\u306a\u308a\u307e\u3059\uff0e\u3053\u306e\u3088\u3046\u306a\u4ed5\u69d8\u306b\u306a\u3063\u3066\u3044\u308b\u7406\u7531\u306f<a href=\"https:\/\/nao.river24.net\/blog\/entry\/20070413011444\">\u3053\u3061\u3089\u306e\u30a8\u30f3\u30c8\u30ea<\/a>\u3092\u3054\u53c2\u7167\u304f\u3060\u3055\u3044\uff0e<\/p>\n<p>\u6b21\u306b\uff0c\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u3064\u3044\u3066\uff0e<\/p>\n<pre class=\"brush: text; gutter: true; first-line: 1; highlight: []; html-script: false\">  --help               show this message.\r\n  --category=CATEGORY  pick only in CATEGORY.\r\n                       &#039;!&#039; and space separated multiple values are allowed.\r\n  --secret=CATEGORY    change the title of the event to &#039;SECRET&#039;\r\n                       space separated multiple values are allowed.\r\n  --date={string[+n],string-string}\r\n                       set a period of date.\r\n                       string is one of these:\r\n                         today, tomorrow, sun ... sat, yyyymmdd, yyyymm, yyyy\r\n                         yyyymm lists all days in the month and yyyy lists all\r\n                         days in the year.\r\n                         list n+1 days of schedules if +n is given.\r\n                         default value is &#039;today+0&#039;\r\n  --description        add description.\r\n  --verbose            verbose mode.\r\n  --proxy-addr=addr    set the address of http proxy.\r\n  --proxy-port=port    set the port number of http proxy.\r\n  --proxy-user=user    set the username of http proxy.\r\n  --proxy-pass=pass    set the password of http proxy.\r\n  --version            display the version of mhc2gcal and exit.<\/pre>\n<p>\u307e\u305a proxy \u5bfe\u5fdc\u306b\u3064\u3044\u3066\uff0e\u30aa\u30d7\u30b7\u30e7\u30f3\u3067 --proxy-addr=addr \u3068 --proxy-port=port \u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u308b\u3068\uff0c\u305d\u306eIP\u30a2\u30c9\u30ec\u30b9\uff08\u3042\u308b\u3044\u306f\u30db\u30b9\u30c8\uff09\u3068\u30dd\u30fc\u30c8\u756a\u53f7\u3092\u30d7\u30ed\u30ad\u30b7\u3068\u3057\u3066\u4f7f\u7528\u3057\u307e\u3059\uff0e\u3069\u3061\u3089\u304b\u304c\u6b20\u3051\u3066\u305f\u3089\u4f7f\u7528\u3057\u307e\u305b\u3093\uff0e\u6b21\u306b --proxy-user=user \u3068 --proxy-pass=pass \u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u308b\u3068\uff0c\u305d\u308c\u3089\u3092\u30e6\u30fc\u30b6\u540d\u304a\u3088\u3073\u30d1\u30b9\u30ef\u30fc\u30c9\u540d\u3068\u3057\u3066\u30d7\u30ed\u30ad\u30b7\u306e\u8a8d\u8a3c\u306b\u4f7f\u3044\u307e\u3059\uff0e\u3053\u308c\u3082\u3069\u3061\u3089\u304b\u304c\u6b20\u3051\u3066\u3044\u308b\u3068\u8a8d\u8a3c\u306f\u6709\u52b9\u306b\u306a\u308a\u307e\u305b\u3093\uff0e<br \/>\n\u3061\u306a\u307f\u306b\u5b9f\u884c\u6642\u306b\u306f\uff0c\u30d7\u30ed\u30ad\u30b7\u304a\u3088\u3073\u30d7\u30ed\u30ad\u30b7\u8a8d\u8a3c\u306e\u6709\u7121\u306b\u5fdc\u3058\u3066\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u8868\u793a\u304c\u3042\u308a\u307e\u3059\uff0e\u3054\u78ba\u8a8d\u304f\u3060\u3055\u3044\uff0e<\/p>\n<pre class=\"brush: text; gutter: true; first-line: 1; highlight: []; html-script: false\">\u30d7\u30ed\u30ad\u30b7\u672a\u4f7f\u7528\u6642\r\nConnect to Google Calendar directly\r\n\u30d7\u30ed\u30ad\u30b7\u4f7f\u7528\u6642\uff08\u8a8d\u8a3c\u306a\u3057\uff09\r\nConnect to Google Calendar through proxy(addr:port)\r\n\u30d7\u30ed\u30ad\u30b7\u4f7f\u7528\u6642\uff08\u8a8d\u8a3c\u3042\u308a\uff09\r\nConnect to Google Calendar through proxy(user:pass@addr:port)<\/pre>\n<p>\u6b21\u306b description \u306b\u3064\u3044\u3066\uff0e\u30aa\u30d7\u30b7\u30e7\u30f3\u3068\u3057\u3066 --description \u3092\u6307\u5b9a\u3059\u308b\u3068\uff0c\u30a4\u30d9\u30f3\u30c8\u306b\u8a73\u7d30\u304c\u8ffd\u52a0\u3055\u308c\u307e\u3059\uff0e\u8a73\u7d30\u306e\u66f8\u5f0f\u306a\u3069\u306b\u95a2\u3057\u3066\u306f\uff0c<a href=\"http:\/\/ko.meadowy.net\/~shirai\/diary\/20070612.html#p03\" target=\"_blank\">\u767d\u4e95\u3055\u3093\u304c\u8ffd\u52a0\u3057\u3066\u304f\u3060\u3055\u3063\u305f\u3082\u306e<\/a>\u3092\u305d\u306e\u307e\u307e\u63a1\u7528\u3055\u305b\u3066\u3044\u305f\u3060\u304d\u307e\u3057\u305f\uff0e<\/p>\n<p>\u305d\u3057\u3066 verbose \u306b\u3064\u3044\u3066\uff0e\u30aa\u30d7\u30b7\u30e7\u30f3\u3068\u3057\u3066 --verbose \u3092\u6307\u5b9a\u3059\u308b\u3068\uff0c\u3069\u306e\u30a4\u30d9\u30f3\u30c8\u3092\u524a\u9664\u3057\u305f\u306e\u304b\uff0c\u3069\u306e\u30a4\u30d9\u30f3\u30c8\u3092\u767b\u9332\u3057\u305f\u306e\u304b\uff0c\u3068\u3044\u3046\u60c5\u5831\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff0e\u52d5\u4f5c\u306e\u78ba\u8a8d\u306a\u3069\u306b\u3054\u6d3b\u7528\u304f\u3060\u3055\u3044\uff0e<\/p>\n<p>\u6700\u5f8c\u306b\u500b\u4eba\u7684\u306a\u4f7f\u3044\u65b9\u306e\u4f8b\uff0e\u5f53\u65b9\u306f MacOSX (Leopard) \u74b0\u5883\u4e0b\u3067\u3053\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u4f7f\u3063\u3066\u3044\u308b\u306e\u3067\u3059\u304c\uff0c\u30d7\u30ed\u30ad\u30b7\u306e\u8a2d\u5b9a\u304c zsh \u306e\u74b0\u5883\u5909\u6570\u306b\u306f\u5f15\u304d\u7d99\u304c\u308c\u307e\u305b\u3093\uff0e\u306a\u3093\u3068\u304b\u53cd\u6620\u3055\u305b\u305f\u3044\u3068\u601d\u3044\uff0c\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30b9\u30af\u30ea\u30d7\u30c8\u3067\u52d5\u4f5c\u3055\u305b\u3066\u3044\u307e\u3059\uff0e<\/p>\n<pre class=\"brush: shell; gutter: true; first-line: 1; highlight: []; html-script: false\">#!\/bin\/sh\r\nSCUTIL=\/usr\/sbin\/scutil\r\nGREP=\/usr\/bin\/grep\r\nPERL=\/usr\/bin\/perl\r\nRUBY=\/usr\/bin\/ruby\r\nMHC2GCAL_DIR=\/path\/to\/mhc2gcal\/dir\r\nPROXY_ENABLE=`$SCUTIL --proxy | $GREP &quot;HTTPEnable&quot; | $PERL -pe &#039;s\/^.*HTTPEnable : (.*)$\/$1\/&#039;`\r\nif [ $PROXY_ENABLE -eq 1 ]\r\nthen\r\n  PROXY_ADDR=`$SCUTIL --proxy | $GREP &quot;HTTPProxy&quot; | $PERL -pe &#039;s\/^.*HTTPProxy : (.*)$\/$1\/&#039;`\r\n  PROXY_PORT=`$SCUTIL --proxy | $GREP &quot;HTTPPort&quot; | $PERL -pe &#039;s\/^.*HTTPPort : (.*)$\/$1\/&#039;`\r\nfi\r\ncd $MHC2GCAL_DIR\r\nif [ $PROXY_ENABLE -eq 1 ]\r\nthen\r\n  $RUBY .\/mhc2gcal.rb --date=today+60 --category=&quot;!todo !done !holiday !birthday&quot; --secret=&quot;private&quot; --verbose --proxy-addr=&quot;$PROXY_ADDR&quot; --proxy-port=&quot;$PROXY_PORT&quot;\r\nelse\r\n  $RUBY .\/mhc2gcal.rb --date=today+60 --category=&quot;!todo !done !holiday !birthday&quot; --secret=&quot;private&quot; --verbose\r\nfi<\/pre>\n<p>\u7d50\u69cb\u6e80\u8db3\uff0e<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u30ea\u30ea\u30fc\u30b9\u3057\u3066\u304b\u3089\u3059\u3063\u304b\u308a\u653e\u7f6e\u30d7\u30ec\u30a4\u72b6\u614b\u306e mhc2gcal \u3067\u3059\u304c\uff0c\u3054\u8981\u671b\u3044\u305f\u3060\u3044\u3066\u3044\u305f proxy \u5bfe\u5fdc\u3068 verbose \u30e2\u30fc\u30c9\uff0c\u304a\u3088\u3073\u3054\u63d0\u6848\u3044\u305f\u3060\u3044\u3066\u3044\u305f description \u306e\u6709\u7121\u3092\u9078\u629e\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u305f\u3082\u306e\u3092 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[],"_links":{"self":[{"href":"https:\/\/nao.river24.net\/blog\/wp-json\/wp\/v2\/posts\/1208"}],"collection":[{"href":"https:\/\/nao.river24.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nao.river24.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nao.river24.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nao.river24.net\/blog\/wp-json\/wp\/v2\/comments?post=1208"}],"version-history":[{"count":3,"href":"https:\/\/nao.river24.net\/blog\/wp-json\/wp\/v2\/posts\/1208\/revisions"}],"predecessor-version":[{"id":2089,"href":"https:\/\/nao.river24.net\/blog\/wp-json\/wp\/v2\/posts\/1208\/revisions\/2089"}],"wp:attachment":[{"href":"https:\/\/nao.river24.net\/blog\/wp-json\/wp\/v2\/media?parent=1208"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nao.river24.net\/blog\/wp-json\/wp\/v2\/categories?post=1208"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nao.river24.net\/blog\/wp-json\/wp\/v2\/tags?post=1208"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}