SiriBlog

siriyang的个人博客


  • 首页

  • 排行榜

  • 标签115

  • 分类37

  • 归档320

  • 关于

  • 搜索

Pythonista中文文档:reminders

发表于 2020-03-22 更新于 2021-10-29 分类于 计算机 , 技术 , Python 阅读次数: Valine:
本文字数: 4.8k 阅读时长 ≈ 4 分钟

Pythonista中文文档

reminders — 访问iOS上的提醒事项数据库

  reminders模块提供读/写访问iOS上的提醒事项数据库。提醒事项以Reminder类和提醒列表Calendar类进行呈现。

注意:当你第一次使用任何函数去访问你的提醒事项时,系统会自动弹出一个权限对话框。如果你拒绝访问,大多数函数会返回空数据。如果你之后改变了想法,你可以在系统设置的隐私页面设置Pythonista访问提醒事项的权限。


快速开始

浏览已存在的提醒

  使用get_reminders()浏览数据库中的所有提醒事项。通过completed参数,你可以按照完成状态(是否已检查)来过滤列表中的提醒事项。

1
2
3
4
5
6
7
8
9
10
11
import reminders
todo = reminders.get_reminders(completed=False)
print('TODO List')
print('=========')
for r in todo:
print('[ ] ' + r.title)
done = reminders.get_reminders(completed=True)
print('DONE')
print('====')
for r in done:
print('[x] ' + r.title)

添加新提醒

  要添加新的提醒,只需创建一个Reminder对象,设置其标题,截止日期等,然后调用其Reminder.save()方法即可:

1
2
3
4
5
import reminders
r = reminders.Reminder()
r.title = 'Added from Pythonista'
r.save()
print('Reminder added')

  您可以在提醒事项应用中拥有多个提醒列表。这些列表由Calendar模块中的对象表示。如果没有明确指定,提醒将添加到默认列表/日历中。要将提醒添加到其他列表,只需通过相应Calendar创建提醒。

  以下示例查找标题为“Pythonista”的日历,并向其添加新的提醒(如果存在):

1
2
3
4
5
6
7
8
9
10
import reminders
all_calendars = reminders.get_all_calendars()
for calendar in all_calendars:
if calendar.title == 'Pythonista':
r = reminders.Reminder(calendar)
r.title = 'New Reminder in Pythonista List'
r.save()
break
else:
print('Could not find calendar named "Pythonista"')

添加日历

  您还可以通过编程方式创建新的日历。本示例添加一个标题为Pythonista的日历(如果尚不存在):

1
2
3
4
5
6
7
8
9
10
11
import reminders
all_calendars = reminders.get_all_calendars()
for calendar in all_calendars:
if calendar.title == 'Pythonista':
print('Calendar "Pythonista" already exists')
break
else:
new_calendar = reminders.Calendar()
new_calendar.title = 'Pythonista'
new_calendar.save()
print('New calendar added')

添加警报

  提醒在实际提醒您某些事情(例如显示通知)时会更加有用。为此,您必须在提醒中添加一个或多个Alarm。Alarm可以在特定时间或在到达/离开某地理位置时触发。

  首先让我们看看基于日期/时间的警报。本示例添加了一个新的提醒,该提醒会从现在开始25分钟后触发通知:

1
2
3
4
5
6
7
8
9
10
11
12
13
import reminders
import datetime
r = reminders.Reminder()
r.title = 'Take a break!'
minutes = 25
due = datetime.datetime.now() + datetime.timedelta(minutes=minutes)
# 注意:这里我们将警报时间和提醒截止日期设为相同时间,但他们也可以不一样。
r.due_date = due
a = reminders.Alarm()
a.date = due
r.alarms = [a]
r.save()
print('You will be reminded in %i minutes.' % minutes)

  要添加基于地理位置的警报,您必须指定标题,纬度和经度。您还可以指定半径,以及进入或离开该半径时是否应触发警报:

1
2
3
4
5
6
7
8
9
10
11
12
13
import reminders

r = reminders.Reminder()
r.title = 'Take a selfie'

a = reminders.Alarm()
lat, lng = 37.332224, -122.030780
radius = 500 # 单位为米
title = '1 Infinite Loop'
a.location = (title, lat, lng, radius)
a.proximity = 'enter'
r.alarms = [a]
r.save()

函数

reminders.get_reminders(calendar=None, completed=None)

  返回给定日历(或所有日历)中的所有提醒。

  如果省略calendar参数或为None,则返回所有日历中的所有提醒。

  completed 参数可以通过完成状态来过滤提醒:

  • None (默认):返回所有提醒
  • True :仅返回已完成(已检查)的提醒
  • False :仅返回尚未完成的提醒

reminders.get_all_calendars()

  返回所有可用日历(Calendar对象)的列表。日历代表提醒列表。


