Exemplo n.º 1
0
def create_video_metadata(name: str) -> DataFrameMetadata:
    """Create video metadata object.
        We have predefined columns for such a object
        id:  the frame id
        data: the frame data

    Arguments:
        name (str): name of the metadata to be added to the catalog

    Returns:
        DataFrameMetadata:  corresponding metadata for the input table info
    """
    catalog = CatalogManager()
    columns = [ColumnDefinition('id', ColumnType.INTEGER, None,
                                [], ColConstraintInfo(unique=True))]
    # the ndarray dimensions are set as None. We need to fix this as we
    # cannot assume. Either ask the user to provide this with load or
    # we infer this from the provided video.
    columns.append(
        ColumnDefinition(
            'data', ColumnType.NDARRAY, NdArrayType.UINT8, [None, None, None]
        )
    )
    col_metadata = create_column_metadata(columns)
    uri = str(generate_file_path(name))
    metadata = catalog.create_metadata(
        name, uri, col_metadata, identifier_column='id')
    return metadata
Exemplo n.º 2
0
    def test_dataset_by_name_should_return_name_of_model(
            self, dcs_mock, ds_mock, initdb_mock):
        #tests for dataset_by_name in df_service.py
        catalog = CatalogManager()
        file_url = "file1"
        set_name = "test_name"

        columns = [(DataFrameColumn("column", ColumnType.INTEGER))]
        catalog.create_metadata(set_name, file_url, columns)

        for column in columns:
            column.metadata_id = \
                ds_mock.return_value.create_dataset.return_value.id

        real = catalog._dataset_service.dataset_by_name(set_name)
        ds_mock.return_value.dataset_by_name.assert_called_with(set_name)

        test = ds_mock.return_value.dataset_by_name.return_value

        self.assertEqual(test, real)
Exemplo n.º 3
0
    def test_create_metadata_should_create_dataset_and_columns(
            self, dcs_mock, ds_mock, initdb_mock):
        catalog = CatalogManager()
        file_url = "file1"
        dataset_name = "name"

        columns = [(DataFrameColumn("c1", ColumnType.INTEGER))]
        actual = catalog.create_metadata(dataset_name, file_url, columns)
        ds_mock.return_value.create_dataset.assert_called_with(
            dataset_name, file_url, identifier_id='id')
        for column in columns:
            column.metadata_id = \
                ds_mock.return_value.create_dataset.return_value.id

        dcs_mock.return_value.create_column.assert_called_with(columns)

        expected = ds_mock.return_value.create_dataset.return_value
        expected.schema = \
            dcs_mock.return_value.create_column.return_value

        self.assertEqual(actual, expected)