FWS 1.4.3 - change to access of tasks inside FW: always use fw.tasks

Background:

Previously, the “tasks” variable in a Firework was stored in two places: the “tasks” member variable and also immediately in a dict form in spec["_tasks"]. In FWS 1.4.3, the tasks are only available via the “tasks” member variable and are no longer accessible through spec["_tasks"].

Reason:

Having the tasks in two places:

  • caused unnecessary duplication. If you updated a task, you needed to do it in both places

  • caused confusion, since the member variable stored a Firetask as an object whereas spec["_tasks"] stored it in dict form.

What to do:

  • If you used calls like fw.spec["_tasks"] to access Firetasks where fw is an object, you must change the syntax to fw.tasks. Furthermore, note that the former would have worked with a dictionary representation of tasks, whereas the latter with give them to you in object form.

  • We expect that most FWS users likely won’t be affected by the above