router_interfaces.py 1.10 KiB
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()