Esempio n. 1
0
    def parse_source_config(self, element_def: dict):
        """parse source configuration"""
        # source: accept just a source_id and take it from sources
        if "source" not in element_def:
            return True

        source_id = None
        if isinstance(element_def["source"], str):
            source_id = element_def["source"]
        if "source_id" in element_def["source"]:
            source_id = element_def["source"]["source_id"]

        if source_id is None:
            return True

        # track the source_id
        source = config_manager.get_source(source_id)
        if source is None:
            log.warning(
                "Source id %s not found, cannot start pipeline %s",
                source_id,
                self.name,
            )
            return False

        element_def["source"] = source.to_values()
        element_def["source"]["source_id"] = source_id

        return True
Esempio n. 2
0
def test_config_getters():

    config_manager.stop()
    config_manager.CONFIG_FILE = 'test-config2.yaml'
    _dir = os.path.dirname(os.path.abspath(__file__))
    config_manager.load(_dir)

    assert config_manager.get_ai_models() is not None
    assert config_manager.get_ai_model("image_detection") is not None

    assert config_manager.get_sources() is not None
    assert config_manager.get_source("front_door_camera") is not None

    assert config_manager.get_data_dir() is not None
Esempio n. 3
0
def get(source_id):
    """Retrieve a source by id"""
    log.info("Get source_id=%s", source_id)

    if not source_id:
        raise BadRequest("source id is empy")

    if not isinstance(source_id, str):
        raise BadRequest("source id should be a string")

    source = config_manager.get_source(source_id)

    if source is None:
        raise NotFound("source not found")

    return source.to_values()
Esempio n. 4
0
def save(source_id, source):
    """Save source configuration information"""
    log.info("Saving source_id=%s", source_id)
    source = validate(source_id, source)
    config_manager.get_sources().set(source["id"], source)
    return config_manager.get_source(source["id"]).to_values()