def create_folders(self): # Add test folders self.assertIsNotNone(FolderManager.add("media", self.media_dir)) self.assertIsNotNone(FolderManager.add("music", self.music_dir)) db.Folder(root=False, name="non-root", path=os.path.join(self.music_dir, "subfolder")) artist = db.Artist(name="Artist") album = db.Album(name="Album", artist=artist) root = db.Folder.get(name="media") db.Track( title="Track", artist=artist, album=album, disc=1, number=1, path=os.path.join(self.media_dir, "somefile"), folder=root, root_folder=root, duration=2, bitrate=320, last_modification=0, )
def test_add_folder(self): # Added in setUp() self.assertEqual(self.store.find(db.Folder).count(), 3) # Create duplicate self.assertEqual(FolderManager.add(self.store,'media', self.media_dir), FolderManager.NAME_EXISTS) self.assertEqual(self.store.find(db.Folder, db.Folder.name == 'media').count(), 1) # Duplicate path self.assertEqual(FolderManager.add(self.store,'new-folder', self.media_dir), FolderManager.PATH_EXISTS) self.assertEqual(self.store.find(db.Folder, db.Folder.path == self.media_dir).count(), 1) # Invalid path path = os.path.abspath('/this/not/is/valid') self.assertEqual(FolderManager.add(self.store,'invalid-path', path), FolderManager.INVALID_PATH) self.assertEqual(self.store.find(db.Folder, db.Folder.path == path).count(), 0) # Subfolder of already added path path = os.path.join(self.media_dir, 'subfolder') os.mkdir(path) self.assertEqual(FolderManager.add(self.store,'subfolder', path), FolderManager.PATH_EXISTS) self.assertEqual(self.store.find(db.Folder).count(), 3) # Parent folder of an already added path path = os.path.join(self.media_dir, '..') self.assertEqual(FolderManager.add(self.store, 'parent', path), FolderManager.SUBPATH_EXISTS) self.assertEqual(self.store.find(db.Folder).count(), 3)
def setUp(self): super().setUp() with db_session: FolderManager.add("Folder", "tests/assets/folder") scanner = Scanner() scanner.queue_folder("Folder") scanner.run() self.trackid = Track.get().id
def setUp(self): super().setUp() with db_session: FolderManager.add("folder", os.path.abspath("tests/assets/folder")) scanner = Scanner() scanner.queue_folder("folder") scanner.run() self.trackid = Track.select().first().id self.userid = User.get(name="alice").id
def setUp(self): self.store = db.get_store('sqlite:') with io.open('schema/sqlite.sql', 'r') as f: for statement in f.read().split(';'): self.store.execute(statement) FolderManager.add(self.store, 'folder', os.path.abspath('tests/assets')) self.folder = self.store.find(db.Folder).one() self.assertIsNotNone(self.folder) self.scanner = Scanner(self.store) self.scanner.scan(self.folder)
def setUp(self): # Create an empty sqlite database in memory self.store = db.get_store("sqlite:") # Read schema from file with io.open('schema/sqlite.sql', 'r') as sql: schema = sql.read() # Create tables on memory database for command in schema.split(';'): self.store.execute(command) # Create some temporary directories self.media_dir = tempfile.mkdtemp() self.music_dir = tempfile.mkdtemp() # Add test folders self.assertEqual( FolderManager.add(self.store, 'media', self.media_dir), FolderManager.SUCCESS) self.assertEqual( FolderManager.add(self.store, 'music', self.music_dir), FolderManager.SUCCESS) folder = db.Folder() folder.root = False folder.name = 'non-root' folder.path = os.path.join(self.music_dir, 'subfolder') self.store.add(folder) artist = db.Artist() artist.name = 'Artist' album = db.Album() album.name = 'Album' album.artist = artist root = self.store.find(db.Folder, db.Folder.name == 'media').one() track = db.Track() track.title = 'Track' track.artist = artist track.album = album track.disc = 1 track.number = 1 track.path = os.path.join(self.media_dir, 'somefile') track.folder = root track.root_folder = root track.duration = 2 track.content_type = 'audio/mpeg' track.bitrate = 320 track.last_modification = 0 self.store.add(track) self.store.commit()
def setUp(self): # Create an empty sqlite database in memory self.store = db.get_store("sqlite:") # Read schema from file with io.open('schema/sqlite.sql', 'r') as sql: schema = sql.read() # Create tables on memory database for command in schema.split(';'): self.store.execute(command) # Create some temporary directories self.media_dir = tempfile.mkdtemp() self.music_dir = tempfile.mkdtemp() # Add test folders self.assertEqual(FolderManager.add(self.store, 'media', self.media_dir), FolderManager.SUCCESS) self.assertEqual(FolderManager.add(self.store, 'music', self.music_dir), FolderManager.SUCCESS) folder = db.Folder() folder.root = False folder.name = 'non-root' folder.path = os.path.join(self.music_dir, 'subfolder') self.store.add(folder) artist = db.Artist() artist.name = 'Artist' album = db.Album() album.name = 'Album' album.artist = artist root = self.store.find(db.Folder, db.Folder.name == 'media').one() track = db.Track() track.title = 'Track' track.artist = artist track.album = album track.disc = 1 track.number = 1 track.path = os.path.join(self.media_dir, 'somefile') track.folder = root track.root_folder = root track.duration = 2 track.content_type = 'audio/mpeg' track.bitrate = 320 track.last_modification = 0 self.store.add(track) self.store.commit()
def setUp(self): db.init_database("sqlite:") with db_session: folder = FolderManager.add("folder", os.path.abspath("tests/assets/folder")) self.assertIsNotNone(folder) self.folderid = folder.id self.__scan()
def setUp(self): super(TranscodingTestCase, self).setUp() self._patch_client() with db_session: folder = FolderManager.add('Folder', 'tests/assets/folder') scanner = Scanner() scanner.scan(folder) scanner.finish() self.trackid = Track.get().id
def setUp(self): super(TranscodingTestCase, self).setUp() self._patch_client() with db_session: folder = FolderManager.add("Folder", "tests/assets/folder") scanner = Scanner() scanner.queue_folder("Folder") scanner.run() self.trackid = Track.get().id
def test_add_folder(self): # Added in setUp() self.assertEqual(self.store.find(db.Folder).count(), 3) # Create duplicate self.assertEqual( FolderManager.add(self.store, 'media', self.media_dir), FolderManager.NAME_EXISTS) self.assertEqual( self.store.find(db.Folder, db.Folder.name == 'media').count(), 1) # Duplicate path self.assertEqual( FolderManager.add(self.store, 'new-folder', self.media_dir), FolderManager.PATH_EXISTS) self.assertEqual( self.store.find(db.Folder, db.Folder.path == self.media_dir).count(), 1) # Invalid path path = os.path.abspath('/this/not/is/valid') self.assertEqual(FolderManager.add(self.store, 'invalid-path', path), FolderManager.INVALID_PATH) self.assertEqual( self.store.find(db.Folder, db.Folder.path == path).count(), 0) # Subfolder of already added path path = os.path.join(self.media_dir, 'subfolder') os.mkdir(path) self.assertEqual(FolderManager.add(self.store, 'subfolder', path), FolderManager.PATH_EXISTS) self.assertEqual(self.store.find(db.Folder).count(), 3) # Parent folder of an already added path path = os.path.join(self.media_dir, '..') self.assertEqual(FolderManager.add(self.store, 'parent', path), FolderManager.SUBPATH_EXISTS) self.assertEqual(self.store.find(db.Folder).count(), 3)
def add_folder_post(): error = False (name, path) = map(request.form.get, ['name', 'path']) if name in (None, ''): flash('The name is required.') error = True if path in (None, ''): flash('The path is required.') error = True if error: return render_template('addfolder.html') ret = FolderManager.add(store, name, path) if ret != FolderManager.SUCCESS: flash(FolderManager.error_str(ret)) return render_template('addfolder.html') flash("Folder '%s' created. You should now run a scan" % name) return redirect(url_for('folder_index'))
def add_folder(): if request.method == "GET": return render_template("addfolder.html") error = False (name, path) = map(request.form.get, ["name", "path"]) if name in (None, ""): flash("The name is required.") error = True if path in (None, ""): flash("The path is required.") error = True if error: return render_template("addfolder.html") ret = FolderManager.add(store, name, path) if ret != FolderManager.SUCCESS: flash(FolderManager.error_str(ret)) return render_template("addfolder.html") flash("Folder '%s' created. You should now run a scan" % name) return redirect(url_for("folder_index"))
def add_folder(): if request.method == 'GET': return render_template('addfolder.html') error = False (name, path) = map(request.form.get, [ 'name', 'path' ]) if name in (None, ''): flash('The name is required.') error = True if path in (None, ''): flash('The path is required.') error = True if error: return render_template('addfolder.html') ret = FolderManager.add(store, name, path) if ret != FolderManager.SUCCESS: flash(FolderManager.error_str(ret)) return render_template('addfolder.html') flash("Folder '%s' created. You should now run a scan" % name) return redirect(url_for('folder_index'))
def setUp(self): self.__dir = tempfile.mkdtemp() init_database("sqlite:") with db_session: FolderManager.add("folder", self.__dir)
def setUp(self): super(WatcherTestCase, self).setUp() self.__dir = tempfile.mkdtemp() with self._get_store() as store: FolderManager.add(store, 'Folder', self.__dir) self._start()
def setUp(self): super().setUp() self.__dir = tempfile.mkdtemp() with db_session: FolderManager.add("Folder", self.__dir) self._start()
def setUp(self): self.__dir = tempfile.mkdtemp() shutil.copy("tests/assets/issue133.flac", self.__dir) init_database("sqlite:") with db_session: FolderManager.add("folder", self.__dir)