import json import logging import click from inventory_provider import constants from inventory_provider import router_details from inventory_provider import config def _validate_config(ctx, param, value): return config.load(value) @click.command() @click.option( "--params", # required=True, type=click.File(), help="Configuration filename", default=open("config.json"), callback=_validate_config) def cli(params): router_details.update_network_details(params) result = router_details.load_network_details(params["redis"]) filename = "/tmp/router-info.json" logging.debug("writing output to: " + filename) with open(filename, "w") as f: f.write(json.dumps(result)) if __name__ == "__main__": logging.basicConfig(level=logging.WARNING) logging.getLogger(constants.SNMP_LOGGER_NAME).setLevel(logging.DEBUG) logging.getLogger(constants.THREADING_LOGGER_NAME).setLevel(logging.INFO) logging.getLogger(constants.JUNIPER_LOGGER_NAME).setLevel(logging.DEBUG) logging.getLogger(constants.DATABASE_LOGGER_NAME).setLevel(logging.DEBUG) cli()