mirror of
https://github.com/Dvorinka/swingmusic-extended.git
synced 2026-06-05 04:53:01 +00:00
provide fallback image
return fallback image if image is not found @imgserver
This commit is contained in:
@@ -12,11 +12,13 @@ def join(*args: Tuple[str]) -> str:
|
|||||||
|
|
||||||
|
|
||||||
HOME = path.expanduser("~")
|
HOME = path.expanduser("~")
|
||||||
ROOT_PATH = path.join(HOME, ".alice", "images")
|
APP_DIR = join(HOME, ".alice")
|
||||||
|
IMG_PATH = path.join(APP_DIR, "images")
|
||||||
|
|
||||||
THUMB_PATH = join(ROOT_PATH, "thumbnails")
|
ASSETS_PATH = join(APP_DIR, "assets")
|
||||||
ARTIST_PATH = join(ROOT_PATH, "artists")
|
THUMB_PATH = join(IMG_PATH, "thumbnails")
|
||||||
PLAYLIST_PATH = join(ROOT_PATH, "playlists")
|
ARTIST_PATH = join(IMG_PATH, "artists")
|
||||||
|
PLAYLIST_PATH = join(IMG_PATH, "playlists")
|
||||||
|
|
||||||
|
|
||||||
@app.route("/")
|
@app.route("/")
|
||||||
@@ -24,6 +26,16 @@ def hello():
|
|||||||
return "Hello mf"
|
return "Hello mf"
|
||||||
|
|
||||||
|
|
||||||
|
def send_fallback_img():
|
||||||
|
img = join(ASSETS_PATH, "default.webp")
|
||||||
|
exists = path.exists(img)
|
||||||
|
|
||||||
|
if not exists:
|
||||||
|
return "", 404
|
||||||
|
|
||||||
|
return send_from_directory(ASSETS_PATH, "default.webp")
|
||||||
|
|
||||||
|
|
||||||
@app.route("/t/<imgpath>")
|
@app.route("/t/<imgpath>")
|
||||||
def send_thumbnail(imgpath: str):
|
def send_thumbnail(imgpath: str):
|
||||||
fpath = join(THUMB_PATH, imgpath)
|
fpath = join(THUMB_PATH, imgpath)
|
||||||
@@ -32,7 +44,7 @@ def send_thumbnail(imgpath: str):
|
|||||||
if exists:
|
if exists:
|
||||||
return send_from_directory(THUMB_PATH, imgpath)
|
return send_from_directory(THUMB_PATH, imgpath)
|
||||||
|
|
||||||
return {"msg": "Not found"}, 404
|
return send_fallback_img()
|
||||||
|
|
||||||
|
|
||||||
@app.route("/a/<imgpath>")
|
@app.route("/a/<imgpath>")
|
||||||
@@ -43,7 +55,7 @@ def send_artist_image(imgpath: str):
|
|||||||
if exists:
|
if exists:
|
||||||
return send_from_directory(ARTIST_PATH, imgpath)
|
return send_from_directory(ARTIST_PATH, imgpath)
|
||||||
|
|
||||||
return {"msg": "Not found"}, 404
|
return send_fallback_img()
|
||||||
|
|
||||||
|
|
||||||
@app.route("/p/<imgpath>")
|
@app.route("/p/<imgpath>")
|
||||||
@@ -54,11 +66,8 @@ def send_playlist_image(imgpath: str):
|
|||||||
if exists:
|
if exists:
|
||||||
return send_from_directory(PLAYLIST_PATH, imgpath)
|
return send_from_directory(PLAYLIST_PATH, imgpath)
|
||||||
|
|
||||||
return {"msg": "Not found"}, 404
|
return send_fallback_img()
|
||||||
|
|
||||||
|
|
||||||
# TODO
|
|
||||||
# Return Fallback images instead of JSON
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
app.run(threaded=True, port=9877)
|
app.run(threaded=True, port=9877)
|
||||||
|
|||||||
@@ -2,10 +2,42 @@
|
|||||||
Contains the functions to prepare the server for use.
|
Contains the functions to prepare the server for use.
|
||||||
"""
|
"""
|
||||||
import os
|
import os
|
||||||
|
import shutil
|
||||||
|
|
||||||
from app import settings
|
from app import settings
|
||||||
|
|
||||||
|
|
||||||
|
class CopyFiles:
|
||||||
|
"""Copies assets to the app directory."""
|
||||||
|
|
||||||
|
def __init__(self) -> None:
|
||||||
|
files = [
|
||||||
|
{
|
||||||
|
"src": "assets",
|
||||||
|
"dest": os.path.join(settings.APP_DIR, "assets"),
|
||||||
|
"is_dir": True,
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
for entry in files:
|
||||||
|
src = os.path.join(os.getcwd(), entry["src"])
|
||||||
|
print(f"Copying {src} to {entry['dest']}")
|
||||||
|
|
||||||
|
if entry["is_dir"]:
|
||||||
|
shutil.copytree(
|
||||||
|
src,
|
||||||
|
entry["dest"],
|
||||||
|
ignore=shutil.ignore_patterns(
|
||||||
|
"*.pyc",
|
||||||
|
),
|
||||||
|
copy_function=shutil.copy2,
|
||||||
|
dirs_exist_ok=True,
|
||||||
|
)
|
||||||
|
break
|
||||||
|
|
||||||
|
shutil.copy2(src, entry["dest"])
|
||||||
|
|
||||||
|
|
||||||
def create_config_dir() -> None:
|
def create_config_dir() -> None:
|
||||||
"""
|
"""
|
||||||
Creates the config directory if it doesn't exist.
|
Creates the config directory if it doesn't exist.
|
||||||
@@ -29,3 +61,5 @@ def create_config_dir() -> None:
|
|||||||
if not exists:
|
if not exists:
|
||||||
os.makedirs(path)
|
os.makedirs(path)
|
||||||
os.chmod(path, 0o755)
|
os.chmod(path, 0o755)
|
||||||
|
|
||||||
|
CopyFiles()
|
||||||
|
|||||||
@@ -10,7 +10,9 @@ import multiprocessing
|
|||||||
CONFIG_FOLDER = ".alice"
|
CONFIG_FOLDER = ".alice"
|
||||||
HOME_DIR = os.path.expanduser("~")
|
HOME_DIR = os.path.expanduser("~")
|
||||||
APP_DIR = os.path.join(HOME_DIR, CONFIG_FOLDER)
|
APP_DIR = os.path.join(HOME_DIR, CONFIG_FOLDER)
|
||||||
THUMBS_PATH = os.path.join(APP_DIR, "images", "thumbnails")
|
IMG_PATH = os.path.join(APP_DIR, "images")
|
||||||
|
|
||||||
|
THUMBS_PATH = os.path.join(IMG_PATH, "thumbnails")
|
||||||
TEST_DIR = "/home/cwilvx/Music/Link to Music/Chill/Wolftyla Radio"
|
TEST_DIR = "/home/cwilvx/Music/Link to Music/Chill/Wolftyla Radio"
|
||||||
# HOME_DIR = TEST_DIR
|
# HOME_DIR = TEST_DIR
|
||||||
# URL
|
# URL
|
||||||
@@ -42,4 +44,3 @@ CPU_COUNT = multiprocessing.cpu_count()
|
|||||||
|
|
||||||
class logger:
|
class logger:
|
||||||
enable = True
|
enable = True
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user