首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Python和vobject解析具有多个事件的iCal源

用Python和vobject解析具有多个事件的iCal源
EN

Stack Overflow用户
提问于 2011-10-06 10:25:00
回答 1查看 2.3K关注 0票数 1

我试图解析一个包含多个事件的提要,但它只返回一个条目

代码语言:javascript
复制
ics = urllib.urlopen("https://www.google.com/calendar/ical/pcolalug%40gmail.com/public/basic.ics").read()
events = []

components = vobject.readComponents(ics)
for event in components:
    to_zone = tz.gettz('America/Chicago')

    date = event.vevent.dtstart.value.astimezone(to_zone)
    description = event.vevent.description.value

    events.append({
                'start': date.strftime(DATE_FORMAT),
                'description': description if description else 'No Description', 
                })

return {'events': events[:10]}

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-06 12:06:20

切换到使用icalendar而不是vobject,它的效果要好得多。

代码语言:javascript
复制
ics = urllib.urlopen("https://www.google.com/calendar/ical/pcolalug%40gmail.com/public/basic.ics").read()
events = []

cal = Calendar.from_string(ics)

for event in cal.walk('vevent'):
    to_zone = tz.gettz('America/Chicago')

    date = event.get('dtstart').dt.astimezone(to_zone)
    description = event.get('description')

    events.append({
                'start': date.strftime(DATE_FORMAT),
                'description': description if description else 'No Description', 
                })

return {'events': events[:10]}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7669761

复制
相关文章

相似问题

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