mirror of
https://github.com/InternLM/InternBootcamp.git
synced 2026-04-19 12:58:04 +00:00
init-commit
This commit is contained in:
commit
18a552597a
3461 changed files with 1150579 additions and 0 deletions
45
internbootcamp/libs/futoshiki/config.py
Executable file
45
internbootcamp/libs/futoshiki/config.py
Executable file
|
|
@ -0,0 +1,45 @@
|
|||
import json
|
||||
import os
|
||||
|
||||
class ConfigReader:
|
||||
"""
|
||||
A class to read and optionally save configuration data from/to a JSON file.
|
||||
"""
|
||||
|
||||
def __init__(self, config_path = "libs/futoshiki/config.json"):
|
||||
"""
|
||||
Initializes the ConfigReader with the path to the JSON configuration file.
|
||||
|
||||
:param config_path: Path to the config.json file
|
||||
"""
|
||||
self.config_path = config_path
|
||||
self.config_data = self._load_config()
|
||||
|
||||
def _load_config(self):
|
||||
"""
|
||||
Loads the configuration data from the JSON file.
|
||||
|
||||
:return: A dictionary containing the configuration data
|
||||
"""
|
||||
try:
|
||||
with open(self.config_path, 'r', encoding='utf-8') as file:
|
||||
return json.load(file)
|
||||
except FileNotFoundError:
|
||||
try:
|
||||
with open('libs/futoshiki/config.json', 'r', encoding='utf-8') as file:
|
||||
return json.load(file)
|
||||
except FileNotFoundError:
|
||||
raise FileNotFoundError(f"The configuration file '{self.config_path}' was not found.")
|
||||
raise FileNotFoundError(f"The configuration file '{self.config_path}' was not found.")
|
||||
except json.JSONDecodeError as e:
|
||||
raise ValueError(f"Error decoding JSON from the file '{self.config_path}': {e}")
|
||||
|
||||
def get(self, key, default=None):
|
||||
"""
|
||||
Retrieves the value for a given key from the configuration data.
|
||||
|
||||
:param key: The key to look up in the configuration
|
||||
:param default: The default value to return if the key is not found
|
||||
:return: The value associated with the key, or the default value if key is not found
|
||||
"""
|
||||
return self.config_data.get(key, default)
|
||||
Loading…
Add table
Add a link
Reference in a new issue