guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ANN] Guile-ICS 0.2.0 released


From: Artyom V . Poptsov
Subject: [ANN] Guile-ICS 0.2.0 released
Date: Mon, 25 Dec 2017 18:28:04 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)

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:address@hidden
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 <address@hidden>
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

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]