Current section
Files
Jump to
Current section
Files
lib/mix/tasks/ua_inspector/download.databases.ex
defmodule Mix.Tasks.UAInspector.Download.Databases do
@moduledoc """
Fetches parser databases from the
[piwik/device-detector](https://github.com/piwik/device-detector)
project.
The files will be stored inside your configured path.
`mix ua_inspector.download.databases`
"""
@shortdoc "Downloads parser databases"
alias Mix.UAInspector.Download
alias UAInspector.Config
alias UAInspector.Downloader
use Mix.Task
def run(args) do
Mix.shell().info("UAInspector Database Download")
case Config.database_path() do
nil -> Download.exit_unconfigured()
_ -> Download.request_confirmation(args) |> run_confirmed()
end
end
defp run_confirmed(false) do
Mix.shell().info("Download aborted!")
:ok
end
defp run_confirmed(true) do
{:ok, _} = Application.ensure_all_started(:hackney)
:ok = Downloader.download(:databases)
Mix.shell().info("Download complete!")
:ok
end
end