From: Artyom V. Poptsov <poptsov.artyom@gmail.com>
To: Guile Users' Mailing List <guile-user@gnu.org>
Subject: [ANN] Guile-ICS 0.2.0 released
Date: Mon, 25 Dec 2017 18:28:04 +0300 [thread overview]
Message-ID: <87608ultdn.fsf@gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 3412 bytes --]
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-AF23B2@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 <poptsov.artyom@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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
reply other threads:[~2017-12-25 15:28 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87608ultdn.fsf@gmail.com \
--to=poptsov.artyom@gmail.com \
--cc=guile-user@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).