Beeminder Forum

Script for scheduling break across all goals?

Has someone got script for scheduling break for all goals? Holidays are coming and with 25+ goals I am not going to do this manually, especially as I need to set multiple breaks for the every single goal.

Request: Easy way to schedule a break for multiple goals simultaneously Across-the-Board Take a Break Option indicates that it was WONTFIXED, as for a typical person it would make the situation worse.

And I prefer to not not win “person with the highest number of support time required (after excluding things that were Beeminder deficiencies)”

Obviously, if noone did this already I will make such script, publish it and link it here (remind me in on 14 XII or later in case of not linking it).

Arbitrary break scheduling script is sort of related, so I am likely to take it as a base in case of writing my own https://github.com/narthur/pyminder

6 Likes

https://github.com/matkoniecz/beeminder_break has repo with the first usable version. For now it only lists goals that need to be modified.

Now the next step, an automatic road editing.

http://api.beeminder.com/#attributes-2 has

road (array): Array of tuples that can be used to construct the Yellow Brick Road. This field is also known as the road matrix. Each tuple specifies 2 out of 3 of [time, goal, rate]. To construct the road, start with a known starting point (time, value) and then each row of the road matrix specifies 2 out of 3 of {t,v,r} which gives the segment ending at time t. You can walk forward filling in the missing 1-out-of-3 from the (time, value) in the previous row.

“Yellow Brick Road” is unclear to me, I assume for now that it is a line that divides “derail” and “no derail” graph areas. Not sure about the input format, but Arbitrary break scheduling script should be helpful here.

I think that I will assume for now that time and rate is used, set rate to 0 at start of the break and restore value later.

Things to get:

  • get current goal rate
  • detect planned date changes between now and break start, if any - get last goal rate before break
  • detect planned date changes between break start and break end, crash loudly in case of detecting them (ends inclusive, to avoid scheduling break multiple times - not sure what would happen)

And based on that output planned break schedule. For now without any API calls modifying goals.

Maybe I will write also code making some trivial edit to a goal.

1 Like