如何在Python CalDAV中使用sort_keys?其可用键值有哪些?
Python CalDAV search方法sort_keys参数可用键值说明
CalDAV库的search方法支持通过sort_keys参数对搜索结果排序,但官方文档没明确列出可用的键值。结合实际使用和源码逻辑,整理出以下常用排序键:
'dtstart': 按事件/待办的开始时间排序'dtend': 按事件/待办的结束时间排序'due': 待办事项的截止时间(仅适用于TODO类型条目)'created': 条目创建时间'last-modified': 条目最后修改时间'summary': 按条目**摘要(标题)**的字符串字典序排序'priority': 按待办事项的优先级排序(仅适用于TODO类型条目)
用法示例
如果需要按开始时间升序、优先级降序排序,可在调用时传入带负号的键(负号表示降序,默认升序):
# 按开始时间升序,优先级降序排列结果 calendar.search(sort_keys=('dtstart', '-priority'))
search方法参数中文说明
search(xml=None, comp_class=None, todo=None, include_completed=False, sort_keys=(), split_expanded=True, **kwargs)
各参数含义:
- xml: 自定义CalDAV查询XML,默认None时使用内置查询逻辑
- comp_class: 指定搜索的组件类,比如
Event或Todo - todo: 布尔值,是否仅搜索待办事项,优先级低于comp_class参数
- include_completed: 是否包含已完成的待办事项,默认不包含
- sort_keys: 排序键组成的元组,支持前缀
-表示降序,默认空元组即不排序 - split_expanded: 是否拆分重复事件的扩展实例,默认开启
- **kwargs: 其他查询参数,比如
start、end用于指定时间范围
内容的提问来源于stack exchange,提问作者awado
相关产品推荐
相关产品推荐

