mirror of
https://github.com/lucaspalomodevelop/BingPictureOfTheDay.git
synced 2026-03-12 21:37:22 +00:00
first commit
This commit is contained in:
commit
f98fc419fd
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
venv
|
||||
69
main.py
Normal file
69
main.py
Normal file
@ -0,0 +1,69 @@
|
||||
import requests
|
||||
import os
|
||||
import subprocess
|
||||
import re
|
||||
|
||||
|
||||
# Function to get the URL of Bing's image of the day.
|
||||
def get_bing_image_of_the_day_url():
|
||||
bing_api_url = (
|
||||
"http://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=en-US"
|
||||
)
|
||||
response = requests.get(bing_api_url)
|
||||
response.raise_for_status()
|
||||
image_info = response.json()["images"][0]
|
||||
image_url = "http://www.bing.com" + image_info["url"]
|
||||
return image_url
|
||||
|
||||
|
||||
# Function to download and save the image to the current directory.
|
||||
def download_image(image_url, image_path):
|
||||
response = requests.get(image_url)
|
||||
response.raise_for_status()
|
||||
with open(image_path, "wb") as file:
|
||||
file.write(response.content)
|
||||
print(f"Image saved as {image_path}")
|
||||
|
||||
|
||||
# Function to set the image as desktop background.
|
||||
def set_desktop_background(image_path):
|
||||
gsettings_command = [
|
||||
"gsettings",
|
||||
"set",
|
||||
"org.gnome.desktop.background",
|
||||
"picture-uri",
|
||||
f"file://{image_path}",
|
||||
]
|
||||
exitcode = subprocess.run(gsettings_command)
|
||||
|
||||
gsettings_command_dark = [
|
||||
"gsettings",
|
||||
"set",
|
||||
"org.gnome.desktop.background",
|
||||
"picture-uri-dark",
|
||||
f"file://{image_path}",
|
||||
]
|
||||
exitcode_dark = subprocess.run(gsettings_command_dark)
|
||||
|
||||
returncode = exitcode.returncode or exitcode_dark.returncode
|
||||
|
||||
if returncode == 0:
|
||||
print("Desktop background set successfully.")
|
||||
else:
|
||||
print("Error setting desktop background.")
|
||||
print("Please set the desktop background manually.")
|
||||
|
||||
|
||||
|
||||
# Main program
|
||||
def main():
|
||||
image_url = get_bing_image_of_the_day_url()
|
||||
image_name = re.search(r"OHR\.(.*?)_", image_url).group(1) + ".jpg"
|
||||
image_path = os.path.join(os.path.expanduser("~"), "Pictures", image_name)
|
||||
|
||||
download_image(image_url, image_path)
|
||||
set_desktop_background(image_path)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Loading…
x
Reference in New Issue
Block a user