reminders.get_default_calendar()

  返回默认情况下提醒所添加到的日历。


reminders.get_calendar(calendar_id)

  通过唯一标识符返回特定日历。如果没有对应的日历则返回None。


reminders.delete_reminder(reminder)

  从数据库删除一个提醒。

  如果删除成功则返回True,否则返回Fales。


reminders.delete_calendar(calendar)

  从数据库删除一个日历。

  如果删除成功则返回True,否则返回Fales。


Calendar 对象

class reminders.Calendar

  Calendar对象代表提醒列表。每个提醒都属于一个日历,你可以使用该get_reminders()函数检索特定日历的提醒。要获取新提醒的默认日历,请使用get_default_calendar()。每个日历都有一个唯一的标识符可以使你准确地(使用函数get_calendar())检索它,无论标题是否更改。


Calendar 属性

Calendar.title

  提醒列表的标题(string/unicode)


Calendar.identifier

  日历的唯一标识符(只读,string)。

  即使它的标题可能已更改,它也可以用于以后检索此特定日历。


Calendar 方法

Calendar.save()

  将更改保存到数据库(仅保存日历的元数据,必须使用对象自己的Reminder.save()方法保存日历内的提醒)。


Reminder 对象

class reminders.Reminder([calendar])

  Reminder对象表示列表中的单个提醒。提醒可以具有多个附加Alarm对象,这些对象确定系统何时/何地/是否显示提醒通知。

  提醒始终包含在Calendar代表的提醒的列表中。如果你在初始化Reminder时未指定特定Calendar,则将会使用默认日历。


Reminder 属性

Reminder.alarms

  与该提醒关联的Alarm对象列表。

注意:该值表示副本/快照;除非您重新分配属性,否则就地更改列表不会更改警报。


Reminder.completed

  提醒是否已完成(检查)(boolean)。


Reminder.completion_date

  该提醒完成(检查)的日期,如果它尚未完成则为None。


Reminder.due_date

  提醒的截止日期。

注意:设置到期日期与设置警报不同。虽然提醒事项应用中显示了日期到期,但您也不会收到通知,除非您还添加了Alarm(通过设置提醒的alarms属性)。


Reminder.notes

  提醒的其他说明 (string/unicode)。


Reminder.priority

  提醒的优先级(0 =无优先级,1 =最高优先级,9 =最低优先级)。


Reminder.title

  提醒的标题(string/unicode)。


Reminder.url

  与提醒关联的URL。


Reminder 方法

Reminder.save()

  保存您对数据库所做的更改(例如,在更改title或completed属性后)。


Alarm 对象

class reminders.Alarm

  Alarm对象表示与提醒关联的警报。警报可以在特定时间触发,也可以在进入/离开地理位置时触发。您可以通过设置Reminder.alarms属性将Alarm与提醒相关联。


Alarm 属性

Alarm.date

  触发警报的绝对日期(datetime对象)。


Alarm.location

  基于地理位置的警报的标题,坐标和半径。该位置以3元组或4元组(title, latitude, longitude[, radius])表示。默认情况下,半径设置为100m。


Alarm.proximity

  确定进入或离开指定区域时是否触发基于位置的警报。可能的值是’enter‘,’leave‘和’none‘。

-------- 本文结束 感谢阅读 --------
相关文章
  • Pythonista中文文档:scene
  • Pythonista中文文档:cb
  • Pythonista中文文档:contacts
  • Pythonista中文文档:canvas
  • Pythonista中文文档:photos
觉得文章写的不错的话,请我喝瓶怡宝吧!😀
SiriYang 微信支付

微信支付

SiriYang 支付宝

支付宝

  • 本文标题: Pythonista中文文档:reminders
  • 本文作者: SiriYang
  • 创建时间: 2020年03月22日 - 11时03分
  • 修改时间: 2021年10月29日 - 18时10分
  • 本文链接: https://blog.siriyang.cn/posts/20200322114426id.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
Python Pythonista 文档
Pythonista中文文档:使用Pythonista
Pythonista中文文档:speech
  • 文章目录
  • 站点概览
SiriYang

SiriYang

努力搬砖攒钱买镜头的摄影迷
320 日志
33 分类
88 标签
RSS
GitHub E-Mail
Creative Commons
Links
  • 友情链接
  • 作品商铺

  1. reminders — 访问iOS上的提醒事项数据库
    1. 快速开始
      1. 浏览已存在的提醒
      2. 添加新提醒
      3. 添加日历
      4. 添加警报
    2. 函数
      1. Calendar 对象
      2. Calendar 属性
      3. Calendar 方法
      4. Reminder 对象
      5. Reminder 属性
      6. Reminder 方法
      7. Alarm 对象
      8. Alarm 属性
蜀ICP备19008337号 © 2019 – 2025 SiriYang | 1.7m | 25:41
0%