def get_data_source_version()

in src/redash_stmo/data_sources/details/extension.py [0:0]


def get_data_source_version(query_runner):
    parse_info = DATASOURCE_VERSION_PARSE_INFO.get(query_runner.type())
    if parse_info is None:
        return None

    data, error = query_runner.run_query(parse_info["version_query"], None)
    if error is not None:
        logger.error(
            "Unable to run version query for %s: %s", query_runner.type(), error
        )
        return None
    try:
        version = json.loads(data)["rows"][0]["version"]
    except (KeyError, IndexError) as err:
        logger.exception(
            "Unable to parse data source version for %s: %s", query_runner.type(), err
        )
        return None

    version = version.split(parse_info["delimiter"])[parse_info["index"]]
    return version