Compare commits

..

No commits in common. "2781748626520527bb8804683ae123ed446ecfdf" and "4f90ccb047ba7e49f07edf941021ebe46da43bad" have entirely different histories.

3 changed files with 10 additions and 13 deletions

View file

@ -14,7 +14,7 @@ defmodule Freedive.Api.Service.Cli do
enabled_service_names = enabled_service_names() enabled_service_names = enabled_service_names()
all_service_names all_service_names
|> Enum.map(fn name -> service_details!(name, Enum.member?(enabled_service_names, name)) end) |> Enum.map(fn name -> service_details(name, Enum.member?(enabled_service_names, name)) end)
|> Enum.into(%{}, &{&1[:name], &1}) |> Enum.into(%{}, &{&1[:name], &1})
end end
@ -56,7 +56,7 @@ defmodule Freedive.Api.Service.Cli do
end end
end end
def service_details!(name, enabled \\ nil) do def service_details(name, enabled \\ nil) do
enabled = if(enabled != nil, do: enabled, else: service_is_enabled?(name)) enabled = if(enabled != nil, do: enabled, else: service_is_enabled?(name))
%{ %{
@ -71,7 +71,7 @@ defmodule Freedive.Api.Service.Cli do
} }
end end
def refresh_service!(service) do def refresh(service) do
name = service.name name = service.name
%{ %{
@ -134,11 +134,11 @@ defmodule Freedive.Api.Service.Cli do
defp service(name, command, args) do defp service(name, command, args) do
case execute(@service_bin, [name, command] ++ args, doas: true) do case execute(@service_bin, [name, command] ++ args, doas: true) do
{:ok, stdout} -> {:ok, stdout} ->
Logger.debug("service #{name} #{command} #{args}: #{inspect(stdout)}") # Logger.debug("service, log: #{inspect(stdout)}")
{:ok, stdout} {:ok, stdout}
{:error, {stderr, code}} -> {:error, {stderr, code}} ->
Logger.debug("service #{name} #{command} #{args}: (#{code}) #{String.trim(stderr)}") # Logger.warning("service #{name} #{command}: #{String.trim(stderr)}")
{:error, {stderr, code}} {:error, {stderr, code}}
end end
end end

View file

@ -81,10 +81,8 @@ defmodule Freedive.Api.Service do
broadcast(:stdlog, %{name: name, log: std_to_log(reason)}) broadcast(:stdlog, %{name: name, log: std_to_log(reason)})
end end
curr_service = state[:services][name] broadcast(:refreshed, service_details(name))
refreshed_service = refresh_service!(curr_service)
state = %{state | services: Map.put(state[:services], name, refreshed_service)}
broadcast(:refreshed, refreshed_service)
{:noreply, state} {:noreply, state}
end end

View file

@ -54,7 +54,7 @@ defmodule FreediveWeb.LiliformLive do
) )
searched_items = search(filtered_items, query) searched_items = search(filtered_items, query)
socket = assign(socket, %{items: searched_items, query: query}) socket = assign(socket, :items, searched_items)
socket = socket =
case Kernel.length(Map.keys(searched_items)) == 1 do case Kernel.length(Map.keys(searched_items)) == 1 do
@ -73,9 +73,8 @@ defmodule FreediveWeb.LiliformLive do
def(handle_event("filter", %{"key" => key}, socket)) do def(handle_event("filter", %{"key" => key}, socket)) do
key = String.to_existing_atom(key) key = String.to_existing_atom(key)
filtered_items = FreediveWeb.LiliformLive.filter(socket.assigns.items_all, key) items = FreediveWeb.LiliformLive.filter(socket.assigns.items_all, key)
searched_items = search(filtered_items, socket.assigns.query) socket = assign(socket, :items, items)
socket = assign(socket, :items, searched_items)
socket = socket =
assign( assign(