def from_dataframe(cls, df): # first, make sure the df conform to the format for a single asset cls._assert_asset_dataframe(df) asset_repr = df.iloc[0]['asset'] asset = Asset.from_repr(asset_repr) executor_id = df.iloc[0]['executor_id'] result_dict = {} for _, row in df.iterrows(): result_dict[row['scores_key']] = row['scores'] return Result(asset, executor_id, result_dict)
def test_str_repr(self): asset = Asset(dataset="test", content_id=0, asset_id=0, ref_path="dir/refvideo.yuv", dis_path="dir/disvideo.yuv", asset_dict={ 'width': 720, 'height': 480, 'start_frame': 2, 'end_frame': 2 }) self.assertEquals( str(asset), "test_0_0_refvideo_720x480_2to2_vs_disvideo_720x480_2to2_q_720x480" ) expected_repr = '{"asset_dict": {"end_frame": 2, "height": 480, "start_frame": 2, "width": 720}, "asset_id": 0, "content_id": 0, "dataset": "test", "dis_path": "disvideo.yuv", "ref_path": "refvideo.yuv", "workdir": ""}' self.assertEquals(repr(asset), expected_repr) recon_asset = Asset.from_repr(expected_repr) self.assertEquals(asset, recon_asset) self.assertTrue(asset == recon_asset) self.assertFalse(asset != recon_asset) self.assertEquals(asset.to_normalized_repr(), expected_repr) asset = Asset(dataset="test", content_id=0, asset_id=1, ref_path="dir/refvideo.yuv", dis_path="dir/disvideo.yuv", asset_dict={ 'width': 720, 'height': 480, }) self.assertEquals( str(asset), "test_0_1_refvideo_720x480_vs_disvideo_720x480_q_720x480") expected_repr = '{"asset_dict": {"height": 480, "width": 720}, "asset_id": 1, "content_id": 0, "dataset": "test", "dis_path": "disvideo.yuv", "ref_path": "refvideo.yuv", "workdir": ""}' self.assertEquals(repr(asset), expected_repr) recon_asset = Asset.from_repr(expected_repr) self.assertEquals(asset, recon_asset) asset = Asset(dataset="test", content_id=0, asset_id=2, ref_path="dir/refvideo.yuv", dis_path="dir/disvideo.yuv", asset_dict={ 'width': 720, 'height': 480, 'quality_width': 1920, 'quality_height': 1080 }) self.assertEquals( str(asset), "test_0_2_refvideo_720x480_vs_disvideo_720x480_q_1920x1080") expected_repr = '{"asset_dict": {"height": 480, "quality_height": 1080, "quality_width": 1920, "width": 720}, "asset_id": 2, "content_id": 0, "dataset": "test", "dis_path": "disvideo.yuv", "ref_path": "refvideo.yuv", "workdir": ""}' self.assertEquals(repr(asset), expected_repr) recon_asset = Asset.from_repr(expected_repr) self.assertEquals(asset, recon_asset) asset = Asset(dataset="test", content_id=0, asset_id=2, ref_path="dir/refvideo.yuv", dis_path="dir/disvideo.yuv", asset_dict={ 'width': 720, 'height': 480, 'quality_width': 1920, 'quality_height': 1080, 'yuv_type': 'yuv422p' }) self.assertEquals( str(asset), "test_0_2_refvideo_720x480_yuv422p_vs_disvideo_720x480_yuv422p_q_1920x1080" ) expected_repr = '{"asset_dict": {"height": 480, "quality_height": 1080, "quality_width": 1920, "width": 720, "yuv_type": "yuv422p"}, "asset_id": 2, "content_id": 0, "dataset": "test", "dis_path": "disvideo.yuv", "ref_path": "refvideo.yuv", "workdir": ""}' self.assertEquals(repr(asset), expected_repr) recon_asset = Asset.from_repr(expected_repr) self.assertEquals(asset, recon_asset) asset = Asset(dataset="test", content_id=0, asset_id=2, ref_path="dir/refvideo.yuv", dis_path="dir/disvideo.yuv", asset_dict={ 'width': 720, 'height': 480, 'quality_width': 1920, 'quality_height': 1080, 'resampling_type': 'lanczos' }) self.assertEquals( str(asset), "test_0_2_refvideo_720x480_vs_disvideo_720x480_q_1920x1080_lanczos" ) expected_repr = '{"asset_dict": {"height": 480, "quality_height": 1080, "quality_width": 1920, "resampling_type": "lanczos", "width": 720}, "asset_id": 2, "content_id": 0, "dataset": "test", "dis_path": "disvideo.yuv", "ref_path": "refvideo.yuv", "workdir": ""}' self.assertEquals(repr(asset), expected_repr) recon_asset = Asset.from_repr(expected_repr) self.assertEquals(asset, recon_asset)
def test_str_repr(self): asset = Asset(dataset="test", content_id=0, asset_id=0, ref_path="dir/refvideo.yuv", dis_path="dir/disvideo.yuv", asset_dict={'width':720, 'height':480, 'start_frame':2, 'end_frame':2}) self.assertEquals( str(asset), "test_0_0_refvideo_720x480_2to2_vs_disvideo_720x480_2to2_q_720x480" ) expected_repr = '{"asset_dict": {"end_frame": 2, "height": 480, "start_frame": 2, "width": 720}, "asset_id": 0, "content_id": 0, "dataset": "test", "dis_path": "disvideo.yuv", "ref_path": "refvideo.yuv", "workdir": ""}' self.assertEquals(repr(asset), expected_repr) recon_asset = Asset.from_repr(expected_repr) self.assertEquals(asset, recon_asset) self.assertTrue(asset == recon_asset) self.assertFalse(asset != recon_asset) self.assertEquals(asset.to_normalized_repr(), expected_repr) asset = Asset(dataset="test", content_id=0, asset_id=1, ref_path="dir/refvideo.yuv", dis_path="dir/disvideo.yuv", asset_dict={'width':720, 'height':480,}) self.assertEquals( str(asset), "test_0_1_refvideo_720x480_vs_disvideo_720x480_q_720x480" ) expected_repr = '{"asset_dict": {"height": 480, "width": 720}, "asset_id": 1, "content_id": 0, "dataset": "test", "dis_path": "disvideo.yuv", "ref_path": "refvideo.yuv", "workdir": ""}' self.assertEquals(repr(asset), expected_repr) recon_asset = Asset.from_repr(expected_repr) self.assertEquals(asset, recon_asset) asset = Asset(dataset="test", content_id=0, asset_id=2, ref_path="dir/refvideo.yuv", dis_path="dir/disvideo.yuv", asset_dict={'width':720, 'height':480, 'quality_width':1920, 'quality_height':1080}) self.assertEquals( str(asset), "test_0_2_refvideo_720x480_vs_disvideo_720x480_q_1920x1080" ) expected_repr = '{"asset_dict": {"height": 480, "quality_height": 1080, "quality_width": 1920, "width": 720}, "asset_id": 2, "content_id": 0, "dataset": "test", "dis_path": "disvideo.yuv", "ref_path": "refvideo.yuv", "workdir": ""}' self.assertEquals(repr(asset), expected_repr) recon_asset = Asset.from_repr(expected_repr) self.assertEquals(asset, recon_asset) asset = Asset(dataset="test", content_id=0, asset_id=2, ref_path="dir/refvideo.yuv", dis_path="dir/disvideo.yuv", asset_dict={'width':720, 'height':480, 'quality_width':1920, 'quality_height':1080, 'yuv_type':'yuv422p'}) self.assertEquals( str(asset), "test_0_2_refvideo_720x480_yuv422p_vs_disvideo_720x480_yuv422p_q_1920x1080" ) expected_repr = '{"asset_dict": {"height": 480, "quality_height": 1080, "quality_width": 1920, "width": 720, "yuv_type": "yuv422p"}, "asset_id": 2, "content_id": 0, "dataset": "test", "dis_path": "disvideo.yuv", "ref_path": "refvideo.yuv", "workdir": ""}' self.assertEquals(repr(asset), expected_repr) recon_asset = Asset.from_repr(expected_repr) self.assertEquals(asset, recon_asset) asset = Asset(dataset="test", content_id=0, asset_id=2, ref_path="dir/refvideo.yuv", dis_path="dir/disvideo.yuv", asset_dict={'width':720, 'height':480, 'quality_width':1920, 'quality_height':1080, 'resampling_type':'lanczos'}) self.assertEquals( str(asset), "test_0_2_refvideo_720x480_vs_disvideo_720x480_q_1920x1080_lanczos" ) expected_repr = '{"asset_dict": {"height": 480, "quality_height": 1080, "quality_width": 1920, "resampling_type": "lanczos", "width": 720}, "asset_id": 2, "content_id": 0, "dataset": "test", "dis_path": "disvideo.yuv", "ref_path": "refvideo.yuv", "workdir": ""}' self.assertEquals(repr(asset), expected_repr) recon_asset = Asset.from_repr(expected_repr) self.assertEquals(asset, recon_asset)