跳转到主要内容

将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

其他依赖项(pytzvobject)将自动安装。

从源安装

  1. 下载并安装依赖项。

  2. 项目主页下载最新版本的tarball。

  3. 解压文件

    $ tar zxvf ical2org-VERSION.tar.gz
  4. 运行安装脚本

    $ cd ical2org-VERSION
    $ python setup.py install

生成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 切换模式。日记条目不包含事件的全部文本。

重复事件

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 (14.8 kB 查看散列值)

上传时间 源代码

由以下支持