#!/usr/bin/python3

import logging
import os

from pkg_resources import parse_version
from xivo_provd_client import new_provisioning_client

LOCAL_PROVD = "http://localhost:8666/provd"
MAX_VERSION_TO_RUN = "2022.05.04"


def run():
    logging.basicConfig(level=logging.INFO)
    logger = logging.getLogger('create_pjsip_autoprov_peers')

    logger.debug('Fetching autoprov configurations...')

    provd_client = new_provisioning_client(LOCAL_PROVD)

    config_manager = provd_client.config_manager()
    configs = config_manager.find()

    for c in configs:
        config_id = c.get('id', '')
        if config_id != 'autoprov' and config_id.startswith('autoprov'):
            config_manager.pjsip_create(config_id)

    logger.debug('Done.')


if __name__ == '__main__':
    if parse_version(os.environ.get("XIVO_VERSION_INSTALLED")) <= parse_version(MAX_VERSION_TO_RUN):
        run()
