Applescript 和 iCal 交互

2024-03-13

我正在尝试编写一个 AppleScript 来查询 iCal 并查找任何日历中给定日期的所有事件。

我首先编写一个简单的脚本,对给定日历中的每个事件执行一些简单的操作:

tell application "iCal"
  tell calendar "Reuniones"
    set the_events to every event
    repeat with an_event in the_events
        -- do something with every event
        set value to summary of an_event
    end repeat
   end tell
end tell

然而,这个简单的脚本需要花费很多时间来执行(几秒钟),即使我没有在循环内执行任何复杂的操作。恐怕真正的脚本执行起来真的要花很多时间。

我对 Applescript 不太熟悉,因此我想我正在做一些愚蠢的事情,这会对性能产生严重影响。

有人能解释一下为什么这需要花这么多时间来执行吗?有人可以提出一些建议来改进我的代码吗?我现在将开始检查事件的日期,并在循环中添加一个条件。我怀疑必须有一种方法来搜索带有日期的事件(就像 Automator 操作所做的那样),但我一直无法找到一种“本地”方法来做到这一点......

EDIT:我使用的是 Mac OS X Tiger (10.4)。新版本的 iCal 可能改进了可用的操作库。


我今天一直在努力解决这个问题,发现您可以按日期过滤(至少在雪豹上)。所以

tell application "iCal"
    set out to ""
    set todaysDate to current date
    set time of todaysDate to 0
    repeat with c in (every calendar)
        set theEvents to (every event of c whose start date ≥ todaysDate)
        repeat with current_event in theEvents
            set out to out & summary of current_event & "\n"
        end repeat
    end repeat
    return out
end tell

与迭代所有事件相比,将非常快地返回所有未来事件的摘要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Applescript 和 iCal 交互 的相关文章

