Inject sequence name into ast in farmevents and regimens.

This commit is contained in:
connor rigby 2017-11-21 11:52:45 -08:00
parent 117eaec2f1
commit 599947815e
2 changed files with 7 additions and 4 deletions

View file

@ -2,10 +2,10 @@ defimpl Farmbot.FarmEvent.Execution, for: Farmbot.Repo.Sequence do
def execute_event(sequence, _now) do
with {:ok, ast} <- Farmbot.CeleryScript.AST.decode(sequence) do
case Farmbot.CeleryScript.execute(ast) do
ast_with_label = %{ast | args: Map.put(ast.args, :label, sequence.name)}
case Farmbot.CeleryScript.execute(ast_with_label) do
{:ok, _} -> :ok
{:error, reason, _} ->
{:error, reason}
{:error, reason, _} -> {:error, reason}
end
else
{:error, reason} -> {:error, reason}

View file

@ -23,10 +23,13 @@ defmodule Farmbot.Regimen.Manager do
def parse(%{time_offset: offset, sequence_id: sequence_id})
do
sequence = fetch_sequence(sequence_id)
{:ok, ast} = Farmbot.CeleryScript.AST.decode(sequence)
ast_with_label = %{ast | args: Map.put(ast.args, :label, sequence.name)}
%__MODULE__{
name: sequence.name,
time_offset: offset,
sequence: Farmbot.CeleryScript.AST.decode(sequence) |> elem(1)}
sequence: ast_with_label}
end
def fetch_sequence(id) do