Skip to content

Commit dfa3ae2

Browse files
author
Behnam Ousat
committed
union in-memory seed dataset names
1 parent 4baaa91 commit dfa3ae2

1 file changed

Lines changed: 12 additions & 2 deletions

File tree

pyrit/backend/services/dataset_service.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"""
55
Dataset service for listing seed datasets.
66
7-
Wraps ``SeedDatasetProvider`` discovery so the API can list available datasets.
7+
Wraps ``SeedDatasetProvider`` discovery and memory to list available datasets.
88
"""
99

1010
import logging
@@ -15,21 +15,31 @@
1515
DatasetListResponse,
1616
)
1717
from pyrit.datasets import SeedDatasetProvider
18+
from pyrit.memory import CentralMemory
1819

1920
logger = logging.getLogger(__name__)
2021

2122

2223
class DatasetService:
2324
"""Service for listing seed datasets."""
2425

26+
def __init__(self) -> None:
27+
"""Initialize the dataset service."""
28+
self._memory = CentralMemory.get_memory_instance()
29+
2530
async def list_datasets_async(self) -> DatasetListResponse:
2631
"""
2732
List all available datasets.
2833
34+
Combines datasets discoverable via registered providers with those
35+
already loaded into memory, since both are available for use.
36+
2937
Returns:
3038
DatasetListResponse: Available datasets.
3139
"""
32-
available = await SeedDatasetProvider.get_all_dataset_names_async()
40+
provider_names = await SeedDatasetProvider.get_all_dataset_names_async()
41+
memory_names = self._memory.get_seed_dataset_names()
42+
available = sorted(set(provider_names) | set(memory_names))
3343
items = [DatasetInfo(name=name) for name in available]
3444
return DatasetListResponse(items=items)
3545

0 commit comments

Comments
 (0)