项目作者: lovac42

项目描述 :
Addon: Cron Task Scheduler
高级语言: Python
项目地址: git://github.com/lovac42/Cronholio.git
创建时间: 2018-11-03T06:31:03Z
项目社区:https://github.com/lovac42/Cronholio

开源协议:GNU General Public License v3.0

下载


Cronholio: Cron Task Scheduler

About:

This addon designates the current card in the reviewer as a cron card. A cron card follows a schedule from the assigned expression. This is useful for reminders and small notes kept in flashcards.

Expression Syntax:

@daily: Repeats the card once per day.
@hourly: Repeats the card every hour.

min hrs dom mon dow
/15 : Every 15 minutes.
/3 : Every 3 hours.
0 0 1 : Every 1st of the month.
0 0 mon: Every Monday.
0 0 2,4,6: Every Tue, Thur, Sat.
0 0 5#3: 3rd Fri of the month.
0 0 mon-wed,fri: Every Mon to Wed and Fri.
0 0 1 jan : Every 1st of Jan.
0 0 L
*: Last day of the month.

For more info see here: https://en.wikipedia.org/wiki/Cron

Macro Expansions:

This can be customized in addon options for Anki2.1.
For Anki2.0, you will need to edit the config.json file.

h: Hourly
d: Daily
ed: Even days
od: Odd days
wd: Weekdays
we: Weekends
mon,wed-fri: Every Monday, Wed-Fri
1 jan,feb: Every 1st of Jan and Feb
eye: The eye of the month (15th~16th)

When changing configs, you can test out your syntax with this site: https://crontab-generator.org

Schedules:

Reviews will be scheduled based on Anki’s notion of time and timezones. Day scheduled cards are converted to review cards (Anki-time) and intraday scheduled cards are converted to learning cards following Unix Epoch time. Any time specific information beyond “today” is discarded, as Anki-time only records dates.

Also, scheduling a card for the next day will not show up until 4 AM under Anki’s default config settings. This can be changed under the “Next day starts at” option in preferences.

User Data:

Cron table is saved in user’s media folder in a file called “_crontab”.
Backups are named “_crontab.bak” and “_crontab.ba2”

Conflicts:

Problems with other button timer manipulation addons could be resolved by changing the addon file/folder name so that cronholio gets loaded first before any other addons.

Logging:

Since these are scheduled task without any changes to interval, no logging methods are coded in this addon.

Screenshots:

API Used:

croniter: https://github.com/taichino/croniter
util.py File from IR3 by Luo Li-Yan