blob: 9e7c0ba8f546b5ef5024751f8e0ce205f5c3390b (
plain) (
tree)
|
|
#!/usr/bin/python3
import os
import sys
import requests
import threading
import random
import pathlib
import string
DOWNLOAD_DIR = f"{str(pathlib.Path.home())}/pix/wall"
def generate_id():
return ''.join(random.choices(string.ascii_lowercase + string.digits, k=6))
def get_ext(url):
ext = os.path.splitext(url)[1]
return ext
def download_wallpaper(url):
print(f"Downloading {url}")
res = requests.get(url, allow_redirects=True)
download_path = f"{DOWNLOAD_DIR}/{generate_id()}{get_ext(url)}"
open(download_path, 'wb').write(res.content)
print(f"Downloading done of {url}")
def wallpaper_search_api(query):
query_url = f"https://wallhaven.cc/api/v1/search?q={query}"
res = requests.get(query_url)
response = res.json()
dl_links = []
for wallpaper in response["data"]:
dl_links.append(wallpaper["path"])
return dl_links
os.makedirs(DOWNLOAD_DIR, exist_ok=True)
if len(sys.argv) < 2:
print("Usage waldl.py <search_query>")
quit()
query = sys.argv[1].replace(' ', '+')
wallpapers = wallpaper_search_api(query)
for wallpaper in wallpapers:
download_wallpaper(wallpaper)
|