npm.io
0.1.0 • Published 7 years agoCLI

csv2ics

Licence
MIT
Version
0.1.0
Deps
6
Size
18 kB
Vulns
1
Weekly
0
Stars
7
DeprecatedThis package is deprecated

csv2ics - Convert CSV files into ICS calendars

Build Status Coverage Status

Introduction

Convert a CSV file into an ICS calendar.

Header map

csv2ics needs to know which columns are mapped to which ICAL properties. This can not be easily specified through CSV headers, so we rely on the header map.

The header map is a comma separated list of strings that specify the matching ICAL-properties for each column. Certain mapping are detected and handled properly (e.g. the parsing of the date fields). If a mapping is unknown, it is simply added as a custom attribute.

These mappings are detected:

  • SUMMARY
  • DTSTART
  • DTEND
  • DESCRIPTION
  • LOCATION

Usage

Install csv2ics using npm:

npm install -g csv2ics

Run it using

csv2ics <input file.csv> <output file.ics>

Input and output files are optional. If only one file is specified, it is used as an input file. If no file is specified, CSV data is taken from the STDIN.

For option help, use

csv2ics --help

Options

Supported options with defaults are:

  • -d, --delimiter <delimiter> - Delimiter used in CSV-file [,]
  • -h, --headers - CSV file has headers
  • -m, --header-map <headerMap> - A map of headers to ical properties [SUMMARY,DTSTART,DTEND,* DESCRIPTION,LOCATION]
  • --calendar-name <calendarName> - Name of calendar [My Calendar]
  • --timezone <timezone> - Timezone-ID of the dates of the calendar [UTC]
  • --dateformat <dateformat> - Date/Time-Format in CSV (see https://momentjs.com/docs/#/parsing/string-format/) [YYYY-MM-DD HHss]

Building

To test and build this package, simply use grunt:

grunt test

Keywords