From 559b36bd7b792cbdae16af91ec08ae1e5738f503 Mon Sep 17 00:00:00 2001 From: "restyled-io[bot]" <32688539+restyled-io[bot]@users.noreply.github.com> Date: Wed, 4 May 2022 01:42:26 +0300 Subject: [PATCH] Restyle Move populate to new file (#48) --- server/app/functions.py | 13 ++++++------- server/app/imgserver/__init__.py | 4 +++- server/app/lib/albumslib.py | 11 +++++------ server/app/lib/populate.py | 32 ++++++++++++++++---------------- server/app/models.py | 2 +- server/setup/nginx.setup.sh | 2 +- server/start.sh | 5 ++--- 7 files changed, 34 insertions(+), 35 deletions(-) diff --git a/server/app/functions.py b/server/app/functions.py index e94440f3..6ad8e2ab 100644 --- a/server/app/functions.py +++ b/server/app/functions.py @@ -10,9 +10,9 @@ from app import api from app import helpers from app import settings from app.lib import watchdoge +from app.lib.populate import Populate from PIL import Image from progress.bar import Bar -from app.lib.populate import Populate @helpers.background @@ -76,9 +76,8 @@ def fetch_artist_images(): _bar = Bar("Processing images", max=len(artists)) for artist in artists: - file_path = ( - helpers.app_dir + "/images/artists/" + artist.replace("/", "::") + ".webp" - ) + file_path = (helpers.app_dir + "/images/artists/" + + artist.replace("/", "::") + ".webp") if not os.path.exists(file_path): img_path = fetch_image_path(artist) @@ -100,8 +99,7 @@ def fetch_album_bio(title: str, albumartist: str): Returns the album bio for a given album. """ last_fm_url = "http://ws.audioscrobbler.com/2.0/?method=album.getinfo&api_key={}&artist={}&album={}&format=json".format( - settings.LAST_FM_API_KEY, albumartist, title - ) + settings.LAST_FM_API_KEY, albumartist, title) try: response = requests.get(last_fm_url) @@ -110,7 +108,8 @@ def fetch_album_bio(title: str, albumartist: str): return None try: - bio = data["album"]["wiki"]["summary"].split(' int or None: iter += 1 mid = (left + right) // 2 - if api.ALBUMS[mid].title == albumtitle and api.ALBUMS[mid].artist == artist: + if api.ALBUMS[mid].title == albumtitle and api.ALBUMS[ + mid].artist == artist: return mid if api.ALBUMS[mid].title < albumtitle: @@ -155,8 +155,7 @@ def create_album(track) -> models.Album: album["date"] = album_tracks[0]["date"] album["artistimage"] = urllib.parse.quote_plus( - album_tracks[0]["albumartist"] + ".webp" - ) + album_tracks[0]["albumartist"] + ".webp") album["image"] = get_album_image(album_tracks) diff --git a/server/app/lib/populate.py b/server/app/lib/populate.py index e068928c..4a929471 100644 --- a/server/app/lib/populate.py +++ b/server/app/lib/populate.py @@ -1,15 +1,18 @@ from dataclasses import asdict -from app.helpers import run_fast_scandir -from app import settings -from app.instances import tracks_instance, album_instance -from progress.bar import Bar -from app.logger import Log -from app.lib.taglib import get_tags from os import path -from app.lib.albumslib import find_album, create_album + from app import api -from app.models import Track +from app import settings +from app.helpers import run_fast_scandir +from app.instances import album_instance +from app.instances import tracks_instance from app.lib import folderslib +from app.lib.albumslib import create_album +from app.lib.albumslib import find_album +from app.lib.taglib import get_tags +from app.logger import Log +from app.models import Track +from progress.bar import Bar class Populate: @@ -105,8 +108,7 @@ class Populate: if index is None: try: track = [ - track - for track in self.tagged_tracks + track for track in self.tagged_tracks if track["album"] == album["title"] and track["albumartist"] == album["artist"] ][0] @@ -126,9 +128,8 @@ class Populate: bar.next() bar.finish() - Log( - f"{exist_count} of {len(self.pre_albums)} albums were already in the database" - ) + Log(f"{exist_count} of {len(self.pre_albums)} albums were already in the database" + ) def create_tracks(self): """ @@ -150,9 +151,8 @@ class Populate: bar.next() bar.finish() - Log( - f"Added {len(self.tagged_tracks) - failed_count} of {len(self.tagged_tracks)} new tracks and {len(self.albums)} new albums" - ) + Log(f"Added {len(self.tagged_tracks) - failed_count} of {len(self.tagged_tracks)} new tracks and {len(self.albums)} new albums" + ) def create_folders(self): """ diff --git a/server/app/models.py b/server/app/models.py index 89686a2e..27e8c45b 100644 --- a/server/app/models.py +++ b/server/app/models.py @@ -32,7 +32,7 @@ class Track: discnumber: int def __init__(self, tags): - + self.trackid = tags["_id"]["$oid"] self.title = tags["title"] self.artists = tags["artists"].split(", ") diff --git a/server/setup/nginx.setup.sh b/server/setup/nginx.setup.sh index 5c9dedd1..10026f6f 100755 --- a/server/setup/nginx.setup.sh +++ b/server/setup/nginx.setup.sh @@ -2,4 +2,4 @@ # 2. create symbolic links for each file in sites-available to sites-enable sudo cp ./nginx-sites/* /etc/nginx/sites-available -sudo ln -s /etc/nginx/sites-available/* /etc/nginx/sites-enabled -f \ No newline at end of file +sudo ln -s /etc/nginx/sites-available/* /etc/nginx/sites-enabled -f diff --git a/server/start.sh b/server/start.sh index 0b7bede2..b86f0ca5 100755 --- a/server/start.sh +++ b/server/start.sh @@ -6,8 +6,7 @@ gpath=$(poetry run which gunicorn) cd app -$gpath -b 0.0.0.0:9877 -w 4 --threads=2 "imgserver:app" & +"$gpath" -b 0.0.0.0:9877 -w 4 --threads=2 "imgserver:app" & echo "Booted image server" cd ../ -$gpath -b 0.0.0.0:9876 -w 1 --threads=4 "manage:create_app()" #--log-level=debug - +"$gpath" -b 0.0.0.0:9876 -w 1 --threads=4 "manage:create_app()" #--log-level=debug