diff --git a/server/app/helpers.py b/server/app/helpers.py index aea1912..d85cc6a 100644 --- a/server/app/helpers.py +++ b/server/app/helpers.py @@ -60,7 +60,6 @@ class RemoveDuplicates: for t in self.tracklist if t.uniq_hash not in uniq_hashes ] - pprint(uniq_hashes[:5]) tracks = UseBisection(self.tracklist, "uniq_hash", uniq_hashes)() return tracks diff --git a/server/app/lib/watchdoge.py b/server/app/lib/watchdoge.py index 366aea5..eea8816 100644 --- a/server/app/lib/watchdoge.py +++ b/server/app/lib/watchdoge.py @@ -3,6 +3,7 @@ This library contains the classes and functions related to the watchdog file wat """ import os import time +from typing import List from app import instances from app.helpers import create_hash @@ -19,29 +20,39 @@ class OnMyWatch: Contains the methods for initializing and starting watchdog. """ - directory = os.path.expanduser("~") + home_dir = os.path.expanduser("~") + dirs = [home_dir] + observers: List[Observer] = [] def __init__(self): self.observer = Observer() def run(self): event_handler = Handler() - self.observer.schedule(event_handler, self.directory, recursive=True) + + for dir in self.dirs: + print("something") + self.observer.schedule(event_handler, os.path.realpath(dir), recursive=True) + self.observers.append(self.observer) try: self.observer.start() + print("something something") except OSError: log.error("Could not start watchdog.") return try: while True: - time.sleep(5) - except: - self.observer.stop() + time.sleep(1) + except KeyboardInterrupt: + for o in self.observers: + o.unschedule_all() + o.stop() print("Observer Stopped") - self.observer.join() + for o in self.observers: + o.join() def add_track(filepath: str) -> None: @@ -82,6 +93,7 @@ class Handler(PatternMatchingEventHandler): """ Fired when a supported file is created. """ + print("💠 created file 💠") self.files_to_process.append(event.src_path) def on_deleted(self, event): diff --git a/server/app/models.py b/server/app/models.py index 797ec1d..31d296f 100644 --- a/server/app/models.py +++ b/server/app/models.py @@ -1,7 +1,6 @@ """ Contains all the models for objects generation and typing. """ -import random from dataclasses import dataclass from dataclasses import field from typing import List diff --git a/src/components/FolderView/SongList.vue b/src/components/FolderView/SongList.vue index d95b06b..34b10c8 100644 --- a/src/components/FolderView/SongList.vue +++ b/src/components/FolderView/SongList.vue @@ -86,7 +86,12 @@ function updateQueue(track: Track) { queue.play(index); break; case "AlbumView": - queue.playFromAlbum(track.album, track.albumartist, props.tracks); + queue.playFromAlbum( + track.album, + track.albumartist, + track.albumhash, + props.tracks + ); queue.play(index); break; case "PlaylistView": @@ -148,7 +153,7 @@ function getTracks() { display: none; } - .context-on { + .contexton { background-color: $gray4; color: $white !important; } diff --git a/src/components/RightSideBar/queue/playingFrom.vue b/src/components/RightSideBar/queue/playingFrom.vue index f8917f5..ca4b8d5 100644 --- a/src/components/RightSideBar/queue/playingFrom.vue +++ b/src/components/RightSideBar/queue/playingFrom.vue @@ -2,7 +2,7 @@
- Playing from + Playing from
@@ -13,7 +13,12 @@