def test_has_missing_videos(): labels = Labels() labels.add_video(Video.from_filename("small_robot.mp4")) assert labels.has_missing_videos labels = Labels() labels.add_video(Video.from_filename("tests/data/videos/small_robot.mp4")) assert not labels.has_missing_videos
def test_provenance(tmpdir): labels = Labels(provenance=dict(source="test_provenance")) filename = os.path.join(tmpdir, "test.slp") # Add a video without a full path labels.add_video(Video.from_filename("small_robot.mp4")) Labels.save_file(filename=filename, labels=labels) labels = Labels.load_file(filename) print(labels.provenance) assert labels.provenance["source"] == "test_provenance"
def test_path_fix(tmpdir): labels = Labels() filename = os.path.join(tmpdir, "test.h5") # Add a video without a full path labels.add_video(Video.from_filename("small_robot.mp4")) Labels.save_hdf5(filename=filename, labels=labels) # Pass the path to the directory with the video labels = Labels.load_file(filename, video_search="tests/data/videos/") # Make sure we got the actual video path by searching that directory assert len(labels.videos) == 1 assert labels.videos[0].filename == "tests/data/videos/small_robot.mp4"
def test_path_fix_with_new_full_path(tmpdir): labels = Labels() filename = os.path.join(tmpdir, "test.h5") # Add video with bad filename labels.add_video(Video.from_filename("foo.mp4")) Labels.save_hdf5(filename=filename, labels=labels) # Pass list of full video paths to use instead of those in labels labels = Labels.load_file( filename, video_search=["tests/data/videos/small_robot.mp4"]) # Make sure we got the actual video path by searching that directory assert len(labels.videos) == 1 assert labels.videos[0].filename == "tests/data/videos/small_robot.mp4"
def test_load_file(tmpdir): labels = Labels() filename = os.path.join(tmpdir, "test.h5") labels.add_video(Video.from_filename("small_robot.mp4")) Labels.save_hdf5(filename=filename, labels=labels) # Fix video path from full path labels = load_file(filename, search_paths="tests/data/videos/small_robot.mp4") assert Path(labels.video.filename).samefile("tests/data/videos/small_robot.mp4") # No auto-detect labels = load_file(filename, detect_videos=False) assert labels.video.filename == "small_robot.mp4" # Fix video path by searching in the labels folder tmpvid = tmpdir.join("small_robot.mp4") tmpvid.write("") # dummy file assert load_file(filename).video.filename == tmpvid assert load_file(filename, search_paths=str(tmpdir)).video.filename == tmpvid assert load_file(filename, search_paths=str(tmpvid)).video.filename == tmpvid