Skip to content

Commit

Permalink
Improve docstrings in datasets_connector_manager.py
Browse files Browse the repository at this point in the history
Fixes os-climate#24

Add missing docstrings, update existing docstrings to Google format, and add type annotations to function signatures in `sostrades_core/datasets/datasets_connectors/datasets_connector_manager.py`.

* Add docstrings to `instanciate_connectors_from_json_file` method.
* Update docstrings in `get_connector` and `register_connector` methods to Google format.
* Add type annotations to function signatures in `get_connector`, `register_connector`, and `instanciate_connectors_from_json_file` methods.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/ggoyon/sostrades-core/issues/24?shareId=XXXX-XXXX-XXXX-XXXX).
  • Loading branch information
ggoyon committed Nov 6, 2024
1 parent 0ed1831 commit a32d1ea
Showing 1 changed file with 23 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,14 @@ def get_connector(cls, connector_identifier: str) -> AbstractDatasetsConnector:
"""
Gets a connector given its identifier
:param connector_identifier: identifier of the connector
:type connector_identifier: string
Args:
connector_identifier (str): identifier of the connector
Returns:
AbstractDatasetsConnector: The requested connector
Raises:
DatasetConnectorNotFoundException: If the connector is not found
"""
cls.__logger.debug(f"Getting connector {connector_identifier}")
if connector_identifier not in cls.__registered_connectors:
Expand All @@ -72,12 +78,14 @@ def get_connector(cls, connector_identifier: str) -> AbstractDatasetsConnector:
def register_connector(cls, connector_identifier: str, connector_type: DatasetConnectorType, **connector_instanciation_fields) -> AbstractDatasetsConnector:
"""
Register a connector with connector_instanciation_fields
:param connector_identifier: An unique name to identify clearly this connector
:type connector_identifier: str
:param connector_type: Name of an existing connector
:type connector_type: DatasetConnectorTypes
:param connector_instanciation_fields: dictionary of key/value needed by the connector
:type connector_instanciation_fields: dict
Args:
connector_identifier (str): An unique name to identify clearly this connector
connector_type (DatasetConnectorType): Name of an existing connector
**connector_instanciation_fields: dictionary of key/value needed by the connector
Returns:
AbstractDatasetsConnector: The registered connector
"""
cls.__logger.debug(f"Registering connector {connector_identifier}")
if connector_identifier in cls.__registered_connectors.keys():
Expand All @@ -88,7 +96,13 @@ def register_connector(cls, connector_identifier: str, connector_type: DatasetCo
return connector

@classmethod
def instanciate_connectors_from_json_file(cls, file_path: str):
def instanciate_connectors_from_json_file(cls, file_path: str) -> None:
"""
Instantiates connectors from a JSON file
Args:
file_path (str): Path to the JSON file
"""
with open(file=file_path, mode="r", encoding="utf-8") as file:
json_data = json.load(file)

Expand Down

0 comments on commit a32d1ea

Please sign in to comment.