随机推荐

  • 忙等待循环中是否需要内存屏障或原子操作?

    考虑以下spin lock 实现 最初来自这个答案 https stackoverflow com a 32658335 3169754 void spin lock volatile bool lock for inserts an ac
  • 在laravel中编写查询join sum groupby

    请帮我写查询 我有 2 个表 项目 和 债务 债务 表有 id project id currency list total 1 1 1 1000 2 1 2 500 3 2 1 1000 4 2 2 500 我需要编写查询以从项目中获取
  • Rails 2.3.5 在 (?) 中使用时动态构建条件数组的问题

    导轨2 3 5 我研究了许多与动态构建 ActiveRecord 查找条件相关的其他问题 我知道有一些很棒的东西 比如搜索逻辑 而且 Rails3 中更好 但是 我正在使用 geokit 进行地理空间搜索 并且我正在尝试构建一个标准条件集
  • SQL Server 2008 R2 将数字转换为数据类型数字时出现算术溢出错误

    我在 SQL Server 2008 R2 上遇到了一个我无法理解的令人困惑的错误 但是 当我在本地服务器 也包括 SQL Server 2008 R2 上尝试相同的请求时 一切正常 所以这是引发问题的请求 select cast cast
  • 在 MVC 中添加许多 CDN 捆绑包

    我正在尝试为生日创建一个日期时间选择器 您可以see here https stackoverflow com questions 34271030 change language to bootstrap datetimepicker 该
  • 与自己的班级交友“>>”

    我有以下课程 我与它交了朋友cout现在我正在尝试与它交朋友cin但我收到错误 任何人都可以帮助我 或者告诉我我做错了什么吗 error c mingw bin lib gcc mingw32 4 6 1 include c bits st
  • 是否有一个手势识别器可以同时处理捏合和平移?

    因此 我正在使用 iOS 4 2 向我的应用程序添加缩放和平移功能 我已经实现了 UIPinchGestureRecognizer 和 UIPanGestureRecognizer 的实例 在我看来 一次只有一个能够识别一个手势 特别是 后
  • 在 Rails 助手的类中使用 link_to

    我有一个使用下面结构的 Rails 助手 但是当我使用它时 我收到消息 undefined method link to 助手安排如下 module MyHelper class Facet def render for search li
  • Dalvik 正在寻找扩展名为“.0”的 .so 文件 - 为什么?

    我已经开始开发一个非常简单的 Android 应用程序 它由三部分组成 Java应用程序本身 一个预先构建的共享库 我们将其称为libfoo 另一个使用预构建库的共享库 我们将其称为libfoowrapper 文件系统看起来像这样 jni
  • PHP 条件取决于窗口宽度(媒体查询?)

    我有一个响应式网站 我需要一些 PHP 条件 具体取决于窗口宽度 或媒体查询 Example if window width gt 1400px echo Your window is wider than 1400px elseif wi
  • 将变量传递到新页面而不使用查询字符串

    有没有一种方法可以将变量从具有弹出 iframe 的 1 个页面传递到客户端按钮单击上的弹出窗口 iframe 而不使用查询字符串 我的变量太大而无法使用查询字符串 提出同样问题的另一种方式 有没有办法在客户端按钮单击时将变量从一个页面传递
  • 用 python 生成随机 ISO8601 日期?

    我已经看到如何从 ISO 格式的日期开始 例如2007 01 14T20 34 22 00 00 使用 python 转换为更具可读性的格式datetime 有没有一种简单的方法来生成随机 ISO8601 日期如同这个答案 https st
  • Cygwin 编译错误:“此应用程序已请求运行时以不寻常的方式终止它”

    我正在尝试运行 Cygwin 但遇到了一些问题 我尝试用 mingw 编译一个既可以在 Windows 上运行也可以在 Unix 系统上运行的程序 但是当我通过 Cygwin 编译它时 gcc threads c o threads 我收到
  • 使用 Sequelize 将多个参数安全地发送到 IN 子句以进行原始查询

    使用 Sequelize 我可以执行原始查询并安全地发送参数 感谢通过参数进行数据库绑定参数 const baz 1 sequelize query select from foo where bar baz replacements ba
  • 如何避免使用JPA注释循环引用?

    我正在为一家商店注释我的域模型 使用 JPA 2 使用 Hibernate Provider 商店里的每件产品都可以有一个Category 每个类别可以分配给多个超级类别和子类别 这意味着 蜡烛 类别可以将 餐厅 和 装饰 作为父类别 将
  • 在 Microsoft Visual Basic 6.0 中填充组合框

    我在 Microsoft Visual Basic 6 0 中有一个组合框 我必须将项目添加到组合框中 这些项目存储在 SQL 数据库中的 Column1 表中 我不确定如何让这些项目在运行时显示在组合框中 以便用户可以选择不同的选项 注
  • 从命令行查找目录中的文件

    在 eclipse 和 textmate 等编辑器 IDE 中 有一些快捷方式可以快速查找项目目录中的特定文件 是否有类似的工具可以在 bash 或其他 shell 中 递归地 对目录中的文件名进行完整路径补全 我的项目有很多目录 而且还有
  • 如何在java中对用户输入进行单元测试

    我试图了解如何测试用户的输入 请注意 我不是在尝试进行模拟测试 而是对实际用户输入的测试 目前 正如您在我的程序中看到的那样 我已经对测试用例的值进行了硬编码 并且它通过了所有测试 但是我如何获取用户的输入并对其进行测试 有没有一种方法可以
  • 如何从另一个模型引用 Django 模型

    我希望在管理面板中为一个测试程序创建一个视图 该程序记录书籍 出版商和作者 如 djangoproject com 我定义了以下两个模型 class Author models Model first name models CharFie
  • Applescript 和 iCal 交互

    我正在尝试编写一个 AppleScript 来查询 iCal 并查找任何日历中给定日期的所有事件 我首先编写一个简单的脚本 对给定日历中的每个事件执行一些简单的操作 tell application iCal tell calendar R