forked from AkkomaGang/akkoma
fixes for mix tasks
- fix for `mix pleroma.database update_users_following_followers_counts` - raise error, if fetch was unsuccessful in emoji tasks - fix for `pleroma.digest test` task
This commit is contained in:
parent
3d5d8c05c9
commit
4727030f59
3 changed files with 27 additions and 16 deletions
|
@ -14,7 +14,7 @@ defmodule Mix.Pleroma do
|
|||
:swoosh,
|
||||
:timex
|
||||
]
|
||||
@cachex_children ["object", "user"]
|
||||
@cachex_children ["object", "user", "scrubber"]
|
||||
@doc "Common functions to be reused in mix tasks"
|
||||
def start_pleroma do
|
||||
Pleroma.Config.Holder.save_default()
|
||||
|
|
|
@ -15,7 +15,7 @@ def run(["ls-packs" | args]) do
|
|||
{options, [], []} = parse_global_opts(args)
|
||||
|
||||
url_or_path = options[:manifest] || default_manifest()
|
||||
manifest = fetch_and_decode(url_or_path)
|
||||
manifest = fetch_and_decode!(url_or_path)
|
||||
|
||||
Enum.each(manifest, fn {name, info} ->
|
||||
to_print = [
|
||||
|
@ -42,7 +42,7 @@ def run(["get-packs" | args]) do
|
|||
|
||||
url_or_path = options[:manifest] || default_manifest()
|
||||
|
||||
manifest = fetch_and_decode(url_or_path)
|
||||
manifest = fetch_and_decode!(url_or_path)
|
||||
|
||||
for pack_name <- pack_names do
|
||||
if Map.has_key?(manifest, pack_name) do
|
||||
|
@ -92,7 +92,7 @@ def run(["get-packs" | args]) do
|
|||
])
|
||||
)
|
||||
|
||||
files = fetch_and_decode(files_loc)
|
||||
files = fetch_and_decode!(files_loc)
|
||||
|
||||
IO.puts(IO.ANSI.format(["Unpacking ", :bright, pack_name]))
|
||||
|
||||
|
@ -243,9 +243,11 @@ def run(["reload"]) do
|
|||
IO.puts("Emoji packs have been reloaded.")
|
||||
end
|
||||
|
||||
defp fetch_and_decode(from) do
|
||||
defp fetch_and_decode!(from) do
|
||||
with {:ok, json} <- fetch(from) do
|
||||
Jason.decode!(json)
|
||||
else
|
||||
{:error, error} -> raise "#{from} cannot be fetched. Error: #{error} occur."
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -107,25 +107,34 @@ def digest_email(user) do
|
|||
|> Enum.filter(&(&1.activity.data["type"] == "Create"))
|
||||
|> Enum.map(fn notification ->
|
||||
object = Pleroma.Object.normalize(notification.activity)
|
||||
object = update_in(object.data["content"], &format_links/1)
|
||||
|
||||
%{
|
||||
data: notification,
|
||||
object: object,
|
||||
from: User.get_by_ap_id(notification.activity.actor)
|
||||
}
|
||||
if not is_nil(object) do
|
||||
object = update_in(object.data["content"], &format_links/1)
|
||||
|
||||
%{
|
||||
data: notification,
|
||||
object: object,
|
||||
from: User.get_by_ap_id(notification.activity.actor)
|
||||
}
|
||||
end
|
||||
end)
|
||||
|> Enum.filter(& &1)
|
||||
|
||||
followers =
|
||||
notifications
|
||||
|> Enum.filter(&(&1.activity.data["type"] == "Follow"))
|
||||
|> Enum.map(fn notification ->
|
||||
%{
|
||||
data: notification,
|
||||
object: Pleroma.Object.normalize(notification.activity),
|
||||
from: User.get_by_ap_id(notification.activity.actor)
|
||||
}
|
||||
from = User.get_by_ap_id(notification.activity.actor)
|
||||
|
||||
if not is_nil(from) do
|
||||
%{
|
||||
data: notification,
|
||||
object: Pleroma.Object.normalize(notification.activity),
|
||||
from: User.get_by_ap_id(notification.activity.actor)
|
||||
}
|
||||
end
|
||||
end)
|
||||
|> Enum.filter(& &1)
|
||||
|
||||
unless Enum.empty?(mentions) do
|
||||
styling = Config.get([__MODULE__, :styling])
|
||||
|
|
Loading…
Reference in a new issue