Coverage for python/gsfit/database_readers/__init__.py: 50%
18 statements
« prev ^ index » next coverage.py v7.15.0, created at 2026-07-07 13:12 +0000
« prev ^ index » next coverage.py v7.15.0, created at 2026-07-07 13:12 +0000
1from .interface import DatabaseReaderProtocol
4def get_database_reader(method: str) -> DatabaseReaderProtocol:
5 """
6 Returns a "database_reader" class for accessing different databases.
8 :param method: selcts which database_reader to use. `method` is specified in the `GSFIT_code_settings.json` input file.
10 See `python/gsfit/database_readers/interface.py` for the interface (methods) definitions.
11 """
13 if method == "st40_mdsplus":
14 from .st40_mdsplus import DatabaseReader as St40MdsplusDatabaseReader
16 return St40MdsplusDatabaseReader()
17 elif method == "st40_astra_mdsplus":
18 from .st40_astra_mdsplus import DatabaseReader as St40AstraMdsplusDatabaseReader
20 return St40AstraMdsplusDatabaseReader()
21 elif method == "st40_spider_mdsplus":
22 from .st40_spider_mdsplus import DatabaseReader as St40SpiderMdsplusDatabaseReader
24 return St40SpiderMdsplusDatabaseReader()
25 elif method == "freegs":
26 from .freegs import DatabaseReader as FreegsDatabaseReader
28 return FreegsDatabaseReader()
29 elif method == "freegsnke":
30 from .freegsnke import DatabaseReader as FreegsNkeDatabaseReader
32 return FreegsNkeDatabaseReader()
33 else:
34 raise ValueError(f"Unknown database reader method: {method}")