## ls-packs
- mix pleroma.emoji ls-packs [OPTION...]
+ mix pleroma.emoji ls-packs [OPTION...]
Lists the emoji packs and metadata specified in the manifest.
## get-packs
- mix pleroma.emoji get-packs [OPTION...] PACKS
+ mix pleroma.emoji get-packs [OPTION...] PACKS
Fetches, verifies and installs the specified PACKS from the
- manifest into the `STATIC-DIR/emoji/PACK-NAME
+ manifest into the `STATIC-DIR/emoji/PACK-NAME`
### Options
## gen-pack
- mix pleroma.emoji gen-pack PACK-URL
+ mix pleroma.emoji gen-pack PACK-URL
Creates a new manifest entry and a file list from the specified
remote pack file. Currently, only .zip archives are recognized
])
)
- binary_archive = Tesla.get!(src_url).body
+ binary_archive = Tesla.get!(client(), src_url).body
archive_sha = :crypto.hash(:sha256, binary_archive) |> Base.encode16()
sha_status_text = ["SHA256 of ", :bright, pack_name, :normal, " source file is ", :bright]
])
)
- files = Tesla.get!(files_url).body |> Poison.decode!()
+ files = Tesla.get!(client(), files_url).body |> Poison.decode!()
IO.puts(IO.ANSI.format(["Unpacking ", :bright, pack_name]))
IO.puts("Downloading the pack and generating SHA256")
- binary_archive = Tesla.get!(src).body
+ binary_archive = Tesla.get!(client(), src).body
archive_sha = :crypto.hash(:sha256, binary_archive) |> Base.encode16()
IO.puts("SHA256 is #{archive_sha}")
defp fetch_manifest(from) do
Poison.decode!(
if String.starts_with?(from, "http") do
- Tesla.get!(from).body
+ Tesla.get!(client(), from).body
else
File.read!(from)
end
]
)
end
+
+ defp client do
+ middleware = [
+ {Tesla.Middleware.FollowRedirects, [max_redirects: 3]}
+ ]
+
+ Tesla.client(middleware)
+ end
end