首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关闭flask项目上的RSVP

关闭flask项目上的RSVP
EN

Stack Overflow用户
提问于 2020-10-12 21:40:15
回答 1查看 141关注 0票数 0

我在关闭rsvp时遇到问题

它在outlook上是什么样子

我的代码

代码语言:javascript
复制
     cal = icalendar.Calendar()
    cal.add('prodid', '-//My calendar application//example.com//')
    cal.add('version', '2.0')
    cal.add('method', "REQUEST")
    cal.add('RSVP', 0) 
    event = icalendar.Event()
    for a in attendees:
     event.add('ATTENDEE', a)
    event.add('organizer', "test@test.com")
    event.add('RSVP', False) 

我得到了这样的错误

代码语言:javascript
复制
  File "C:\Program Files (x86)\Python38-32\Lib\site-packages\icalendar\prop.py", line 164, in __new__
    self = super(vBoolean, cls).__new__(cls, *args, **kwargs)
ValueError: invalid literal for int() with base 10: 'TRUE'

我尝试了很多方法,我想关闭它,我写的是true,因为本文档中的https://www.kanzaki.com/docs/ical/rsvp.html说明默认值为false。我尝试像这样在event.add('RSVP', "1")中写入0或1,但也不起作用

使用命令print(cal.to_ical().decode("utf-8"))显示RSVP为false,但我仍然进入outlook RSVP按钮

代码语言:javascript
复制
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//My calendar application//example.com//
METHOD:REQUEST
RSVP:FALSE
BEGIN:VEVENT
SUMMARY:12312312312312312312312312\,
DTSTART;TZID=Europe/London;VALUE=DATE-TIME:20201030T070000
DTEND;TZID=Europe/London;VALUE=DATE-TIME:20201030T080000
DTSTAMP;VALUE=DATE-TIME:20201030T060000Z
UID:1231231234545646453245345345343
SEQUENCE:1
ATTENDEE:test@test.com
ATTENDEE:test2@test.com
CATEGORY:Event
CREATED;VALUE=DATE-TIME:20201013T130632Z
DESCRIPTION:asdasdadsssss
ORGANIZER:testtts@tesssst.com
PRIORITY:5
PRIORITY:5
RSVP:FALSE
STATUS:confirmed
BEGIN:VALARM
ACTION:DISPLAY
TRIGGER;RELATED=START:-PT1H
END:VALARM
END:VEVENT
END:VCALENDAR

在outlook的.isc文件中,我得到了行ATTENDEE;CN="Test";RSVP=TRUE:mailto:it.test@test.com,但在我的代码中,它设置为false。

请帮帮我我被困住了所有的帮助我都会很感激

EN

回答 1

Stack Overflow用户

发布于 2020-10-13 18:38:46

使用True或False可使代码正常工作。您还需要将事件添加到日历中。

下面是一个完整的工作示例:

代码语言:javascript
复制
import icalendar

# Test data.
attendees=["Jim", "Susan", "Peter"]

cal = icalendar.Calendar()
cal.add('prodid', '-//My calendar application//example.com//')
cal.add('version', '2.0')
cal.add('method', "REQUEST")
cal.add('RSVP', 0)

event = icalendar.Event()
for a in attendees:
    event.add('ATTENDEE', a)
event.add('organizer', "test@test.com")
event.add('RSVP', False)

cal.add_component(event)

print(cal.to_ical().decode("utf-8"))

输出:

代码语言:javascript
复制
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//My calendar application//example.com//
METHOD:REQUEST
RSVP:FALSE
BEGIN:VEVENT
ATTENDEE:Jim
ATTENDEE:Susan
ATTENDEE:Peter
ORGANIZER:test@test.com
RSVP:FALSE
END:VEVENT
END:VCALENDAR

在Outlook中是否正确解释了这一点我无法检查,因为我没有Outlook。我也不是iCalendar格式的专家。但是对于RSVP,Python代码使用True或False就可以很好地工作。

如果在将iCalendar导入Outlook时仍有问题,请手动创建一个iCalendar文件,并查看Outlook是否按预期导入该文件。如果没有,很可能是iCalendar文件有问题。

当您知道您有一个ical文件可以正确地导入到Outlook时,然后才尝试在Python中创建该iCalendar文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64319033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档