Rework config

This commit is contained in:
2024-11-20 16:34:20 -04:00
parent 0845d0df28
commit 19dd251165
11 changed files with 174 additions and 78 deletions

View File

@ -10,5 +10,5 @@ class Provider(ABC):
self.session = session
@abstractmethod
def get_image_url(self):
def get_image_info(self):
pass

View File

@ -1,10 +1,7 @@
import logging
import requests
from requests import session
from providers._provider import Provider
from providers.provider import Provider
class bing(Provider):
class Bing(Provider):
name = "Bing"
url = "https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=en-US"
idx = 0
@ -16,16 +13,17 @@ class bing(Provider):
self.country = settings.get("country")
self.market = settings.get("market")
def get_image_url(self):
def get_image_info(self):
query = f"https://www.bing.com/HPImageArchive.aspx?format=js&idx={self.idx}&n={self.number}&mkt={self.market}"
logging.debug(f"Query: {query}")
response = self.session.get(query).json()
logging.debug(f"Response: {response}")
# logging.debug(f"Response: {response}")
image_url = response["images"][0]["urlbase"]
logging.debug(f"Image URL: {image_url}")
logging.debug(f"Image URL: {image_url}")\
title = response["images"][0]["title"]
image_url = f"https://www.bing.com{image_url}_{self.size}.jpg"
return image_url
return image_url, title

View File

@ -1,20 +1,18 @@
# Using official Unsplash API to get images
# curl https://api.unsplash.com/collections/1459961/photos
# But we will scrape >:)
import logging
import requests
import re
from providers.provider import Provider
from providers._provider import Provider
class unsplash(Provider):
class Unsplash(Provider):
name = "Unsplash"
url = "https://unsplash.com/collections/1459961/photo-of-the-day-(archive)"
def __init__(self, settings, session):
super().__init__(settings, session)
def get_image_url(self):
def get_image_info(self):
query = "https://unsplash.com/collections/1459961/photo-of-the-day-(archive)"
logging.debug(f"Query: {query}")
@ -30,7 +28,8 @@ class unsplash(Provider):
image_id = image_slug.split("-")[-1]
logging.debug(f"Image ID: {image_id}")
title = image_slug.replace("-", " ").replace(image_id, "").strip().title()
image_url = f"https://unsplash.com/photos/{image_id}/download"
logging.debug(f"Image URL: {image_url}")
return image_url
return image_url, title

View File

@ -1,20 +1,18 @@
import datetime
import logging
import requests
import re
from providers.provider import Provider
from providers._provider import Provider
# https://api.wikimedia.org/wiki/Feed_API/Reference/Featured_content
class wikimedia(Provider):
class Wikimedia(Provider):
name = "Wikimedia"
url = "https://api.wikimedia.org/feed/v1/wikipedia/en/featured/"
def __init__(self, settings, session):
super().__init__(settings, session)
def get_image_url(self):
def get_image_info(self):
today = datetime.datetime.now()
date = today.strftime('%Y/%m/%d')
logging.debug(f"Date: {date}")
@ -22,11 +20,12 @@ class wikimedia(Provider):
logging.debug(f"URL: {url}")
response = self.session.get(url).json()
logging.debug(f"Response: {response}")
# logging.debug(f"Response: {response}")
image = response['image']['image']['source']
logging.debug(f"Image: {image}")
image_url = image
return image_url
title = response['image']['description']['text']
return image_url, title