trackdb: Give LibraryPaths an add_track() function
To mimic how curds.trak.lookup() works, only in the library path itself. We also take this time to delete the curds/trak directory as nothing there is used anymore. Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
2001639d93
commit
6f0d092414
|
@ -3,7 +3,6 @@ from . import data
|
|||
from . import notify
|
||||
from . import playlist
|
||||
from . import threadqueue
|
||||
from . import trak
|
||||
import os
|
||||
import trackdb
|
||||
|
||||
|
@ -20,7 +19,7 @@ Track = trackdb.track.Track
|
|||
|
||||
def reset():
|
||||
notify.clear()
|
||||
trak.reset()
|
||||
trackdb.reset()
|
||||
playlist.reset()
|
||||
|
||||
def stop():
|
||||
|
|
|
@ -4,7 +4,6 @@ from . import playlist
|
|||
from . import root
|
||||
from .. import data
|
||||
from .. import notify
|
||||
from .. import trak
|
||||
import random
|
||||
import threading
|
||||
import trackdb
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
from . import playlist
|
||||
from .. import notify
|
||||
from .. import threadqueue
|
||||
from .. import trak
|
||||
from .. import tree
|
||||
import os
|
||||
import trackdb
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
# Copyright 2019 (c) Anna Schumaker.
|
||||
from .. import notify
|
||||
from .. import sort
|
||||
from .. import trak
|
||||
from .. import tree
|
||||
import random
|
||||
import trackdb
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
from . import artist
|
||||
from . import playlist
|
||||
from .. import notify
|
||||
from .. import trak
|
||||
from .. import tree
|
||||
import os
|
||||
import pathlib
|
||||
|
@ -14,7 +13,7 @@ test_album = pathlib.Path("./trier/Test Library/Test Artist 01/Test Album 1")
|
|||
class TestArtistPlaylist(unittest.TestCase):
|
||||
def setUp(self):
|
||||
notify.clear()
|
||||
trak.reset()
|
||||
trackdb.reset()
|
||||
self.lib = trackdb.add_path(test_album)
|
||||
|
||||
def test_artist_node(self):
|
||||
|
@ -35,7 +34,7 @@ class TestArtistPlaylist(unittest.TestCase):
|
|||
anode = artist.ArtistNode()
|
||||
self.assertEqual(anode.n_children(), 0)
|
||||
|
||||
track = trak.lookup(test_album / "01 - Test Track 01.ogg", self.lib)
|
||||
track = self.lib.add_track("01 - Test Track 01.ogg")
|
||||
self.assertEqual(anode.n_children(), 1)
|
||||
plist = anode.nth_child(0)
|
||||
self.assertEqual(plist.name, "Test Artist 01")
|
||||
|
@ -62,7 +61,7 @@ class TestArtistPlaylist(unittest.TestCase):
|
|||
|
||||
def test_artist_playlist_add(self):
|
||||
anode = artist.ArtistNode()
|
||||
track = trak.lookup(test_album / "01 - Test Track 01.ogg", self.lib)
|
||||
track = self.lib.add_track("01 - Test Track 01.ogg")
|
||||
plist = anode.nth_child(0)
|
||||
|
||||
self.assertEqual(plist.n_children(), 1)
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
from . import playlist
|
||||
from . import special
|
||||
from .. import notify
|
||||
from .. import trak
|
||||
import os
|
||||
import pathlib
|
||||
import trackdb
|
||||
|
@ -12,7 +11,7 @@ test_album = pathlib.Path("./trier/Test Album")
|
|||
|
||||
class TestCollectionPlaylist(unittest.TestCase):
|
||||
def setUp(self):
|
||||
trak.reset()
|
||||
trackdb.reset()
|
||||
self.lib = trackdb.add_path(test_album)
|
||||
|
||||
def test_collection_plist(self):
|
||||
|
@ -29,7 +28,7 @@ class TestCollectionPlaylist(unittest.TestCase):
|
|||
plist = special.CollectionPlaylist()
|
||||
self.assertEqual(len(plist), 0)
|
||||
|
||||
track1 = trak.lookup(test_album / "01 - Test Track.ogg", self.lib)
|
||||
track1 = self.lib.add_track("01 - Test Track.ogg")
|
||||
self.assertEqual(len(plist), 1)
|
||||
self.assertEqual(plist[0], track1)
|
||||
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
from . import decade
|
||||
from . import playlist
|
||||
from .. import notify
|
||||
from .. import trak
|
||||
from .. import tree
|
||||
import os
|
||||
import pathlib
|
||||
|
@ -10,14 +9,11 @@ import trackdb
|
|||
import unittest
|
||||
|
||||
test_library = pathlib.Path("./trier/Test Library/Test Artist 01")
|
||||
test_album = test_library / "Test Album 1" / "01 - Test Track 01.ogg"
|
||||
test_album2 = test_library / "Test Album 4" / "01 - Test Track 01.ogg"
|
||||
test_album3 = test_library / "Test Album 4" / "02 - Test Track 02.ogg"
|
||||
|
||||
class TestDecadePlaylist(unittest.TestCase):
|
||||
def setUp(self):
|
||||
notify.clear()
|
||||
trak.reset()
|
||||
trackdb.reset()
|
||||
self.lib = trackdb.add_path(test_library)
|
||||
|
||||
def test_decade_node(self):
|
||||
|
@ -39,7 +35,7 @@ class TestDecadePlaylist(unittest.TestCase):
|
|||
dnode = decade.DecadeNode()
|
||||
self.assertEqual(dnode.n_children(), 0)
|
||||
|
||||
track = trak.lookup(test_album, self.lib)
|
||||
track = self.lib.add_track("Test Album 1", "01 - Test Track 01.ogg")
|
||||
self.assertEqual(dnode.n_children(), 1)
|
||||
plist = dnode.nth_child(0)
|
||||
self.assertEqual(plist.name, "1970s")
|
||||
|
@ -67,7 +63,7 @@ class TestDecadePlaylist(unittest.TestCase):
|
|||
|
||||
def test_decade_playlist_add(self):
|
||||
dnode = decade.DecadeNode()
|
||||
track = trak.lookup(test_album, self.lib)
|
||||
track = self.lib.add_track("Test Album 1", "01 - Test Track 01.ogg")
|
||||
plist = dnode.nth_child(0)
|
||||
|
||||
self.assertEqual(plist.n_children(), 1)
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
from . import genre
|
||||
from . import playlist
|
||||
from .. import notify
|
||||
from .. import trak
|
||||
from .. import tree
|
||||
import os
|
||||
import pathlib
|
||||
|
@ -14,7 +13,7 @@ test_library = pathlib.Path("./trier/Test Library/Test Artist 01")
|
|||
class TestGenrePlaylist(unittest.TestCase):
|
||||
def setUp(self):
|
||||
notify.clear()
|
||||
trak.reset()
|
||||
trackdb.reset()
|
||||
self.lib = trackdb.add_path(test_library)
|
||||
|
||||
def test_genre_node(self):
|
||||
|
@ -25,7 +24,7 @@ class TestGenrePlaylist(unittest.TestCase):
|
|||
|
||||
def test_genre_playlist(self):
|
||||
gnode = genre.GenreNode()
|
||||
track = trak.lookup(test_library / "Test Album 1" /"01 - Test Track 01.ogg", self.lib)
|
||||
track = self.lib.add_track("Test Album 1", "01 - Test Track 01.ogg")
|
||||
self.assertEqual(gnode.n_children(), 1)
|
||||
|
||||
plist = gnode.nth_child(0)
|
||||
|
@ -44,9 +43,9 @@ class TestGenrePlaylist(unittest.TestCase):
|
|||
|
||||
def test_genre_new_tracks(self):
|
||||
gnode = genre.GenreNode()
|
||||
track1 = trak.lookup(test_library / "Test Album 1" / "01 - Test Track 01.ogg", self.lib)
|
||||
track2 = trak.lookup(test_library / "Test Album 2" / "02 - Test Track 02.ogg", self.lib)
|
||||
track3 = trak.lookup(test_library / "Test Album 2" / "03 - Test Track 03.ogg", self.lib)
|
||||
track1 = self.lib.add_track("Test Album 1", "01 - Test Track 01.ogg")
|
||||
track2 = self.lib.add_track("Test Album 2", "02 - Test Track 02.ogg")
|
||||
track3 = self.lib.add_track("Test Album 2", "03 - Test Track 03.ogg")
|
||||
self.assertEqual(gnode.n_children(), 2)
|
||||
|
||||
plist = gnode.nth_child(0)
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
from . import library
|
||||
from . import playlist
|
||||
from .. import notify
|
||||
from .. import trak
|
||||
from .. import tree
|
||||
import lib
|
||||
import os
|
||||
|
@ -16,7 +15,7 @@ test_album = os.path.abspath("./trier/Test Album")
|
|||
class TestLibraryPlaylist(unittest.TestCase):
|
||||
def setUp(self):
|
||||
notify.clear()
|
||||
trak.reset()
|
||||
trackdb.reset()
|
||||
|
||||
def tearDownClass():
|
||||
library.stop()
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
# Copyright 2019 (c) Anna Schumaker.
|
||||
from . import playlist
|
||||
from . import user
|
||||
from .. import trak
|
||||
import os
|
||||
import pathlib
|
||||
import trackdb
|
||||
|
@ -11,7 +10,7 @@ test_album = pathlib.Path("./trier/Test Album/")
|
|||
|
||||
class TestNewPlaylist(unittest.TestCase):
|
||||
def setUp(self):
|
||||
trak.reset()
|
||||
trackdb.reset()
|
||||
self.lib = trackdb.add_path(test_album)
|
||||
|
||||
def test_new_plist(self):
|
||||
|
@ -26,13 +25,13 @@ class TestNewPlaylist(unittest.TestCase):
|
|||
plist = user.NewPlaylist()
|
||||
self.assertEqual(len(plist), 0)
|
||||
|
||||
track = trak.lookup(test_album / "01 - Test Track.ogg", self.lib)
|
||||
track = self.lib.add_track("01 - Test Track.ogg")
|
||||
self.assertEqual(len(plist), 1)
|
||||
self.assertEqual(plist[0], track)
|
||||
|
||||
def test_new_plist_get_state(self):
|
||||
plist = user.NewPlaylist()
|
||||
track = trak.lookup(test_album / "01 - Test Track.ogg", self.lib)
|
||||
track = self.lib.add_track("01 - Test Track.ogg")
|
||||
|
||||
plist.add(track)
|
||||
plist.current = 3
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
# Copyright 2019 (c) Anna Schumaker.
|
||||
from . import playlist
|
||||
from .. import notify
|
||||
from .. import trak
|
||||
from .. import tree
|
||||
import os
|
||||
import pathlib
|
||||
|
@ -14,7 +13,7 @@ test_album = test_library / "Test Artist 01" / "Test Album 1"
|
|||
|
||||
class TestPlaylist(unittest.TestCase):
|
||||
def setUp(self):
|
||||
trak.reset()
|
||||
trackdb.reset()
|
||||
notify.register("add-track", self.on_add_remove)
|
||||
notify.register("remove-track", self.on_add_remove)
|
||||
notify.register("playlist-changed", self.on_plist_changed)
|
||||
|
@ -32,11 +31,7 @@ class TestPlaylist(unittest.TestCase):
|
|||
def add_tracks(self, tracknos):
|
||||
tracks = [ ]
|
||||
for t in tracknos:
|
||||
track = trackdb.get_track(t)
|
||||
if track == None:
|
||||
path = test_album / f"{t:02} - Test Track {t:02}.ogg"
|
||||
track = trackdb.track.Track(t, path)
|
||||
self.lib.tracks[t] = track
|
||||
track = self.lib.add_track(f"{t:02} - Test Track {t:02}.ogg")
|
||||
tracks.append(track)
|
||||
self.plist.add(track)
|
||||
return tracks
|
||||
|
@ -122,9 +117,6 @@ class TestPlaylist(unittest.TestCase):
|
|||
self.assertEqual(self.cb_plist, self.plist)
|
||||
self.assertEqual(self.cb_index, 5)
|
||||
|
||||
self.add_tracks([6])
|
||||
self.assertEqual(len(self.plist), 6)
|
||||
|
||||
self.plist.add(None)
|
||||
self.assertEqual(len(self.plist), 6)
|
||||
|
||||
|
@ -141,7 +133,7 @@ class TestPlaylist(unittest.TestCase):
|
|||
for track in tracks:
|
||||
self.assertTrue(self.plist.contains(track))
|
||||
|
||||
track = trak.lookup(test_album / f"10 - Test Track 10.ogg", self.lib)
|
||||
track = self.lib.add_track(f"10 - Test Track 10.ogg")
|
||||
self.assertFalse(self.plist.contains(track))
|
||||
|
||||
def test_playlist_get_markup(self):
|
||||
|
@ -158,7 +150,7 @@ class TestPlaylist(unittest.TestCase):
|
|||
for i, track in enumerate(tracks):
|
||||
self.assertEqual(self.plist.index(track), i)
|
||||
|
||||
track = trak.lookup(test_album / f"10 - Test Track 10.ogg", self.lib)
|
||||
track = self.lib.add_track(f"10 - Test Track 10.ogg")
|
||||
self.assertIsNone(self.plist.index(track))
|
||||
self.assertIsNone(self.plist.index(None))
|
||||
|
||||
|
@ -168,7 +160,7 @@ class TestPlaylist(unittest.TestCase):
|
|||
for i, track in enumerate(tracks):
|
||||
self.assertEqual(self.plist.index(track), i)
|
||||
|
||||
track = trak.lookup(test_album / f"10 - Test Track 10.ogg", self.lib)
|
||||
track = self.lib.add_track(f"10 - Test Track 10.ogg")
|
||||
self.assertIsNone(self.plist.index(track))
|
||||
self.assertIsNone(self.plist.index(None))
|
||||
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
from . import playlist
|
||||
from . import special
|
||||
from .. import notify
|
||||
from .. import trak
|
||||
import os
|
||||
import pathlib
|
||||
import trackdb
|
||||
|
@ -12,7 +11,7 @@ test_album = pathlib.Path("./trier/Test Library/Test Artist 01/Test Album 1")
|
|||
|
||||
class TestPreviousPlaylist(unittest.TestCase):
|
||||
def setUp(self):
|
||||
trak.reset()
|
||||
trackdb.reset()
|
||||
notify.register("add-track", self.on_add_track)
|
||||
self.cb_plist = None
|
||||
self.cb_track = None
|
||||
|
@ -37,7 +36,7 @@ class TestPreviousPlaylist(unittest.TestCase):
|
|||
|
||||
def test_previous_getstate(self):
|
||||
plist = special.PreviousPlaylist()
|
||||
track = trak.lookup(test_album / "01 - Test Track 01.ogg", self.lib)
|
||||
track = self.lib.add_track("01 - Test Track 01.ogg")
|
||||
|
||||
plist.add(track)
|
||||
plist.current = 3
|
||||
|
@ -52,9 +51,9 @@ class TestPreviousPlaylist(unittest.TestCase):
|
|||
plist = special.PreviousPlaylist()
|
||||
plist.visible = True
|
||||
|
||||
track1 = trak.lookup(test_album / "01 - Test Track 01.ogg", self.lib)
|
||||
track2 = trak.lookup(test_album / "02 - Test Track 02.ogg", self.lib)
|
||||
track3 = trak.lookup(test_album / "03 - Test Track 03.ogg", self.lib)
|
||||
track1 = self.lib.add_track("01 - Test Track 01.ogg")
|
||||
track2 = self.lib.add_track("02 - Test Track 02.ogg")
|
||||
track3 = self.lib.add_track("03 - Test Track 03.ogg")
|
||||
|
||||
self.assertEqual(plist.current, -1)
|
||||
self.assertEqual(plist.next(), None)
|
||||
|
|
|
@ -9,7 +9,6 @@ from . import special
|
|||
from . import user
|
||||
from .. import notify
|
||||
from .. import threadqueue
|
||||
from .. import trak
|
||||
from .. import tree
|
||||
import os
|
||||
import random
|
||||
|
@ -21,7 +20,7 @@ test_library = os.path.abspath("./trier/Test Library")
|
|||
|
||||
class TestPlaylistRoot(unittest.TestCase):
|
||||
def setUp(self):
|
||||
trak.reset()
|
||||
trackdb.reset()
|
||||
notify.register("next-track", self.on_next_track)
|
||||
notify.register("playlist-changed", self.on_playlist_changed)
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
# Copyright 2019 (c) Anna Schumaker.
|
||||
from .. import notify
|
||||
from .. import trak
|
||||
from . import special
|
||||
import os
|
||||
import pathlib
|
||||
|
@ -11,7 +10,7 @@ test_album = pathlib.Path("./trier/Test Library/Test Artist 01/Test Album 1")
|
|||
|
||||
class TestUpNextPlaylist(unittest.TestCase):
|
||||
def setUp(self):
|
||||
trak.reset()
|
||||
trackdb.reset()
|
||||
notify.register("remove-track", self.on_remove)
|
||||
self.cb_plist = None
|
||||
self.cb_track = None
|
||||
|
@ -29,9 +28,9 @@ class TestUpNextPlaylist(unittest.TestCase):
|
|||
def add_tracks(self, plist):
|
||||
tracks = [ ]
|
||||
for i in range(1, 4,):
|
||||
path = test_album / f"0{i} - Test Track 0{i}.ogg"
|
||||
tracks.append(trak.lookup(path, self.lib))
|
||||
plist.add(tracks[-1])
|
||||
ret = self.lib.add_track(f"0{i} - Test Track 0{i}.ogg")
|
||||
tracks.append(ret)
|
||||
plist.add(ret)
|
||||
return tracks
|
||||
|
||||
def test_up_next_playlist(self):
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
# Copyright 2019 (c) Anna Schumaker.
|
||||
from . import user
|
||||
from .. import trak
|
||||
from .. import tree
|
||||
import unittest
|
||||
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
from . import data
|
||||
from . import notify
|
||||
from . import playlist
|
||||
from . import trak
|
||||
import os
|
||||
import pathlib
|
||||
import random
|
||||
|
@ -16,7 +15,7 @@ test_library = pathlib.Path("./trier/Test Library")
|
|||
class TestPlaylist(unittest.TestCase):
|
||||
def setUp(self):
|
||||
data.DataFile("playlists.pickle", data.WRITE).remove()
|
||||
trak.reset()
|
||||
trackdb.reset()
|
||||
playlist.reset()
|
||||
self.orig = playlist.Root
|
||||
self.lib = trackdb.add_path(test_path)
|
||||
|
@ -124,7 +123,7 @@ class TestPlaylist(unittest.TestCase):
|
|||
|
||||
def test_save_playlists(self):
|
||||
dfile = data.DataFile("playlists.pickle", data.READ)
|
||||
track = trak.lookup(test_album / "01 - Test Track.ogg", self.lib)
|
||||
track = self.lib.add_track("01 - Test Track.ogg")
|
||||
|
||||
playlist.Root = None
|
||||
playlist.Track = 1234
|
||||
|
|
|
@ -1,33 +0,0 @@
|
|||
# Copyright 2019 (c) Anna Schumaker.
|
||||
from . import data
|
||||
from . import notify
|
||||
from . import trak
|
||||
from . import threadqueue
|
||||
import os
|
||||
import pathlib
|
||||
import trackdb
|
||||
import unittest
|
||||
|
||||
test_path = pathlib.Path("./trier")
|
||||
test_library = pathlib.Path("./trier/Test Library")
|
||||
test_tracks = pathlib.Path("./trier/Test Album")
|
||||
|
||||
class TestTags(unittest.TestCase):
|
||||
def setUp(self):
|
||||
notify.clear()
|
||||
trak.reset()
|
||||
self.new_track = None
|
||||
self.lib = trackdb.add_path(test_path)
|
||||
|
||||
def on_new_track(self, track, lib):
|
||||
self.new_track = track
|
||||
|
||||
def test_trak_lookup(self):
|
||||
trackdb.library.TrackAdded.register(self.on_new_track)
|
||||
path = test_tracks / "01 - Test Track.ogg"
|
||||
|
||||
track = trak.lookup(path, self.lib)
|
||||
self.assertEqual(track.filepath, pathlib.Path(path))
|
||||
self.assertEqual(self.new_track, track)
|
||||
|
||||
self.assertIsNone(trak.lookup(test_tracks / "test.txt", self.lib))
|
|
@ -1,17 +0,0 @@
|
|||
# Copyright 2019 (c) Anna Schumaker.
|
||||
import pathlib
|
||||
import trackdb
|
||||
|
||||
def lookup(path, lib):
|
||||
try:
|
||||
tid = len(lib.tracks)
|
||||
ret = trackdb.track.Track(tid, pathlib.Path(path))
|
||||
lib.tracks[tid] = ret
|
||||
trackdb.library.TrackAdded.publish(ret, lib)
|
||||
except Exception as e:
|
||||
#print(e)
|
||||
return None
|
||||
return ret
|
||||
|
||||
def reset():
|
||||
trackdb.reset()
|
|
@ -11,8 +11,6 @@ import unittest
|
|||
from gi.repository import Gtk, GObject, GLib
|
||||
|
||||
test_album = pathlib.Path("./trier/Test Library/Test Artist 02/")
|
||||
test_album1 = test_album / "Test Album 1"
|
||||
test_album2 = test_album / "Test Album 2"
|
||||
|
||||
class TestNodeTreeModel(unittest.TestCase):
|
||||
def setUp(self):
|
||||
|
@ -23,8 +21,8 @@ class TestNodeTreeModel(unittest.TestCase):
|
|||
self.decade = curds.playlist.lookup("Decades")
|
||||
self.genre = curds.playlist.lookup("Genres")
|
||||
self.lib = trackdb.add_path(test_album)
|
||||
curds.trak.lookup(test_album1 / "01 - Test Track 01.ogg", self.lib)
|
||||
curds.trak.lookup(test_album2 / "01 - Test Track 01.ogg", self.lib)
|
||||
self.lib.add_track("Test Album 1", "01 - Test Track 01.ogg")
|
||||
self.lib.add_track("Test Album 2", "01 - Test Track 01.ogg")
|
||||
|
||||
def tearDown(self):
|
||||
curds.notify.cancel("first-child", self.model.on_first_child)
|
||||
|
|
|
@ -32,7 +32,7 @@ class TestEmmental(unittest.TestCase):
|
|||
def test_reset_stop_curds(self):
|
||||
lib = trackdb.add_path(pathlib.Path("trier") / "Test Album")
|
||||
path = os.path.join("trier", "Test Album", "01 - Test Track.ogg")
|
||||
track = curds.trak.lookup(path, lib)
|
||||
track = lib.add_track("01 - Test Track.ogg")
|
||||
|
||||
self.assertIsNotNone(track)
|
||||
self.assertGreater(len(lib.tracks), 0)
|
||||
|
|
|
@ -33,7 +33,20 @@ class LibraryPath:
|
|||
self.thread = None
|
||||
self.lock = threading.Lock()
|
||||
|
||||
def __scan_remove(self):
|
||||
def __add_track__(self, path):
|
||||
global NextID
|
||||
|
||||
with IDLock as A, self.lock as B:
|
||||
try:
|
||||
trak = track.Track(NextID, path)
|
||||
self.tracks[NextID] = trak
|
||||
NextID += 1
|
||||
except Exception as e:
|
||||
return
|
||||
TrackAdded.publish(trak, self)
|
||||
return trak
|
||||
|
||||
def __scan_remove__(self):
|
||||
with self.lock:
|
||||
removed = [ (id, track) for (id, track) in self.tracks.items() if not track.filepath.exists() ]
|
||||
for (id, track) in removed:
|
||||
|
@ -42,22 +55,15 @@ class LibraryPath:
|
|||
return set([ track.filepath for (id, track) in self.tracks.items() ])
|
||||
|
||||
def __do_scan__(self):
|
||||
global NextID
|
||||
|
||||
track_set = self.__scan_remove()
|
||||
track_set = self.__scan_remove__()
|
||||
files = [ f for f in self.path.rglob("*") if f.is_file() and f not in track_set ]
|
||||
for f in files:
|
||||
with IDLock as A, self.lock as B:
|
||||
try:
|
||||
trak = track.Track(NextID, f)
|
||||
self.tracks[NextID] = trak
|
||||
NextID += 1
|
||||
except Exception as e:
|
||||
continue
|
||||
TrackAdded.publish(trak, self)
|
||||
|
||||
self.__add_track__(f)
|
||||
self.thread = None
|
||||
|
||||
def add_track(self, *components):
|
||||
return self.__add_track__(self.path / pathlib.Path(*components))
|
||||
|
||||
def scan(self):
|
||||
if not self.thread:
|
||||
self.thread = threading.Thread(target = self.__do_scan__)
|
||||
|
|
Loading…
Reference in New Issue