问题标签 [rfc5545]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1026 浏览

python - 如何从字典字符串中恢复 python dateutil.rrule 对象?

我想将 dateutil.rrule 对象存储到数据库中,并在从数据库中读取后重新创建它们。

鉴于以下问题,我认为我需要使用一种解决方法。 Python dateutils 根据 iCalendar 格式打印重复规则(参见 RFC 5545)

我正在考虑存储 myrrule 的输出。dict到数据库作为字符串,然后在需要时重新创建 rrule 对象。

这是字典的样子:

这是个好主意吗?还有其他建议吗?

如何从字典中恢复 python 对象?python setattr() 是我最好的选择还是有更简单的方法?

我应该考虑改用这样的东西吗? https://stackoverflow.com/a/1305663/161628

0 投票
3 回答
8295 浏览

icalendar - 打印重复事件的 iCal 格式

我在这里阅读了这个答案,它解释了如何输出计划项目的 ical 文件:

如何使用 PHP 动态发布 ical 文件以供 Google 日历读取?

我的问题是重复事件的 ical 格式是什么?假设我想在每周一上午 10 点安排一次团队会议。重复时间表的 ical 格式是什么?还是我需要在未来打印 X 个事件?

0 投票
3 回答
2266 浏览

c# - iCalendar RFC 2445 第 4.1 节内容折叠

我正在使用 C# 创建一个简单的 iCalendar,发现 RFC 2445 第 4.1 节的内容折叠非常令人头疼(对我来说:-)。

http://www.apps.ietf.org/rfc/rfc2445.html#sec-4.1

对于长行,您要转义一些字符(我相信反斜杠、分号、逗号和换行符),然后将其折叠以使行不超过 75 个八位字节。我在网上找到了几种直接的方法。最简单的方法是用转义版本替换有问题的字符,然后在每 75 个字符处插入 CRLF。就像是:

我看到两个问题。CRLF 可能被插入到转义序列中。例如,如果插入发生使得转义的新行序列“\n”变为“\CRLF”(那么“n”将在下一行)。第二个问题是当有多字节字符时。由于计算是按字符计算的,因此该行可能会超过 75 个八位字节。

一个简单的解决方案是逐个字符地遍历字符串并转义和折叠,但这似乎相当暴力。有人有更优雅的解决方案吗?

0 投票
5 回答
533 浏览

ruby - iCalendar 的正则表达式解析(Ruby 正则表达式)

我正在尝试使用正则表达式解析 iCalendar (RFC2445) 输入。

这是输入的 [简化] 示例:

我想得到一个匹配数组:“外部”匹配是每个 VEVENT 块,内部匹配是每个字段:值对。

我试过这个的变种:

但是考虑到上面的输入,结果似乎每个匹配的 VEVENT 只有一个字段,尽管 +? 在捕获组上:

在第一场比赛中,我会期待两个字段: abc:123 和 def:456 匹配......

我确定这是一个新手错误(因为在正则表达式方面我似乎永远是新手......) - 但也许你可以指出我正确的方向?

谢谢!

0 投票
2 回答
448 浏览

python - 如何将日期格式化为 BYDAY(iCalendar 规范)

我需要从我的日期值创建带有 BYDAY 参数的 RRULE 字符串。

有什么自然的方法吗?

我为此目的编写了这个实用程序代码:

0 投票
1 回答
510 浏览

google-apps-script - 使用谷歌日历的 Recurrence-OnlyOnWeeks 示例?

我很陌生Google-Apps-Script。你能举个例子如何使用

日历 > 重复 > onlyOnWeeks

我想创建一个每日活动,但只在三个特定的周内。我的解决方案无法正常工作。每日事件正在创建,但每周。

0 投票
3 回答
1450 浏览

django - 如何在 Django 中创建一个持续时间字段?

我使用在管理站点注册的 Django 模型。我的模型的一个字段代表一个持续时间。我想使用 DateTimeField,但不是将值保存到数据库中的日期时间,而是将其保存为 varchar,根据 RFC5545 (ical) 格式化(例如,持续时间为 1 天 1 小时 1 分钟 1 sec 将存储为“P1DT1H1M1S”)。我该怎么做?我应该覆盖 DateTimeField 吗?

0 投票
2 回答
7570 浏览

python - 自定义 Django 模型字段中的“对象没有属性”

我正在尝试创建一个 Django 模型字段,该字段表示 HTML 中包含天、小时、分钟和秒文本输入字段的持续时间,并使用 ical 格式(RFC5545)将持续时间存储在数据库中。

(这与我关于如何在 Django 中创建 ical 持续时间字段的问题有关?

这是我的方法:

感谢 bakkal 和 Pol。下面是我想出的。

它适用于以下模型:

但不是在这个:

我收到以下错误:

这让我感到困惑......似乎python认为我的字段是前一个字段的属性,但前提是它是一个CharField。有任何想法吗?

0 投票
1 回答
994 浏览

javascript - 带有重复事件的 Javascript 解析器 Google 日历 JSON 提要

我正在寻找一个 JavaScript/NodeJS 库来解析带有重复事件的 GoogleCalendar JSON Feed 。从现在开始,我至少需要知道下一个事件。

重复事件没有 gd$when 属性,但具有给定内容的 gd$recurrence (RFC 5545):

我在 github 上找到了一个规则解析器,但规则似乎不起作用,解析很痛苦。

0 投票
0 回答
497 浏览

python - dateutil.rrulestr() 的对面

python-dateutil 库提供了将 iCalendar 重复规则解析为实例的rrule类和函数。rrulestr()rrule

是否有一个函数可以将rrule实例序列化为接受的字符串rrulestr()?python-dateutil 中似乎没有一个。