From 1290fed86687524a25f866c1bd8af139ae211746 Mon Sep 17 00:00:00 2001 From: Chaska <166928710+chaskayote@users.noreply.github.com> Date: Tue, 23 Apr 2024 00:07:43 -0500 Subject: [PATCH] adding support for e621 auth Adding e621_user and e621_apikey to docker compose, scrapers, and runtime as credentials are required for some posts on e621.net. --- config/runtime.exs | 2 ++ docker-compose.yml | 2 ++ lib/philomena/scrapers/e621.ex | 8 +++++++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/config/runtime.exs b/config/runtime.exs index cb963e88..a0cd1e08 100644 --- a/config/runtime.exs +++ b/config/runtime.exs @@ -25,6 +25,8 @@ config :philomena, image_file_root: System.fetch_env!("IMAGE_FILE_ROOT"), tumblr_api_key: System.fetch_env!("TUMBLR_API_KEY"), inkbunny_sid: System.fetch_env!("INKBUNNY_SID"), + e621_user: System.fetch_env!("E621_USER"), + e621_apikey: System.fetch_env!("E621_APIKEY"), otp_secret_key: System.fetch_env!("OTP_SECRET_KEY"), image_url_root: System.fetch_env!("IMAGE_URL_ROOT"), badge_url_root: System.fetch_env!("BADGE_URL_ROOT"), diff --git a/docker-compose.yml b/docker-compose.yml index f8da015b..c973d644 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,6 +17,8 @@ services: - PASSWORD_PEPPER=dn2e0EpZrvBLoxUM3gfQveBhjf0bG/6/bYhrOyq3L3hV9hdo/bimJ+irbDWsuXLP - TUMBLR_API_KEY=fuiKNFp9vQFvjLNvx4sUwti4Yb5yGutBN4Xh10LXZhhRKjWlV4 - INKBUNNY_SID=4X88ktV7jxywp65Ng40ez1qTJd + - E621_USER=hexerade + - E621_APIKEY=merpmarp - OTP_SECRET_KEY=Wn7O/8DD+qxL0X4X7bvT90wOkVGcA90bIHww4twR03Ci//zq7PnMw8ypqyyT/b/C - ADVERT_FILE_ROOT=adverts - AVATAR_FILE_ROOT=avatars diff --git a/lib/philomena/scrapers/e621.ex b/lib/philomena/scrapers/e621.ex index dee1e9f1..fbf02bf6 100644 --- a/lib/philomena/scrapers/e621.ex +++ b/lib/philomena/scrapers/e621.ex @@ -7,7 +7,7 @@ defmodule Philomena.Scrapers.E621 do end def scrape(_uri, url) do - api_url = "#{url}.json" + api_url = "#{url}.json&login=#{e621_user()}&api_key=#{e621_apikey()}" {:ok, %Tesla.Env{status: 200, body: body}} = Philomena.Http.get(api_url) json = Jason.decode!(body) @@ -39,4 +39,10 @@ defmodule Philomena.Scrapers.E621 do }] } end + defp e621_user do + Application.get_env(:philomena, :e621_user) + end + defp e621_apikey do + Application.get_env(:philomena, :e621_apikey) + end end