lovac42 / Cronholio

Addon: Cron Task Scheduler

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

Addon: Cron Task Scheduler

License:GNU General Public License v3.0


Languages

Language:Python 99.9%Language:Batchfile 0.1%