将iCal文件转换为emacs org-mode数据
项目描述
ical2org是一个命令行工具,用于从Mac OS X应用程序iCal导出数据,以便与emacs工具org-mode一起使用。数据传输是单向的(从iCal到emacs),旨在用于在org的日程安排视图中显示由iCal管理的警报和安排的事件。
安装
ical2org作为一组Python源文件分发,并要求Python已安装。源分发是使用Distribute创建的,它将与ical2org一起安装。
快速安装
使用正常的Python应用程序步骤安装ical2org
$ pip install ical2org
或者
$ easy_install ical2org
从源安装
生成org-mode文件
虽然ical2org支持多种输出格式,但默认的是org-mode大纲。每个日历条目都包括摘要、位置、日期和时间,以及完整描述(用于搜索)。
例如,要从名为“Meetup: Python”的日历中提取条目,您将运行
$ ical2org "Meetup: Python" Starting 14 days ago at 2010-01-03 00:00:00-05:00 Ending 30 days from now at 2010-02-17 00:00:00-05:00 Processing: Meetup: Python Python Atlanta February Meetup # -*- coding: utf-8 -*- * Meetup: Python :clubs: :CATEGORY: Personal ** Python Atlanta February Meetup <2010-02-11 Thu 19:30-21:30> - PyAtl: Atlanta Python Programmers After an optional 6pm dinner at Figo Pasta at the corner of Howell Mill Road and Huff Road, we will meet as usual in the spacious and comfortable auditorium of the GTRI Food Processing Building at 7:30pm for our monthly meeting. Topics for this meeting: Brandon Rhodes will give his PyCon talk: "Learning Hosting Best-Practices From WebFaction" Atlanta, GA 30318 - USA Thursday, February 11 at 7:30 PM Photo: http://photos2.meetupstatic.com/photos/event/4/7/3/5/event_5238229.jpeg Attending: 3 Details: http://www.meetup.com/python-atlanta/calendar/12325308/
输出编码为UTF-8,可能不与Unix管道和shell重定向兼容。要将输出保存到文件而不是打印到标准输出,请使用 -o 选项。
默认情况下,ical2org处理iCal中显示的所有日历。除非您在命令行中指定其名称,否则将忽略隐藏的日历。
生成日记文件
默认输出格式使用org的大纲结构。如果您想使用emacs的diary-mode,请使用 -f diary 切换模式。日记条目不包含事件的全部文本。
推荐用法
推荐使用ical2org的方式是每天至少导出一次iCal数据。由于导出的日期范围有限,这为您提供了一扇新鲜数据的窗口。将输出保存到文件(例如,~/Documents/Notes/calendar.org)并将文件添加到org的输入列表中,以构建日历视图。
如果您使用org-mode在会议中做笔记,请在做笔记时重新归档每个事件,以避免在下次导出日历时覆盖它。
例如,您可能运行以下命令:
$ ical2org -o ~/Documents/Notes/calendar.org -b 30 -e 30
导出从30天前开始,到今天起30天结束的数据到文件 calendar.org。
重复事件
iCal中的重复事件“分解”成输出中的单独条目。这使得在添加笔记时重新归档事件变得容易,而不会使来自一次会议的笔记出现在错误的日期上。
命令行选项
- -h
显示此帮助消息并退出
- -c CONFIG_FILENAME,--config=CONFIG_FILENAME
配置文件名称。默认为 ~/.ical2org
- -b DAYS_AGO,--begin=DAYS_AGO,--days-ago=DAYS_AGO
搜索的时间跨度(天)。默认为14。
- -e DAYS_AHEAD,--end=DAYS_AHEAD,--days-ahead=DAYS_AHEAD
搜索的时间跨度(天)。默认为30。
- -v,--verbose
增加详细级别
- -q,--quiet
关闭详细输出
- -o OUTPUT_FILE_NAME,--output-file=OUTPUT_FILE_NAME
将输出写入指定的文件而不是stdout
- --all
包含所有日历,而不仅仅是活动的。
- --input-directory=INPUT_DIRECTORY
包含日历的目录。默认为 ~/Library/Calendars。
- -f FORMAT,--format=FORMAT
输出格式。可以是[‘org’,‘diary’]之一。默认为“diary”。
- --opt=OPT,--formatter-option=OPT
格式化特定选项名称=value
- --help
详细帮助
历史记录
1.2
修复由于对iCalendar标准的误解而导致的与事件跨度相关的错误。
1.1
修复对重复事件的DST处理。
1.0.3
来自KANEUCHI Tetsuya的补丁,以修复与Unicode控制台输出和空描述相关的错误。
1.0.2
更新安装说明。
1.0.1
修复了一些安装烦恼。
1.0
第一个公开版本。
项目详情
ical2org-1.2.tar.gz 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 71e17de1283b8d163bc05ad7ac41a90d7d032832e7f837d1462e07815e396976 |
|
MD5 | 79891521a644b244c8840c8fadd65fdd |
|
BLAKE2b-256 | 6ee6147e920ebbefd0c0ecc9be32201ccdb254ce0ac19d80f17aeb64682807bb |