emmental/trackdb/__init__.py

40 lines
899 B
Python
Raw Normal View History

# Copyright 2020 (c) Anna Schumaker.
from lib import publisher
from . import library
import pathlib
library_paths = [ ]
LibraryAdded = publisher.Publisher()
LibraryRemoved = publisher.Publisher()
def add_path(path):
if get_library(path) == None:
lib = library.LibraryPath(path)
library_paths.append(lib)
LibraryAdded.publish(lib)
return lib
def get_library(path):
for lib in library_paths:
if lib.path == pathlib.Path(path):
return lib
return None
def get_track(trackid):
for lib in library_paths:
if (track := lib[trackid]) != None:
return track
return None
def remove_path(path):
lib = get_library(path)
library_paths.remove(lib)
LibraryRemoved.publish(lib)
def reset():
library_paths.clear()
LibraryAdded.reset()
LibraryRemoved.reset()
library.reset()
track.reset()