Artyom V. Poptsov
2017-12-25 15:28:04 UTC
Hello Guilers,
I'm pleased to announce Guile-ICS 0.2.0:
https://github.com/artyom-poptsov/guile-ics/releases/tag/v0.2.0
Please find the package signed with my GPG key[1] here:
- ftp://memory-heap.org/software/guile-ics/guile-ics-0.2.0.tar.gz
- ftp://memory-heap.org/software/guile-ics/guile-ics-0.2.0.tar.gz.sig
Guile-ICS was mostly re-written with GOOPS and now has basic support of
iCalendar property value types. The API is not compatible with previous
versions so if you want to use the library in your application -- please
take a closer look into documentation and the examples.
Also the release includes a bugfix that removes a bogus dependency on
'guile-lib' added by a mistake.
For full list of user-visible changes see the excerpt from the NEWS file
below.
* What is Guile-ICS?
Guile-ICS is an iCalendar format RFC5545 [2] parser for GNU Guile.
* Usage examples
Let's suppose you have a file named 'example.ics' with the following
content:
--8<---------------cut here---------------start------------->8---
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
UID:19970610T172345Z-***@example.com
DTSTAMP:19970610T172345Z
DTSTART:19970714T170000Z
DTEND:19970715T040000Z
SUMMARY:Bastille Day Party
END:VEVENT
END:VCALENDAR
--8<---------------cut here---------------end--------------->8---
Here's an example of how we can get the "SUMMARY" property value from
this:
--8<---------------cut here---------------start------------->8---
(use-modules (ics)
(ics type object)
(ics type property))
(let* ((port (open-input-file "example.ics"))
(ics-object (car (ics->scm port)))
(vevent (car (ics-object-components ics-object))))
(ics-property-value (ics-object-property-ref vevent "SUMMARY")))
=> Bastille Day Party
--8<---------------cut here---------------end--------------->8---
For more usage examples see the 'examples' directory in the
distribution. Namely I would recommend to take a look on 'fosdem.scm'
example which can be used to get various information from FOSDEM
schedule.
* The list of user-visible changes
Here's the list of user-visible changes (an excerpt from NEWS file):
--8<---------------cut here---------------start------------->8---
* Changes in version 0.2.0 (2017-12-25)
** The library is mostly re-written with GOOPS
Now most of the API is object-oriented.
** Added support for iCalendar property value types
** New features
*** The library now supports lists of values (RFC 5545, 3.1.1.)
*** The library now handles escaped chars in TEXT values (RFC 5545, 3.3.11)
** Bugfixes
*** Remove bogus dependency on 'guile-lib'
There was an extra dependency on (scheme documentation) module
that I overlooked in the previous release, which is now removed.
** Added the project logo
** Documentation is updated
** Examples are updated
** Unit tests updated; new tests added
--8<---------------cut here---------------end--------------->8---
Happy hacking!
- Artyom
[1] https://pgp.mit.edu/pks/lookup?search=0x0898A02F&op=index
[2] https://tools.ietf.org/html/rfc5545
I'm pleased to announce Guile-ICS 0.2.0:
https://github.com/artyom-poptsov/guile-ics/releases/tag/v0.2.0
Please find the package signed with my GPG key[1] here:
- ftp://memory-heap.org/software/guile-ics/guile-ics-0.2.0.tar.gz
- ftp://memory-heap.org/software/guile-ics/guile-ics-0.2.0.tar.gz.sig
Guile-ICS was mostly re-written with GOOPS and now has basic support of
iCalendar property value types. The API is not compatible with previous
versions so if you want to use the library in your application -- please
take a closer look into documentation and the examples.
Also the release includes a bugfix that removes a bogus dependency on
'guile-lib' added by a mistake.
For full list of user-visible changes see the excerpt from the NEWS file
below.
* What is Guile-ICS?
Guile-ICS is an iCalendar format RFC5545 [2] parser for GNU Guile.
* Usage examples
Let's suppose you have a file named 'example.ics' with the following
content:
--8<---------------cut here---------------start------------->8---
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
UID:19970610T172345Z-***@example.com
DTSTAMP:19970610T172345Z
DTSTART:19970714T170000Z
DTEND:19970715T040000Z
SUMMARY:Bastille Day Party
END:VEVENT
END:VCALENDAR
--8<---------------cut here---------------end--------------->8---
Here's an example of how we can get the "SUMMARY" property value from
this:
--8<---------------cut here---------------start------------->8---
(use-modules (ics)
(ics type object)
(ics type property))
(let* ((port (open-input-file "example.ics"))
(ics-object (car (ics->scm port)))
(vevent (car (ics-object-components ics-object))))
(ics-property-value (ics-object-property-ref vevent "SUMMARY")))
=> Bastille Day Party
--8<---------------cut here---------------end--------------->8---
For more usage examples see the 'examples' directory in the
distribution. Namely I would recommend to take a look on 'fosdem.scm'
example which can be used to get various information from FOSDEM
schedule.
* The list of user-visible changes
Here's the list of user-visible changes (an excerpt from NEWS file):
--8<---------------cut here---------------start------------->8---
* Changes in version 0.2.0 (2017-12-25)
** The library is mostly re-written with GOOPS
Now most of the API is object-oriented.
** Added support for iCalendar property value types
** New features
*** The library now supports lists of values (RFC 5545, 3.1.1.)
*** The library now handles escaped chars in TEXT values (RFC 5545, 3.3.11)
** Bugfixes
*** Remove bogus dependency on 'guile-lib'
There was an extra dependency on (scheme documentation) module
that I overlooked in the previous release, which is now removed.
** Added the project logo
** Documentation is updated
** Examples are updated
** Unit tests updated; new tests added
--8<---------------cut here---------------end--------------->8---
Happy hacking!
- Artyom
[1] https://pgp.mit.edu/pks/lookup?search=0x0898A02F&op=index
[2] https://tools.ietf.org/html/rfc5545
--
Artyom V. Poptsov <***@gmail.com>
Home page: http://poptsov-artyom.narod.ru/
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F
Artyom V. Poptsov <***@gmail.com>
Home page: http://poptsov-artyom.narod.ru/
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F