#projects #guile #guile_ics
Выпустил релиз Guile-ICS 0.6.0:
https://github.com/artyom-poptsov/guile-ics/releases/tag/v0.6.0
Guile-ICS — это парсер форматов iCalendar (RFC 5545)/vCard (RFC 6350) для GNU Guile, написанный на чистом Scheme.
В комплекте с библиотекой поставляется консольная утилита
В новом релизе:
- Исправление ошибки в парсере. Стадарт RFC 6350 поддерживает указание для нескольких одинаковых параметров свойства объекта; в этом случае дополнительные значения повторяющегося параметра считаются частью списка для значения параметра. Guile-ICS же раньше считал повторение параметра ошибкой. Сейчас это исправлено. Ошибка была обнаружена Felix Lechner.
- Исправление скрипта удаления библиотеки — в Automake файлах фигурировала захардкоженная версия GNU Guile 3.0, что приводило к проблемам корректного удаления библиотеки на других версиях GNU Guile (скажем, на 2.2.) Теперь это исправлено.
- Скрипты сборки больше не полагаются на наличие в системе команды
- Исправление
- Обновление документации.
- Добавление/обновление тестов.
Выпустил релиз Guile-ICS 0.6.0:
https://github.com/artyom-poptsov/guile-ics/releases/tag/v0.6.0
Guile-ICS — это парсер форматов iCalendar (RFC 5545)/vCard (RFC 6350) для GNU Guile, написанный на чистом Scheme.
В комплекте с библиотекой поставляется консольная утилита
ics
, позволяющая получать информацию в различном виде о входных данных и конвертировать формат CSV в vCard записи (работает при наличии установленного Guile-DSV в системе.)В новом релизе:
- Исправление ошибки в парсере. Стадарт RFC 6350 поддерживает указание для нескольких одинаковых параметров свойства объекта; в этом случае дополнительные значения повторяющегося параметра считаются частью списка для значения параметра. Guile-ICS же раньше считал повторение параметра ошибкой. Сейчас это исправлено. Ошибка была обнаружена Felix Lechner.
- Исправление скрипта удаления библиотеки — в Automake файлах фигурировала захардкоженная версия GNU Guile 3.0, что приводило к проблемам корректного удаления библиотеки на других версиях GNU Guile (скажем, на 2.2.) Теперь это исправлено.
- Скрипты сборки больше не полагаются на наличие в системе команды
which
.- Исправление
guix.scm
— добавление во входные зависимости texlive
, исправление кросс-компиляции.- Обновление документации.
- Добавление/обновление тестов.
GitHub
Release v0.6.0 · artyom-poptsov/guile-ics
Table of Contents
Changes in version 0.6.0 (2024-02-04)
Fix the content line parser:BUGFIX:API_CHANGE:
Fix uninstall script to work with different Guile versions:BUGFIX:
Compilation does not rely...
Changes in version 0.6.0 (2024-02-04)
Fix the content line parser:BUGFIX:API_CHANGE:
Fix uninstall script to work with different Guile versions:BUGFIX:
Compilation does not rely...
🔥3
Выпустил релиз Guile-ICS 0.7.0:
https://github.com/artyom-poptsov/guile-ics/releases/tag/v0.7.0
Основные изменения:
- Guile-ICS теперь корректно читает объекты с более, чем двумя уровнями вложенности. Проблема была зарепорчена Sören Tempel.
- Также теперь парсер позволяет читать неизвестные компоненты объектов.
- Парсер теперь корректно обрабатывает EOF ("End Of File" — символ конца файла) внутри контент-строк. Вместо общей ошибки от Guile теперь выкидывается
-
- Расширен набор тестов.
#projects #guile_ics #guile
https://github.com/artyom-poptsov/guile-ics/releases/tag/v0.7.0
Основные изменения:
- Guile-ICS теперь корректно читает объекты с более, чем двумя уровнями вложенности. Проблема была зарепорчена Sören Tempel.
- Также теперь парсер позволяет читать неизвестные компоненты объектов.
- Парсер теперь корректно обрабатывает EOF ("End Of File" — символ конца файла) внутри контент-строк. Вместо общей ошибки от Guile теперь выкидывается
content-line-error
.-
ics describe
теперь печатает описание компонентов, в том числе, ссылку на соответствующий раздел RFC.- Расширен набор тестов.
#projects #guile_ics #guile
GitHub
Release v0.7.0 · artyom-poptsov/guile-ics
Table of Contents
Changes in version 0.7.0 (2025-03-02)
Allow to read ICS objects with arbitrary level of nesting:BUGFIX:API_CHANGE:
Properly handle EOFs in content lines
Expand the test suite
ic...
Changes in version 0.7.0 (2025-03-02)
Allow to read ICS objects with arbitrary level of nesting:BUGFIX:API_CHANGE:
Properly handle EOFs in content lines
Expand the test suite
ic...
⚡2
#projects #guile_ics #guile #scheme
Несколько дней работал над улучшением Guile-ICS (мне тут недавно написали issue на GitHub с просьбой реализовать нормальную поддержку
Теперь поддержка есть, только нехватает ещё вспомогательных процедур для работы с повторяющимися событиями.
Вот, как пример, вывод консольной утилиты для работы с форматом iCalendar, базирующейся на API библиотеки и поставляющейся вместе с ней. Здесь можно видеть разобранный и затем склеянный обратно (для красивого вывода) параметр
Значения параметров повторения теперь не только парсятся, но и проверяются на корректность. Библиотека не только бросается ошибками при некорректных значениях, но ещё и выдаёт справку по использованию данных параметров — по сути, куски RFC.
Несколько дней работал над улучшением Guile-ICS (мне тут недавно написали issue на GitHub с просьбой реализовать нормальную поддержку
RRULE
— параметров повторяемости событий календаря.)Теперь поддержка есть, только нехватает ещё вспомогательных процедур для работы с повторяющимися событиями.
Вот, как пример, вывод консольной утилиты для работы с форматом iCalendar, базирующейся на API библиотеки и поставляющейся вместе с ней. Здесь можно видеть разобранный и затем склеянный обратно (для красивого вывода) параметр
RRULE
:$ ./pre-inst-env ./utils/ics rrule.ics
BEGIN: VCALENDAR
BEGIN: VEVENT
RRULE (RECUR): FREQ=YEARLY; INTERVAL=2; BYMINUTE=30; BYHOUR=8,9,10; BYDAY=SU; BYMONTH=1
END: VEVENT
END: VCALENDAR
Значения параметров повторения теперь не только парсятся, но и проверяются на корректность. Библиотека не только бросается ошибками при некорректных значениях, но ещё и выдаёт справку по использованию данных параметров — по сути, куски RFC.
GitHub
GitHub - artyom-poptsov/guile-ics: iCalendar/vCard parser for GNU Guile.
iCalendar/vCard parser for GNU Guile. Contribute to artyom-poptsov/guile-ics development by creating an account on GitHub.
🔥1