diff --git a/lib/mix/tasks/systembooster/cron.ex b/lib/mix/tasks/systembooster/cron.ex index 24f2929..54fe673 100644 --- a/lib/mix/tasks/systembooster/cron.ex +++ b/lib/mix/tasks/systembooster/cron.ex @@ -1,19 +1,29 @@ defmodule Mix.Tasks.SystemBooster.Cron do use Mix.Task - + def run(args) do Application.ensure_all_started(:hackney) app = Application.get_env(:systembooster, :app) oauth = Application.get_env(:systembooster, :oauth) - conn = Hunter.new([base_url: app[:base_url], bearer_token: oauth[:token]]) - Hunter.Api.HTTPClient.list_timeline(conn, Application.get_env(:systembooster, :list)[:list_id], []) - |> Enum.filter(fn (x) -> x.reblogged == false and (x.visibility == "public" or x.visibility == "unlisted") end) - |> Enum.reverse + conn = Hunter.new(base_url: app[:base_url], bearer_token: oauth[:token]) + + conn + |> Hunter.Api.HTTPClient.list_timeline( + Application.get_env(:systembooster, :list)[:list_id], + [] + ) + |> Enum.filter(fn x -> + x.reblogged == false and x.visibility in ["public", "unlisted"] + end) + |> Enum.reverse() |> Enum.map(fn x -> Hunter.reblog(conn, x.id) end) - |> IO.inspect + |> case do + [] -> "Up to date" + x -> x |> Enum.count() |> (fn x -> "updated #{x} statuses" end).() + end + |> IO.puts() end end - # realapp = %Hunter.Application{client_id: app[:client_id], client_secret: app[:client_secret], id: app[:app_id]} - #Enum.map(Enum.reverse(Enum.sort_by(Enum.filter(list, fn (x) -> x.reblogged == false and (x.visibility == "public" or x.visibility == "unlisted") end),fn x -> x.id end)), fn x -> Hunter.reblog(conn, x.id) end) +# Enum.map(Enum.reverse(Enum.sort_by(Enum.filter(list, fn (x) -> x.reblogged == false and (x.visibility == "public" or x.visibility == "unlisted") end),fn x -> x.id end)), fn x -> Hunter.reblog(conn, x.id) end)