projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix "exiftool not support svg files' (#421)
[akkoma]
/
lib
/
mix
/
tasks
/
pleroma
/
uploads.ex
diff --git
a/lib/mix/tasks/pleroma/uploads.ex
b/lib/mix/tasks/pleroma/uploads.ex
index c6b8401303406e795cbdc390fd67ff85ce39c6e0..e8c69dddc3c419eb5bb6743b7f02b0eb78aa99ff 100644
(file)
--- a/
lib/mix/tasks/pleroma/uploads.ex
+++ b/
lib/mix/tasks/pleroma/uploads.ex
@@
-1,19
+1,22
@@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
defmodule Mix.Tasks.Pleroma.Uploads do
use Mix.Task
defmodule Mix.Tasks.Pleroma.Uploads do
use Mix.Task
- alias Pleroma.{Upload, Uploaders.Local}
- alias Mix.Tasks.Pleroma.Common
+ import Mix.Pleroma
+ alias Pleroma.Upload
+ alias Pleroma.Uploaders.Local
require Logger
@log_every 50
require Logger
@log_every 50
- @shortdoc "Migrate uploads from local to remote storage"
- @doc """
- Manages uploads
- ## Migrate uploads from local to remote storage
- """
+ @shortdoc "Migrates uploads from local to remote storage"
+ @moduledoc File.read!("docs/docs/administration/CLI_tasks/uploads.md")
+
def run(["migrate_local", target_uploader | args]) do
delete? = Enum.member?(args, "--delete")
def run(["migrate_local", target_uploader | args]) do
delete? = Enum.member?(args, "--delete")
-
Common.
start_pleroma()
+ start_pleroma()
local_path = Pleroma.Config.get!([Local, :uploads])
uploader = Module.concat(Pleroma.Uploaders, target_uploader)
local_path = Pleroma.Config.get!([Local, :uploads])
uploader = Module.concat(Pleroma.Uploaders, target_uploader)
@@
-27,10
+30,10
@@
defmodule Mix.Tasks.Pleroma.Uploads do
Pleroma.Config.put([Upload, :uploader], uploader)
end
Pleroma.Config.put([Upload, :uploader], uploader)
end
-
Mix.shell().
info("Migrating files from local #{local_path} to #{to_string(uploader)}")
+
shell_
info("Migrating files from local #{local_path} to #{to_string(uploader)}")
if delete? do
if delete? do
-
Mix.shell().
info(
+
shell_
info(
"Attention: uploaded files will be deleted, hope you have backups! (--delete ; cancel with ^C)"
)
"Attention: uploaded files will be deleted, hope you have backups! (--delete ; cancel with ^C)"
)
@@
-67,7
+70,7
@@
defmodule Mix.Tasks.Pleroma.Uploads do
|> Enum.filter(& &1)
total_count = length(uploads)
|> Enum.filter(& &1)
total_count = length(uploads)
-
Mix.shell().
info("Found #{total_count} uploads")
+
shell_
info("Found #{total_count} uploads")
uploads
|> Task.async_stream(
uploads
|> Task.async_stream(
@@
-79,18
+82,19
@@
defmodule Mix.Tasks.Pleroma.Uploads do
:ok
error ->
:ok
error ->
-
Mix.shell().
error("failed to upload #{inspect(upload.path)}: #{inspect(error)}")
+
shell_
error("failed to upload #{inspect(upload.path)}: #{inspect(error)}")
end
end,
timeout: 150_000
)
|> Stream.chunk_every(@log_every)
end
end,
timeout: 150_000
)
|> Stream.chunk_every(@log_every)
+ # credo:disable-for-next-line Credo.Check.Warning.UnusedEnumOperation
|> Enum.reduce(0, fn done, count ->
count = count + length(done)
|> Enum.reduce(0, fn done, count ->
count = count + length(done)
-
Mix.shell().
info("Uploaded #{count}/#{total_count} files")
+
shell_
info("Uploaded #{count}/#{total_count} files")
count
end)
count
end)
-
Mix.shell().
info("Done!")
+
shell_
info("Done!")
end
end
end
end