Skip to content

refactor: renamed data directory to mismatch_data #4356

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Aug 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cve_bin_tool/mismatch_loader.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

db_path = DISK_LOCATION_DEFAULT / DBNAME
parent_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
data_dir = os.path.join(parent_dir, "data")
data_dir = os.path.join(parent_dir, "mismatch_data")


def setup_sqlite(data_dir: str, db_file: str) -> bool:
Expand Down
10 changes: 5 additions & 5 deletions doc/mismatch_cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,22 +22,22 @@ The script operates within a specific directory structure as shown below:
```
project_root/
├── data/ # Directory containing the mismatch relations
├── mismatch_data/ # Directory containing the mismatch relations
└── mismatch/ # Directory containing the script
└── cli.py # The main script file
```

## Data Directory

The `data/` directory is a key component of the Mismatch Database Management Tool. It houses the structured data files that are used to populate or refresh the mismatch database.
The `mismatch_data/` directory is a key component of the Mismatch Database Management Tool. It houses the structured data files that are used to populate or refresh the mismatch database.

### Directory Structure

The structure of the `data/` directory is organized as follows:
The structure of the `mismatch_data/` directory is organized as follows:

```
data/
mismatch_data/
└── namespace/
└── product/
└── mismatch_relations.yml
Expand Down Expand Up @@ -95,7 +95,7 @@ python -m mismatch.cli loader [--dir <data_dir>] [--database <db_file>]
```

**Parameters:**
- `--dir`: (Optional) Directory containing the data files to be loaded. Defaults to the \`data/\` directory in the project root.
- `--dir`: (Optional) Directory containing the data files to be loaded. Defaults to the `mismatch_data/` directory in the project root.
- `--database`: (Optional) Path to the SQLite database file. Defaults to the pre-configured location if not provided.

**Example:**
Expand Down
10 changes: 5 additions & 5 deletions doc/mismatch_data.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ database.

This document details the steps for adding data to the mismatch database.

## 1. Update `data/` directory
## 1. Update `mismatch_data/` directory

1. Make a new file with `namespace/product_name/mismatch_relations.yml` name under the `data/` directory. For example, `pypi/zstandard/mismatch_relations.yml` for zstandard
1. Make a new file with `namespace/product_name/mismatch_relations.yml` name under the `mismatch_data/` directory. For example, `pypi/zstandard/mismatch_relations.yml` for zstandard
from pypi namespace.
2. Populate the file with `purl-invalid_vendor` information.

Expand All @@ -20,13 +20,13 @@ from pypi namespace.

## 2. Run the populator script

The [`mismatch_loader`](../cve_bin_tool/mismatch_loader.py) script populates the the mismatch database with the contents of `data/` directory.
The [`mismatch_loader`](../cve_bin_tool/mismatch_loader.py) script populates the the mismatch database with the contents of `mismatch_data/` directory.

```python
python -m cve_bin_tool.mismatch_loader
```

The default directory is `data/`, and default database file is `cve.db`.
The default directory is `mismatch_data/`, and default database file is `cve.db`.

To use a specific directory, use `--dir` flag:
```python
Expand All @@ -43,5 +43,5 @@ To use a specific database file, use `--database` flag:
If you find invalid relationship, please do following:

- Fork the [repo](https://github.com/intel/cve-bin-tool)
- Update the `data/` directory with purl-invalid_vendor information like [this](../data/pypi/zstandard/mismatch_relations.yml)
- Update the `mismatch_data/` directory with purl-invalid_vendor information like [this](../data/pypi/zstandard/mismatch_relations.yml)
- Create a pull request with the details of update. [Reference](https://github.com/intel/cve-bin-tool/pull/4239)
2 changes: 1 addition & 1 deletion mismatch/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
DBNAME = "cve.db"
DISK_LOCATION_DEFAULT = Path("~").expanduser() / ".cache" / "cve-bin-tool"
parent_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
data_dir = os.path.join(parent_dir, "data")
data_dir = os.path.join(parent_dir, "mismatch_data")
dbpath = DISK_LOCATION_DEFAULT / DBNAME


Expand Down
2 changes: 1 addition & 1 deletion test/test_mismatch_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ def test_lookup(capsys, monkeypatch, test_db):

def test_loader(monkeypatch, tmpdir, test_db):
# Test with custom directory and database path using the --dir and --database flags
data_dir = Path(__file__).resolve().parent.parent / "data"
data_dir = Path(__file__).resolve().parent.parent / "mismatch_data"
monkeypatch.setattr(
"sys.argv", ["main", "loader", "--dir", str(data_dir), "--database", test_db]
)
Expand Down
2 changes: 1 addition & 1 deletion test/test_mismatch_loader.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ def test_mismatch_loader():
temp_db = tempfile.NamedTemporaryFile(suffix=".db", delete=False)
temp_db_path = Path(temp_db.name)

data_dir = Path(__file__).resolve().parent.parent / "data"
data_dir = Path(__file__).resolve().parent.parent / "mismatch_data"
setup_sqlite(data_dir, temp_db_path)

# Connect to the database and check if zstandard is present
Expand Down
Loading