From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Emin.shopper Martinian.shopper" Subject: script to transfer schedule from org-mode to Microsoft Outlook Date: Thu, 13 May 2010 07:27:56 -0400 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=000e0cd72176e08ace0486780c1a Return-path: Received: from [140.186.70.92] (port=35410 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OCWaI-0007HK-6x for emacs-orgmode@gnu.org; Thu, 13 May 2010 07:28:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OCWa5-0002cp-TN for emacs-orgmode@gnu.org; Thu, 13 May 2010 07:28:08 -0400 Received: from mail-gx0-f213.google.com ([209.85.217.213]:55701) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OCWa5-0002cX-Od for emacs-orgmode@gnu.org; Thu, 13 May 2010 07:27:57 -0400 Received: by gxk5 with SMTP id 5so732547gxk.6 for ; Thu, 13 May 2010 04:27:57 -0700 (PDT) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org --000e0cd72176e08ace0486780c1a Content-Type: text/plain; charset=ISO-8859-1 Dear Experts, I find org-mode very useful but also need to sync my calendar with outlook. To do that, I use the attached Org2CSV.py script along with a modified version of the Orgnode.py script from Charles Cave (also attached). Once I have the CSV I can import it into Outlook or Google Calendar. I'm sending in case others find it useful. Best, -Emin --000e0cd72176e08ace0486780c1a Content-Type: text/x-python; charset=US-ASCII; name="Org2CSV.py" Content-Disposition: attachment; filename="Org2CSV.py" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g95hw1ho0 IiIiU2NyaXB0IHRvIHRha2Ugc2NoZWR1bGVkIGl0ZW1zIGluIGFuIG9yZy1tb2RlIGZpbGUgYW5k IGV4cG9ydCB0byBDU1YuDQoNCk9uY2UgeW91IGhhdmUgdGhlIENTViBmaWxlIHlvdSBjYW4gaW1w b3J0IGl0IGludG8gTWljcm9zb2Z0IE91dGxvb2sNCm9yIEdvb2dsZSdzIENhbGVuZGFyLg0KIiIi DQoNCg0KaW1wb3J0IGdsb2IsIGNzdiwgZGF0ZXRpbWUsIHN5cw0KaW1wb3J0IE9yZ25vZGUNCg0K ZGVmIE1ha2VDU1YoZ2xvYlBhdHRlcm4sIG91dHB1dCwgb25seVRvZGF5PVRydWUsDQogICAgICAg ICAgICBkZWZhdWx0UmVtaW5kZXI9ZGF0ZXRpbWUudGltZWRlbHRhKG1pbnV0ZXM9NSkpOg0KICAg ICIiIk1ha2UgYSBDU1YgZmlsZSByZXByZXNlbnRpbmcgYWxsIHNjaGVkdWxlZCBpdGVtcy4NCg0K ICAgIElOUFVUUzoNCg0KICAgIC0tIGdsb2JQYXR0ZXJuOiAgICAgICAgRmlsZSBuYW1lIG9yIHBh dHRlcm4gKGUuZy4sIH4vb3JnLyoub3JnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVw cmVzZW50aW5nIGZpbGVzIHRvIHByb2Nlc3MuDQoNCiAgICAtLSBvdXRwdXQ6ICAgICAgICAgICAg IE5hbWUgb2Ygb3V0cHV0IGNzdiBmaWxlIHRvIHdyaXRlIHRvLg0KDQogICAgLS0gb25seVRvZGF5 PVRydWU6ICAgICBXaGV0aGVyIHRvIG9ubHkgb3V0cHV0IHRvZGF5J3MgaXRlbXMgKGlmIFRydWUp DQogICAgICAgICAgICAgICAgICAgICAgICAgICBvciBvdXRwdXQgYWxsIGl0ZW1zIChpZiBGYWxz ZSkuDQoNCiAgICAtLSBkZWZhdWx0UmVtaW5kZXI9ZGF0ZXRpbWUudGltZWRlbHRhKG1pbnV0ZXM9 NSk6DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCBmb3IgcmVtaW5kZXJzLiBB IHJlbWluZGVyIHdpbGwgYmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlZCB0 aGlzIGFtb3VudCBwcmlvciB0byBlYWNoIHNjaGVkdWxlZA0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgaXRlbSB3aXRoIGEgc3RhcnQgdGltZS4NCg0KICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KICAgIFBVUlBPU0U6ICAgIENy ZWF0ZSBhIENTViBmaWxlIGZyb20gb3JnLW1vZGUgZmlsZXMgc28gdGhhdCB0aGUNCiAgICAgICAg ICAgICAgICBzY2hlZHVsZSBjYW4gYmUgaW1wb3J0ZWQgaW50byBNaWNyb3NvZnQgT3V0bG9vayBv cg0KICAgICAgICAgICAgICAgIEdvb2dsZSBjYWxlbmRhci4NCg0KICAgICIiIg0KICAgIHRvZGF5 ID0gZGF0ZXRpbWUuZGF0ZS50b2RheSgpLnRpbWV0dXBsZSgpWzA6M10NCiAgICBvdXQgPSBvcGVu KG91dHB1dCwgJ3diJykNCiAgICB3cml0ZXIgPSBjc3Yud3JpdGVyKG91dCkNCiAgICB3cml0ZXIu d3JpdGVyb3coWyJTdWJqZWN0IiwgIlN0YXJ0IERhdGUiLCAiU3RhcnQgVGltZSIsICJFbmQgRGF0 ZSIsDQogICAgICAgICAgICAgICAgICAgICAiRW5kIFRpbWUiLCAiQWxsIGRheSBldmVudCIsICAi RGVzY3JpcHRpb24iLA0KICAgICAgICAgICAgICAgICAgICAgIlNob3cgdGltZSBhcyIsICJMb2Nh dGlvbiIsICJSZW1pbmRlciBEYXRlIiwNCiAgICAgICAgICAgICAgICAgICAgICJSZW1pbmRlciBU aW1lIiwgIlJlbWluZGVyIG9uL29mZiJdKQ0KICAgIGZvciBmaWxlTmFtZSBpbiBnbG9iLmdsb2Io Z2xvYlBhdHRlcm4pOg0KICAgICAgICBmb3IgbiBpbiBPcmdub2RlLm1ha2VsaXN0KGZpbGVOYW1l KToNCiAgICAgICAgICAgIGlmIChuLnNjaGVkdWxlZCBhbmQgKA0KICAgICAgICAgICAgICAgIG5v dCBvbmx5VG9kYXkgb3Igbi5zY2hlZHVsZWQudGltZXR1cGxlKClbMDozXSA9PSB0b2RheSkpOg0K ICAgICAgICAgICAgICAgIHJvdyA9IFtuLmhlYWRsaW5lLCBuLnNjaGVkdWxlZCwgbi5zdGFydHRp bWUsIG4uc2NoZWR1bGVkLA0KICAgICAgICAgICAgICAgICAgICAgICBuLmVuZHRpbWUsICdGQUxT RScsIG4uYm9keSwgMywgJycsICcnLCAnJywgJyddDQogICAgICAgICAgICAgICAgaWYgKHJvd1sy XSk6DQogICAgICAgICAgICAgICAgICAgIHJvd1syXSA9IHJvd1syXS5zdHJmdGltZSgnJUg6JU06 MDAnKQ0KICAgICAgICAgICAgICAgIGlmIChyb3dbNF0pOg0KICAgICAgICAgICAgICAgICAgICBy b3dbNF0gPSByb3dbNF0uc3RyZnRpbWUoJyVIOiVNOjAwJykNCiAgICAgICAgICAgICAgICBpZiAo cm93WzJdIGFuZCBkZWZhdWx0UmVtaW5kZXIgaXMgbm90IE5vbmUpOg0KICAgICAgICAgICAgICAg ICAgICByb3dbLTNdID0gcm93WzFdDQogICAgICAgICAgICAgICAgICAgIHJvd1stMl0gPSAobi5z dGFydHRpbWUtZGVmYXVsdFJlbWluZGVyKS5zdHJmdGltZSgnJUg6JU06MDAnKQ0KICAgICAgICAg ICAgICAgICAgICByb3dbLTFdID0gIlRSVUUiDQogICAgICAgICAgICAgICAgIA0KICAgICAgICAg ICAgICAgIHdyaXRlci53cml0ZXJvdyhyb3cpDQoNCmRlZiBNYWtlVXNhZ2UoKToNCiAgICAnUmV0 dXJuIHN0cmluZyByZXByZXNlbnRpbmcgdXNhZ2UgaW5mb3JtYXRpb24uJw0KICAgIHJldHVybiAn JycNCiAgICBPcmcyQ1NWLnB5IC0tZ2xvYlBhdHR0ZXJuPTxwYXR0ZXJuPiAtLW91dHB1dD08Zmls ZT4gWy0tb25seVRvZGF5PTxvPl0NCg0KICAgIHdoZXJlIDxwYXR0ZXJuPiBpcyBhIHdpbGQgY2Fy ZCBwYXR0ZXJuIGZvciBhbGwgb3JnLW1vZGUgZmlsZXMNCiAgICB0byBwcm9jZXNzLCA8ZmlsZT4g aXMgdGhlIG5hbWUgb2YgYW4gb3V0cHV0IGNzdiBmaWxlLCBhbmQgPG8+IGlzDQogICAgZWl0aGVy ICJUcnVlIiBvciAiRmFsc2UiLg0KICAgICcnJyAgICANCiAgICANCmlmIF9fbmFtZV9fID09ICdf X21haW5fXyc6DQogICAgYXJndkRpY3QgPSBkaWN0KFtpdGVtLnNwbGl0KCc9JykgZm9yIGl0ZW0g aW4gc3lzLmFyZ3ZbMTpdIGlmIGl0ZW1dKQ0KICAgIGFyZ3ZEaWN0ID0gZGljdChbKGsubHN0cmlw KCctJyksIHYpIGZvciAoayx2KSBpbiBhcmd2RGljdC5pdGVtcygpXSkNCiAgICBvbmx5VG9kYXlB cmcgPSBhcmd2RGljdC5nZXQoJ29ubHlUb2RheScsIFRydWUpDQogICAgYXJndkRpY3RbJ29ubHlU b2RheSddID0gRmFsc2UgaWYgKA0KICAgICAgICBvbmx5VG9kYXlBcmcgaXMgRmFsc2Ugb3Igb25s eVRvZGF5QXJnID09ICdGYWxzZScpIGVsc2Ugb25seVRvZGF5QXJnDQogICAgdHJ5Og0KICAgICAg ICBNYWtlQ1NWKCoqYXJndkRpY3QpDQogICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToNCiAgICAgICAg cHJpbnQgJ1VuYWJsZSB0byBtYWtlIGNzdiBmaWxlIGR1ZSB0byBleGNlcHRpb246XG4lc1xuVXNh Z2U6XG4lcycgJSAoDQogICAgICAgICAgICBzdHIoZSksIE1ha2VVc2FnZSgpKQ0KICAgIA0KICAg ICAgICAgICANCg== --000e0cd72176e08ace0486780c1a Content-Type: text/x-python; charset=US-ASCII; name="Orgnode.py" Content-Disposition: attachment; filename="Orgnode.py" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g95hwffn1 IiIiDQpUaGUgT3Jnbm9kZSBtb2R1bGUgY29uc2lzdHMgb2YgdGhlIE9yZ25vZGUgY2xhc3MgZm9y IHJlcHJlc2VudGluZyBhDQpoZWFkbGluZSBhbmQgYXNzb2NpYXRlZCB0ZXh0IGZyb20gYW4gb3Jn LW1vZGUgZmlsZSwgYW5kIHJvdXRpbmVzIGZvcg0KY29uc3RydWN0aW5nIGRhdGEgc3RydWN0dXJl cyBvZiB0aGVzZSBjbGFzc2VzLg0KIiIiDQoNCiMgUHJvZ3JhbSB3cml0dGVuIGJ5IENoYXJsZXMg Q2F2ZSAgIChjaGFybGVzd2ViQG9wdHVzbmV0LmNvbS5hdSkNCiMgRmVicnVhcnkgLSBNYXJjaCAy MDA5DQojIFZlcnNpb24gMiAtIEp1bmUgMjAwOQ0KIyAgIEFkZGVkIHN1cHBvcnQgZm9yIGFsbCB0 YWdzLCBUT0RPIHByaW9yaXR5IGFuZCBjaGVja2luZyBleGlzdGVuY2Ugb2YgYSB0YWcNCiMgTW9y ZSBpbmZvcm1hdGlvbiBhdA0KIyAgICBodHRwOi8vbWVtYmVycy5vcHR1c25ldC5jb20uYXUvfmNo YXJsZXM1Ny9HVEQNCg0KaW1wb3J0IHJlLCBzeXMNCmltcG9ydCBkYXRldGltZQ0KDQpkZWYgbWFr ZWxpc3QoZmlsZW5hbWUpOg0KICAgIiIiDQogICBSZWFkIGFuIG9yZy1tb2RlIGZpbGUgYW5kIHJl dHVybiBhIGxpc3Qgb2YgT3Jnbm9kZSBvYmplY3RzDQogICBjcmVhdGVkIGZyb20gdGhpcyBmaWxl Lg0KICAgIiIiDQogICBjdHIgPSAwDQoNCiAgIHRyeToNCiAgICAgIGYgPSBvcGVuKGZpbGVuYW1l LCAncicpDQogICBleGNlcHQgSU9FcnJvcjoNCiAgICAgIHByaW50ICJVbmFibGUgdG8gb3BlbiBm aWxlIFslc10gIiAlIGZpbGVuYW1lDQogICAgICBwcmludCAiUHJvZ3JhbSB0ZXJtaW5hdGluZy4i DQogICAgICBzeXMuZXhpdCgxKQ0KDQogICB0b2RvcyAgICAgICAgID0gZGljdCgpICAjIHBvcHVs YXRlZCBmcm9tICMrU0VRX1RPRE8gbGluZQ0KICAgdG9kb3NbJ1RPRE8nXSA9ICcnICAgIyBkZWZh dWx0IHZhbHVlcw0KICAgdG9kb3NbJ0RPTkUnXSA9ICcnICAgIyBkZWZhdWx0IHZhbHVlcw0KICAg bGV2ZWwgICAgICAgICA9IDANCiAgIGhlYWRpbmcgICAgICAgPSAiIg0KICAgYm9keXRleHQgICAg ICA9ICIiDQogICB0YWcxICAgICAgICAgID0gIiIgICAgICAjIFRoZSBmaXJzdCB0YWcgZW5jbG9z ZWQgaW4gOjoNCiAgIGFsbHRhZ3MgICAgICAgPSBbXSAgICAgICMgbGlzdCBvZiBhbGwgdGFncyBp biBoZWFkbGluZQ0KICAgc2NoZWRfZGF0ZSAgICA9ICcnDQogICBzY2hlZF9kaWN0ICAgID0gTm9u ZQ0KICAgZGVhZGxpbmVfZGF0ZSA9ICcnDQogICBub2RlbGlzdCAgICAgID0gW10NCiAgIHByb3Bk aWN0ICAgICAgPSBkaWN0KCkNCiAgIA0KICAgZm9yIGxpbmUgaW4gZjoNCiAgICAgICBjdHIgKz0g MSAgICAgDQogICAgICAgaGRuZyA9IHJlLnNlYXJjaCgnXihcKispXHMoLio/KVxzKiQnLCBsaW5l KQ0KICAgICAgIGlmIGhkbmc6DQogICAgICAgICAgaWYgaGVhZGluZzogICMgd2UgYXJlIHByb2Nl c3NpbmcgYSBoZWFkaW5nIGxpbmUNCiAgICAgICAgICAgICB0aGlzTm9kZSA9IE9yZ25vZGUobGV2 ZWwsIGhlYWRpbmcsIGJvZHl0ZXh0LCB0YWcxLCBhbGx0YWdzKQ0KICAgICAgICAgICAgIGlmIHNj aGVkX2RhdGU6DQogICAgICAgICAgICAgICAgdGhpc05vZGUuc2V0U2NoZWR1bGVkKHNjaGVkX2Rh dGUpDQogICAgICAgICAgICAgICAgdGhpc05vZGUuc2V0U3RhcnRUaW1lKHNjaGVkX2RpY3QpDQog ICAgICAgICAgICAgICAgdGhpc05vZGUuc2V0RW5kVGltZShzY2hlZF9kaWN0KQ0KICAgICAgICAg ICAgICAgIHNjaGVkX2RhdGUgPSAiIg0KICAgICAgICAgICAgICAgIHNjaGVkX2RpY3QgPSBOb25l DQogICAgICAgICAgICAgaWYgZGVhZGxpbmVfZGF0ZToNCiAgICAgICAgICAgICAgICB0aGlzTm9k ZS5zZXREZWFkbGluZShkZWFkbGluZV9kYXRlKQ0KICAgICAgICAgICAgICAgIGRlYWRsaW5lX2Rh dGUgPSAnJw0KICAgICAgICAgICAgIHRoaXNOb2RlLnNldFByb3BlcnRpZXMocHJvcGRpY3QpDQog ICAgICAgICAgICAgbm9kZWxpc3QuYXBwZW5kKCB0aGlzTm9kZSApDQogICAgICAgICAgICAgcHJv cGRpY3QgPSBkaWN0KCkNCiAgICAgICAgICBsZXZlbCA9IGhkbmcuZ3JvdXAoMSkNCiAgICAgICAg ICBoZWFkaW5nID0gIGhkbmcuZ3JvdXAoMikNCiAgICAgICAgICBib2R5dGV4dCA9ICIiDQogICAg ICAgICAgdGFnMSA9ICIiDQogICAgICAgICAgYWxsdGFncyA9IFtdICAgICAgICMgbGlzdCBvZiBh bGwgdGFncyBpbiBoZWFkbGluZQ0KICAgICAgICAgIHRhZ3NyY2ggPSByZS5zZWFyY2goJyguKj8p XHMqOiguKj8pOiguKj8pJCcsaGVhZGluZykNCiAgICAgICAgICBpZiB0YWdzcmNoOg0KICAgICAg ICAgICAgICBoZWFkaW5nID0gdGFnc3JjaC5ncm91cCgxKQ0KICAgICAgICAgICAgICB0YWcxID0g dGFnc3JjaC5ncm91cCgyKQ0KICAgICAgICAgICAgICBhbGx0YWdzLmFwcGVuZCh0YWcxKQ0KICAg ICAgICAgICAgICB0YWcyID0gdGFnc3JjaC5ncm91cCgzKQ0KICAgICAgICAgICAgICBpZiB0YWcy Og0KICAgICAgICAgICAgICAgICBmb3IgdCBpbiB0YWcyLnNwbGl0KCc6Jyk6DQogICAgICAgICAg ICAgICAgICAgIGlmIHQgIT0gJyc6IGFsbHRhZ3MuYXBwZW5kKHQpDQogICAgICAgZWxzZTogICAg ICAjIHdlIGFyZSBwcm9jZXNzaW5nIGEgbm9uLWhlYWRpbmcgbGluZQ0KICAgICAgICAgICBpZiBs aW5lWzoxMF0gPT0gJyMrU0VRX1RPRE8nOg0KICAgICAgICAgICAgICBrd2xpc3QgPSByZS5maW5k YWxsKCcoW0EtWl0rKVwoJywgbGluZSkNCiAgICAgICAgICAgICAgZm9yIGt3IGluIGt3bGlzdDog dG9kb3Nba3ddID0gIiINCg0KICAgICAgICAgICBpZiBsaW5lWzoxXSAhPSAnIyc6DQogICAgICAg ICAgICAgICBib2R5dGV4dCA9IGJvZHl0ZXh0ICsgbGluZQ0KDQogICAgICAgICAgIGlmIHJlLnNl YXJjaCgnOlBST1BFUlRJRVM6JywgbGluZSk6IGNvbnRpbnVlDQogICAgICAgICAgIGlmIHJlLnNl YXJjaCgnOkVORDonLCBsaW5lKTogY29udGludWUNCiAgICAgICAgICAgcHJvcF9zcmNoID0gcmUu c2VhcmNoKCdeXHMqOiguKj8pOlxzKiguKj8pXHMqJCcsIGxpbmUpDQogICAgICAgICAgIGlmIHBy b3Bfc3JjaDoNCiAgICAgICAgICAgICAgcHJvcGRpY3RbcHJvcF9zcmNoLmdyb3VwKDEpXSA9IHBy b3Bfc3JjaC5ncm91cCgyKQ0KICAgICAgICAgICAgICBjb250aW51ZQ0KICAgICAgICAgICBzZF9y ZSA9IHJlLnNlYXJjaCgnKFNDSEVEVUxFRDpccys8KD9QPHllYXI+WzAtOV0rKVwtKD9QPG1vbnRo PlswLTldKylcLSg/UDxkYXk+WzAtOV0rKSAqKFtBLXpdKiAoP1A8c3RhcnR0aW1lPlswLTldKzpb MC05XSspKC0oP1A8ZW5kdGltZT5bMC05XSs6WzAtOV0rKSkqKSknLGxpbmUpDQogICAgICAgICAg IGlmIHNkX3JlOg0KICAgICAgICAgICAgICBzY2hlZF9kaWN0ID0gc2RfcmUuZ3JvdXBkaWN0KCkg ICAgICAgICAgICAgIA0KICAgICAgICAgICAgICBzY2hlZF9kYXRlID0gZGF0ZXRpbWUuZGF0ZShp bnQoc2NoZWRfZGljdFsneWVhciddKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaW50KHNjaGVkX2RpY3RbJ21vbnRoJ10pLA0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpbnQoc2NoZWRfZGljdFsnZGF5J10pKQ0KDQogICAgICAgICAg IGRkX3JlID0gcmUuc2VhcmNoKCdERUFETElORTpccyo8KFxkKylcLShcZCspXC0oXGQrKScsIGxp bmUpDQogICAgICAgICAgIGlmIGRkX3JlOg0KICAgICAgICAgICAgICBkZWFkbGluZV9kYXRlID0g ZGF0ZXRpbWUuZGF0ZShpbnQoZGRfcmUuZ3JvdXAoMSkpLA0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnQoZGRfcmUuZ3JvdXAoMikpLA0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQoZGRfcmUuZ3JvdXAoMykpICkNCg0K ICAgIyB3cml0ZSBvdXQgbGFzdCBub2RlICAgICAgICAgICAgICANCiAgIHRoaXNOb2RlID0gT3Jn bm9kZShsZXZlbCwgaGVhZGluZywgYm9keXRleHQsIHRhZzEsIGFsbHRhZ3MpDQogICB0aGlzTm9k ZS5zZXRQcm9wZXJ0aWVzKHByb3BkaWN0KSAgIA0KICAgaWYgc2NoZWRfZGF0ZToNCiAgICAgIHRo aXNOb2RlLnNldFNjaGVkdWxlZChzY2hlZF9kYXRlKQ0KICAgICAgdGhpc05vZGUuc2V0U3RhcnRU aW1lKHNjaGVkX2RpY3QpDQogICAgICB0aGlzTm9kZS5zZXRFbmRUaW1lKHNjaGVkX2RpY3QpDQog ICBpZiBkZWFkbGluZV9kYXRlOg0KICAgICAgdGhpc05vZGUuc2V0RGVhZGxpbmUoZGVhZGxpbmVf ZGF0ZSkNCiAgIG5vZGVsaXN0LmFwcGVuZCggdGhpc05vZGUgKQ0KICAgICAgICAgICAgICANCiAg ICMgdXNpbmcgdGhlIGxpc3Qgb2YgVE9ETyBrZXl3b3JkcyBmb3VuZCBpbiB0aGUgZmlsZQ0KICAg IyBwcm9jZXNzIHRoZSBoZWFkaW5ncyBzZWFyY2hpbmcgZm9yIFRPRE8ga2V5d29yZHMNCiAgIGZv ciBuIGluIG5vZGVsaXN0Og0KICAgICAgIGggPSBuLkhlYWRpbmcoKQ0KICAgICAgIHRvZG9TcmNo ID0gcmUuc2VhcmNoKCcoW0EtWl0rKVxzKC4qPykkJywgaCkNCiAgICAgICBpZiB0b2RvU3JjaDoN CiAgICAgICAgICAgaWYgdG9kb3MuaGFzX2tleSggdG9kb1NyY2guZ3JvdXAoMSkgKToNCiAgICAg ICAgICAgICAgIG4uc2V0SGVhZGluZyggdG9kb1NyY2guZ3JvdXAoMikgKQ0KICAgICAgICAgICAg ICAgbi5zZXRUb2RvICggdG9kb1NyY2guZ3JvdXAoMSkgKQ0KICAgICAgIHBydHlzcmNoID0gcmUu c2VhcmNoKCdeXFtcIyhBfEJ8QylcXSAoLio/KSQnLCBuLkhlYWRpbmcoKSkNCiAgICAgICBpZiBw cnR5c3JjaDoNCiAgICAgICAgICBuLnNldFByaW9yaXR5KHBydHlzcmNoLmdyb3VwKDEpKQ0KICAg ICAgICAgIG4uc2V0SGVhZGluZyhwcnR5c3JjaC5ncm91cCgyKSkNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICANCiAgIHJldHVybiBub2RlbGlzdA0KDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMj DQpjbGFzcyBPcmdub2RlKG9iamVjdCk6DQogICAgIiIiDQogICAgT3Jnbm9kZSBjbGFzcyByZXBy ZXNlbnRzIGEgaGVhZGxpbmUsIHRhZ3MgYW5kIHRleHQgYXNzb2NpYXRlZA0KICAgIHdpdGggdGhl IGhlYWRsaW5lLg0KICAgICIiIg0KICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsZXZlbCwgaGVhZGxp bmUsIGJvZHksIHRhZywgYWxsdGFncyk6DQogICAgICAgICIiIg0KICAgICAgICBDcmVhdGUgYW4g T3Jnbm9kZSBvYmplY3QgZ2l2ZW4gdGhlIHBhcmFtZXRlcnMgb2YgbGV2ZWwgKGFzIHRoZQ0KICAg ICAgICByYXcgYXN0ZXJpc2tzKSwgaGVhZGxpbmUgdGV4dCAoaW5jbHVkaW5nIHRoZSBUT0RPIHRh ZyksIGFuZA0KICAgICAgICBmaXJzdCB0YWcuIFRoZSBtYWtlbGlzdCByb3V0aW5lIHBvc3Rwcm9j ZXNzZXMgdGhlIGxpc3QgdG8NCiAgICAgICAgaWRlbnRpZnkgVE9ETyB0YWdzIGFuZCB1cGRhdGVz IGhlYWRsaW5lIGFuZCB0b2RvIGZpZWxkcy4NCiAgICAgICAgIiIiDQogICAgICAgIHNlbGYubGV2 ZWwgPSBsZW4obGV2ZWwpDQogICAgICAgIHNlbGYuaGVhZGxpbmUgPSBoZWFkbGluZQ0KICAgICAg ICBzZWxmLmJvZHkgPSBib2R5DQogICAgICAgIHNlbGYudGFnID0gdGFnICAgICAgICAgICAgIyBU aGUgZmlyc3QgdGFnIGluIHRoZSBsaXN0DQogICAgICAgIHNlbGYudGFncyA9IGRpY3QoKSAgICAg ICAgIyBBbGwgdGFncyBpbiB0aGUgaGVhZGxpbmUNCiAgICAgICAgc2VsZi50b2RvID0gIiINCiAg ICAgICAgc2VsZi5wcnR5ID0gIiIgICAgICAgICAgICAjIGVtcHR5IG9mIEEsIEIgb3IgQw0KICAg ICAgICBzZWxmLnNjaGVkdWxlZCA9ICIiICAgICAgICMgU2NoZWR1bGVkIGRhdGUNCiAgICAgICAg c2VsZi5kZWFkbGluZSA9ICIiICAgICAgICAjIERlYWRsaW5lIGRhdGUNCiAgICAgICAgc2VsZi5w cm9wZXJ0aWVzID0gZGljdCgpDQogICAgICAgIHNlbGYuc3RhcnR0aW1lID0gJycNCiAgICAgICAg c2VsZi5lbmR0aW1lID0gJycNCiAgICAgICAgZm9yIHQgaW4gYWxsdGFnczoNCiAgICAgICAgICAg c2VsZi50YWdzW3RdID0gJycNCg0KICAgICAgICAjIExvb2sgZm9yIHByaW9yaXR5IGluIGhlYWRs aW5lIGFuZCB0cmFuc2ZlciB0byBwcnR5IGZpZWxkDQogICAgICAgIA0KICAgIGRlZiBIZWFkaW5n KHNlbGYpOg0KICAgICAgICAiIiINCiAgICAgICAgUmV0dXJuIHRoZSBIZWFkaW5nIHRleHQgb2Yg dGhlIG5vZGUgd2l0aG91dCB0aGUgVE9ETyB0YWcNCiAgICAgICAgIiIiDQogICAgICAgIHJldHVy biBzZWxmLmhlYWRsaW5lDQoNCiAgICBkZWYgc2V0SGVhZGluZyhzZWxmLCBuZXdoZG5nKToNCiAg ICAgICAgIiIiDQogICAgICAgIENoYW5nZSB0aGUgaGVhZGluZyB0byB0aGUgc3VwcGxpZWQgc3Ry aW5nDQogICAgICAgICIiIg0KICAgICAgICBzZWxmLmhlYWRsaW5lID0gbmV3aGRuZw0KDQogICAg ZGVmIEJvZHkoc2VsZik6DQogICAgICAgICIiIg0KICAgICAgICBSZXR1cm5zIGFsbCBsaW5lcyBv ZiB0ZXh0IG9mIHRoZSBib2R5IG9mIHRoaXMgbm9kZSBleGNlcHQgdGhlDQogICAgICAgIFByb3Bl cnR5IERyYXdlcg0KICAgICAgICAiIiINCiAgICAgICAgcmV0dXJuIHNlbGYuYm9keQ0KDQogICAg ZGVmIExldmVsKHNlbGYpOg0KICAgICAgICAiIiINCiAgICAgICAgUmV0dXJucyBhbiBpbnRlZ2Vy IGNvcnJlc3BvbmRpbmcgdG8gdGhlIGxldmVsIG9mIHRoZSBub2RlLg0KICAgICAgICBUb3AgbGV2 ZWwgKG9uZSBhc3RlcmlzaykgaGFzIGEgbGV2ZWwgb2YgMS4NCiAgICAgICAgIiIiDQogICAgICAg IHJldHVybiBzZWxmLmxldmVsDQoNCiAgICBkZWYgUHJpb3JpdHkoc2VsZik6DQogICAgICAgICIi Ig0KICAgICAgICBSZXR1cm5zIHRoZSBwcmlvcml0eSBvZiB0aGlzIGhlYWRsaW5lOiAnQScsICdC JywgJ0MnIG9yIGVtcHR5DQogICAgICAgIHN0cmluZyBpZiBwcmlvcml0eSBoYXMgbm90IGJlZW4g c2V0Lg0KICAgICAgICAiIiINCiAgICAgICAgcmV0dXJuIHNlbGYucHJ0eQ0KDQogICAgZGVmIHNl dFByaW9yaXR5KHNlbGYsIG5ld3BydHkpOg0KICAgICAgICAiIiINCiAgICAgICAgQ2hhbmdlIHRo ZSB2YWx1ZSBvZiB0aGUgcHJpb3JpdHkgb2YgdGhpcyBoZWFkbGluZS4NCiAgICAgICAgVmFsdWVz IHZhbHVlcyBhcmUgJycsICdBJywgJ0InLCAnQycNCiAgICAgICAgIiIiDQogICAgICAgIHNlbGYu cHJ0eSA9IG5ld3BydHkNCiAgICANCiAgICBkZWYgVGFnKHNlbGYpOg0KICAgICAgICAiIiINCiAg ICAgICAgUmV0dXJucyB0aGUgdmFsdWUgb2YgdGhlIGZpcnN0IHRhZy4NCiAgICAgICAgRm9yIGV4 YW1wbGUsIDpIT01FOkNPTVBVVEVSOiB3b3VsZCByZXR1cm4gSE9NRQ0KICAgICAgICAiIiINCiAg ICAgICAgcmV0dXJuIHNlbGYudGFnDQoNCiAgICBkZWYgVGFncyhzZWxmKToNCiAgICAgICAgIiIi DQogICAgICAgIFJldHVybnMgYSBsaXN0IG9mIGFsbCB0YWdzIA0KICAgICAgICBGb3IgZXhhbXBs ZSwgOkhPTUU6Q09NUFVURVI6IHdvdWxkIHJldHVybiBbJ0hPTUUnLCAnQ09NUFVURVInXQ0KICAg ICAgICAiIiINCiAgICAgICAgcmV0dXJuIHNlbGYudGFncy5rZXlzKCkNCg0KICAgIGRlZiBoYXNU YWcoc2VsZiwgc3JjaCk6DQogICAgICAgICIiIg0KICAgICAgICBSZXR1cm5zIFRydWUgaWYgdGhl IHN1cHBsaWVkIHRhZyBpcyBwcmVzZW50IGluIHRoaXMgaGVhZGxpbmUNCiAgICAgICAgRm9yIGV4 YW1wbGUsIGhhc1RhZygnQ09NUFVURVInKSBvbiBoZWFkbGluZyBjb250YWluaW5nDQogICAgICAg IDpIT01FOkNPTVBVVEVSOiB3b3VsZCByZXR1cm4gVHJ1ZS4NCiAgICAgICAgIiIiDQogICAgICAg IHJldHVybiBzZWxmLnRhZ3MuaGFzX2tleShzcmNoKQ0KICAgICAgICANCiAgICBkZWYgc2V0VGFn KHNlbGYsIG5ld3RhZyk6DQogICAgICAgICIiIg0KICAgICAgICBDaGFuZ2UgdGhlIHZhbHVlIG9m IHRoZSBmaXJzdCB0YWcgdG8gdGhlIHN1cHBsaWVkIHN0cmluZw0KICAgICAgICAiIiINCiAgICAg ICAgc2VsZi50YWcgPSBuZXd0YWcNCg0KICAgIGRlZiBzZXRUYWdzKHNlbGYsIHRhZ2xpc3QpOg0K ICAgICAgICAiIiINCiAgICAgICAgU3RvcmUgYWxsIHRoZSB0YWdzIGZvdW5kIGluIHRoZSBoZWFk bGluZS4gVGhlIGZpcnN0IHRhZyB3aWxsDQogICAgICAgIGFsc28gYmUgc3RvcmVkIGFzIGlmIHRo ZSBzZXRUYWcgbWV0aG9kIHdhcyBjYWxsZWQuDQogICAgICAgICIiIg0KICAgICAgICBmb3IgdCBp biB0YWdsaXN0Og0KICAgICAgICAgICBzZWxmLnRhZ3NbdF0gPSAnJw0KICAgICAgICANCiAgICBk ZWYgVG9kbyhzZWxmKToNCiAgICAgICAgIiIiDQogICAgICAgIFJldHVybiB0aGUgdmFsdWUgb2Yg dGhlIFRPRE8gdGFnDQogICAgICAgICIiIg0KICAgICAgICByZXR1cm4gc2VsZi50b2RvDQoNCiAg ICBkZWYgc2V0VG9kbyhzZWxmLCB2YWx1ZSk6DQogICAgICAgICIiIg0KICAgICAgICBTZXQgdGhl IHZhbHVlIG9mIHRoZSBUT0RPIHRhZyB0byB0aGUgc3VwcGxpZWQgc3RyaW5nDQogICAgICAgICIi Ig0KICAgICAgICBzZWxmLnRvZG8gPSB2YWx1ZQ0KDQogICAgZGVmIHNldFByb3BlcnRpZXMoc2Vs ZiwgZGljdHZhbCk6DQogICAgICAgICIiIg0KICAgICAgICBTZXRzIGFsbCBwcm9wZXJ0aWVzIHVz aW5nIHRoZSBzdXBwbGllZCBkaWN0aW9uYXJ5IG9mDQogICAgICAgIG5hbWUvdmFsdWUgcGFpcnMN CiAgICAgICAgIiIiDQogICAgICAgIHNlbGYucHJvcGVydGllcyA9IGRpY3R2YWwNCg0KICAgIGRl ZiBQcm9wZXJ0eShzZWxmLCBrZXl2YWwpOg0KICAgICAgICAiIiINCiAgICAgICAgUmV0dXJucyB0 aGUgdmFsdWUgb2YgdGhlIHJlcXVlc3RlZCBwcm9wZXJ0eSBvciBudWxsIGlmIHRoZQ0KICAgICAg ICBwcm9wZXJ0eSBkb2VzIG5vdCBleGlzdC4NCiAgICAgICAgIiIiDQogICAgICAgIHJldHVybiBz ZWxmLnByb3BlcnRpZXMuZ2V0KGtleXZhbCwgIiIpDQogICAgDQogICAgZGVmIHNldFNjaGVkdWxl ZChzZWxmLCBkYXRldmFsKToNCiAgICAgICAgIiIiDQogICAgICAgIFNldCB0aGUgc2NoZWR1bGVk IGRhdGUgdXNpbmcgdGhlIHN1cHBsaWVkIGRhdGUgb2JqZWN0DQogICAgICAgICIiIg0KICAgICAg ICBzZWxmLnNjaGVkdWxlZCA9IGRhdGV2YWwNCg0KICAgIGRlZiBzZXRTdGFydFRpbWUoc2VsZiwg c2NoZWRfZGljdCk6DQogICAgICAgaWYgKCdzdGFydHRpbWUnIGluIHNjaGVkX2RpY3QpOg0KICAg ICAgICAgIHNlbGYuc3RhcnR0aW1lID0gZGF0ZXRpbWUuZGF0ZXRpbWUoDQogICAgICAgICAgICAg Km1hcChpbnQsKFtzY2hlZF9kaWN0W25dIGZvciBuIGluIFsneWVhcicsICdtb250aCcsICdkYXkn XV0NCiAgICAgICAgICAgICAgICAgICAgICAgKyBzY2hlZF9kaWN0WydzdGFydHRpbWUnXS5zcGxp dCgnOicpICsgWzBdKSkpDQoNCg0KICAgIGRlZiBzZXRFbmRUaW1lKHNlbGYsIHNjaGVkX2RpY3Qp Og0KICAgICAgIGlmIChzY2hlZF9kaWN0LmdldCgnZW5kdGltZScpKToNCiAgICAgICAgICBzZWxm LmVuZHRpbWUgPSBkYXRldGltZS5kYXRldGltZSgNCiAgICAgICAgICAgICAqbWFwKGludCwoW3Nj aGVkX2RpY3Rbbl0gZm9yIG4gaW4gWyd5ZWFyJywgJ21vbnRoJywgJ2RheSddXQ0KICAgICAgICAg ICAgICAgKyBzY2hlZF9kaWN0WydlbmR0aW1lJ10uc3BsaXQoJzonKSArIFswXSkpKQ0KDQogICAg ZGVmIFNjaGVkdWxlZChzZWxmKToNCiAgICAgICAgIiIiDQogICAgICAgIFJldHVybiB0aGUgc2No ZWR1bGVkIGRhdGUgb2JqZWN0IG9yIG51bGwgaWYgbm9uZXhpc3RlbnQNCiAgICAgICAgIiIiDQog ICAgICAgIHJldHVybiBzZWxmLnNjaGVkdWxlZA0KICAgIA0KICAgIGRlZiBzZXREZWFkbGluZShz ZWxmLCBkYXRldmFsKToNCiAgICAgICAgIiIiDQogICAgICAgIFNldCB0aGUgZGVhZGxpbmUgKGR1 ZSkgZGF0ZSB1c2luZyB0aGUgc3VwcGxpZWQgZGF0ZSBvYmplY3QNCiAgICAgICAgIiIiDQogICAg ICAgIHNlbGYuZGVhZGxpbmUgPSBkYXRldmFsDQoNCiAgICBkZWYgRGVhZGxpbmUoc2VsZik6DQog ICAgICAgICIiIg0KICAgICAgICBSZXR1cm4gdGhlIGRlYWRsaW5lIGRhdGUgb2JqZWN0IG9yIG51 bGwgaWYgbm9uZXhpc3RlbnQNCiAgICAgICAgIiIiDQogICAgICAgIHJldHVybiBzZWxmLmRlYWRs aW5lDQoNCiAgICBkZWYgX19yZXByX18oc2VsZik6DQogICAgICAgICIiIg0KICAgICAgICBQcmlu dCB0aGUgbGV2ZWwsIGhlYWRpbmcgdGV4dCBhbmQgdGFnIG9mIGEgbm9kZSBhbmQgdGhlIGJvZHkN CiAgICAgICAgdGV4dCBhcyB1c2VkIHRvIGNvbnN0cnVjdCB0aGUgbm9kZS4NCiAgICAgICAgIiIi DQogICAgICAgICMgVGhpcyBtZXRob2QgaXMgbm90IGNvbXBsZXRlZCB5ZXQuDQogICAgICAgIG4g PSAnJw0KICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBzZWxmLmxldmVsKToNCiAgICAgICAgICAg biA9IG4gKyAnKicNCiAgICAgICAgbiA9IG4gKyAnICcgKyBzZWxmLnRvZG8gKyAnICcNCiAgICAg ICAgaWYgc2VsZi5wcnR5Og0KICAgICAgICAgICBuID0gbiArICAnWyMnICsgc2VsZi5wcnR5ICsg J10gJw0KICAgICAgICBuID0gbiArIHNlbGYuaGVhZGxpbmUNCiAgICAgICAgbiA9ICIlLTYwcyAi ICUgbiAgICAgIyBoYWNrIC0gdGFncyB3aWxsIHN0YXJ0IGluIGNvbHVtbiA2Mg0KICAgICAgICBj bG9zZWNvbG9uID0gJycNCiAgICAgICAgZm9yIHQgaW4gc2VsZi50YWdzLmtleXMoKToNCiAgICAg ICAgICAgbiA9IG4gKyAnOicgKyB0DQogICAgICAgICAgIGNsb3NlY29sb24gPSAnOicgICANCiAg ICAgICAgbiA9IG4gKyBjbG9zZWNvbG9uDQojIE5lZWQgdG8gb3V0cHV0IFNjaGVkdWxlZCBEYXRl LCBEZWFkbGluZSBEYXRlLCBwcm9wZXJ0eSB0YWdzIFRoZQ0KIyBmb2xsb3dpbmcgd2lsbCBvdXRw dXQgdGhlIHRleHQgdXNlZCB0byBjb25zdHJ1Y3QgdGhlIG9iamVjdA0KICAgICAgICBuID0gbiAr ICJcbiIgKyBzZWxmLmJvZHkNCiAgICAgICAgDQogICAgICAgIHJldHVybiBuDQoNCg0KICAgIA0K --000e0cd72176e08ace0486780c1a Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode --000e0cd72176e08ace0486780c1a--