refactor: Storage 改用工厂模式,server reload 接入 uvicorn
- 新增 StorageFactory(BaseFactory[BaseStorage]) 替代手写 dict 注册 - H5Storage / JSONStorage 通过 @StorageFactory.register 注册 - dataset.py 使用 StorageFactory.create() 替代 create_storage() - 删除 create_storage / available_storage_types 死函数 - server.py reload 参数正式传入 uvicorn.run()
This commit is contained in:
@@ -10,7 +10,7 @@ from astrai.dataset.storage import (
|
||||
BaseSegmentFetcher,
|
||||
H5Storage,
|
||||
MultiSegmentFetcher,
|
||||
create_storage,
|
||||
StorageFactory,
|
||||
detect_format,
|
||||
load_json,
|
||||
save_h5,
|
||||
@@ -368,9 +368,9 @@ def test_detect_format_unsupported_file(base_test_env):
|
||||
|
||||
|
||||
def test_create_storage_invalid_type():
|
||||
"""create_storage raises ValueError for unknown type"""
|
||||
with pytest.raises(ValueError, match="Unknown storage type"):
|
||||
create_storage("parquet")
|
||||
"""StorageFactory.create raises ValueError for unknown type"""
|
||||
with pytest.raises(ValueError, match="Unknown component"):
|
||||
StorageFactory.create("parquet")
|
||||
|
||||
|
||||
def test_json_pretokenized_without_tokenizer(base_test_env):
|
||||
|
||||
Reference in New Issue
Block a user