Прочитать .ics, не импортируя его
Файл iCalendar легко принять и трудно рассмотреть. Календарное приложение его импортирует, но импорт — это обязательство: события попадают в ваш календарь, на приглашения могут ответить от вашего имени, а если файл был неправильным, всё это придётся откатывать. Этот инструмент вместо импорта просто открывает файл и показывает, что внутри.
Что показывается
Свойства самого календаря — PRODID, VERSION, CALSCALE, METHOD и расширения X-WR-*, которые пишут Google и Apple, — а затем каждый VEVENT, VTODO, VJOURNAL и VFREEBUSY в таблице с поиском и сортировкой.
При открытии записи видно всё, что несёт компонент: UID, SEQUENCE, DTSTAMP, CREATED, LAST-MODIFIED, CLASS, TRANSP, PRIORITY, CATEGORIES, URL, GEO и DESCRIPTION; организатора и каждого участника с его ролью, статусом участия, признаком RSVP, типом календарного пользователя и делегированием, если оно есть; каждый VALARM с действием и триггером; и исходные строки свойств с номерами строк, чтобы ничто не пряталось за интерпретацией.
Триггеры напоминаний вычисляются
Триггер обычно записывается как длительность — -PT15M — относительно начала события или его конца, если у свойства есть RELATED=END. Показываются оба значения: исходное и момент, в который оно разрешается. Одно исходное значение оставляет вам календарную арифметику, а один только момент скрывает, в какой форме это было записано в файле.
Часовые пояса и откуда взялись смещения
В .ics может быть назван настоящий пояс IANA (Europe/Vienna) или имя, известное только автору файла (custom_America/New_York или какое-нибудь микрософтовское Romance Standard Time); во втором случае файл несёт VTIMEZONE, который сам описывает смещения — по одному правилу повторения на каждое наблюдение, задающее моменты перевода часов.
Смещения берутся из собственной базы IANA вашего браузера, если TZID — настоящее имя пояса, и из встроенного VTIMEZONE, если нет. Какой из двух источников сработал, указано для каждого пояса, вместе с каждым наблюдением STANDARD и DAYLIGHT и его правилом.
Время без TZID и без завершающей Z — плавающее: у него вообще нет абсолютного момента, пока не выбран пояс. Такие значения помечаются, а не считаются молча за UTC.
Вложения
Вложение, записанное внутри файла в base64, можно скачать. Вложение, записанное как URI, показывается текстом и никогда не загружается: инструмент не делает сетевых запросов вообще, а загрузка сообщила бы отправителю файла, что вы его открыли.
Некорректные файлы
Строки, не являющиеся допустимыми строками содержимого, и компоненты, так и не закрытые END, сообщаются с номерами строк, а не отбрасываются молча.
Tiny Online Tools







