iadapt ics generation from CSV + header line - ics2txt - convert icalendar .ics file to plain text Err bitreich.org 70 hgit clone git://bitreich.org/ics2txt git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ics2txt URL:git://bitreich.org/ics2txt git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ics2txt bitreich.org 70 1Log /scm/ics2txt/log.gph bitreich.org 70 1Files /scm/ics2txt/files.gph bitreich.org 70 1Refs /scm/ics2txt/refs.gph bitreich.org 70 1Tags /scm/ics2txt/tag bitreich.org 70 1README /scm/ics2txt/file/README.md.gph bitreich.org 70 i--- Err bitreich.org 70 1commit c6606df0960a765824c000aeb54e21691bcc94bb /scm/ics2txt/commit/c6606df0960a765824c000aeb54e21691bcc94bb.gph bitreich.org 70 1parent cc9fc8e92e72543aca8d35b19f0c3c614df186b4 /scm/ics2txt/commit/cc9fc8e92e72543aca8d35b19f0c3c614df186b4.gph bitreich.org 70 hAuthor: Josuah Demangeon URL:mailto:me@josuah.net bitreich.org 70 iDate: Wed, 24 Jun 2020 23:26:23 +0200 Err bitreich.org 70 i Err bitreich.org 70 iadapt ics generation from CSV + header line Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M tsv2ics | 33 +++++++++++++++++++++---------- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 23 insertions(+), 10 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/tsv2ics b/tsv2ics /scm/ics2txt/file/tsv2ics.gph bitreich.org 70 i@@ -60,29 +60,42 @@ function print_fold(prefix, s, n) Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i BEGIN { Err bitreich.org 70 i+ FS = "\t" Err bitreich.org 70 i+ Err bitreich.org 70 i print "BEGIN:VCALENDAR" Err bitreich.org 70 i print "VERSION:2.0" Err bitreich.org 70 i print "CALSCALE:GREGORIAN" Err bitreich.org 70 i print "METHOD:PUBLISH" Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i+NR == 1 { Err bitreich.org 70 i+ for (i = 1; i <= NF; i++) Err bitreich.org 70 i+ name[i] = $i Err bitreich.org 70 i+ next Err bitreich.org 70 i+} Err bitreich.org 70 i+ Err bitreich.org 70 i { Err bitreich.org 70 i- split($0, a, "\t") Err bitreich.org 70 i- gmtime(a[1] + offset, beg) Err bitreich.org 70 i- gmtime(a[2] + offset, end) Err bitreich.org 70 i- cat = a[3]; loc = a[4]; sum = a[5]; des = a[6] Err bitreich.org 70 i+ for (i = 1; i <= NF; i++) Err bitreich.org 70 i+ ev[name[i]] = $i Err bitreich.org 70 i Err bitreich.org 70 i print "" Err bitreich.org 70 i print "BEGIN:VEVENT" Err bitreich.org 70 i+ Err bitreich.org 70 i+ gmtime(ev["beg"] + offset, ev) Err bitreich.org 70 i printf "DTSTART:%04d%02d%02dT%02d%02d00Z\n", Err bitreich.org 70 i- beg["year"], beg["mon"], beg["mday"], beg["hour"], beg["min"] Err bitreich.org 70 i+ ev["year"], ev["mon"], ev["mday"], ev["hour"], ev["min"] Err bitreich.org 70 i+ Err bitreich.org 70 i+ gmtime(ev["end"] + offset, ev) Err bitreich.org 70 i printf "DTEND:%04d%02d%02dT%02d%02d00Z\n", Err bitreich.org 70 i- end["year"], end["mon"], end["mday"], end["hour"], end["min"] Err bitreich.org 70 i- print "SUMMARY:" sum Err bitreich.org 70 i- print "DESCRIPTION:" des Err bitreich.org 70 i- print "CATEGORIES:" cat Err bitreich.org 70 i- print "LOCATION:" loc Err bitreich.org 70 i+ ev["year"], ev["mon"], ev["mday"], ev["hour"], ev["min"] Err bitreich.org 70 i+ Err bitreich.org 70 i+ print "SUMMARY:" ev["sum"] Err bitreich.org 70 i+ print "DESCRIPTION:" ev["des"] Err bitreich.org 70 i+ print "CATEGORIES:" ev["cat"] Err bitreich.org 70 i+ print "LOCATION:" ev["loc"] Err bitreich.org 70 i print "END:VEVENT" Err bitreich.org 70 i+ Err bitreich.org 70 i+ delete ev Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i END { Err bitreich.org 70 .