Currently, the events are stored in a csv file in the following format
Enabled,Date,Hour,Event Type,Text
And the available values for date and hour are as follows:
Date:
- Sun
- Moon
- Mars
- Mercury
- Jupiter
- Venus
- Saturn
- Everyday
- Weekends
- Weekdays
- Custom (date)
Hour:
- Sun
- Moon
- Mars
- Mercury
- Jupiter
- Venus
- Saturn
- Every planetary hour
- Every normal hour
- When the sun rises
- When the sun sets
- Custom (time)
This is a gross oversimplification and should also have more triggers that would be also needed, such as:
- Planetary datetime (already kind of implemented)
- date (probably as an rrule)
- time (might be an rrule, not absolutely sure)
- Aspect
- Aspecting planet
- Aspect
- Aspected planet
- second planet is natal
- Moon phase
- phase (note: this would be the most 'perfect' for each phase. EG: waxing crescent would be 25% illuminated)
- days before return
- Planetary returns (for now, just sun and moon)
- planet
- days before return
The best way for this to be reworked would be to have the csv file sectioned as:
Enabled,Trigger Type,Trigger Opts,Event type,Event Opts
or
Enabled,Trigger,Event type,Event Opts
Either method would involve probably cramming in the options using json or something. Another option would be to just...pickle it. But pickling is ugly too