Adding upstream version 0.8.1.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
b16cc97368
commit
55e5e7ac79
49 changed files with 4592 additions and 0 deletions
53
eos_downloader/cli/debug/commands.py
Normal file
53
eos_downloader/cli/debug/commands.py
Normal file
|
@ -0,0 +1,53 @@
|
|||
#!/usr/bin/env python
|
||||
# coding: utf-8 -*-
|
||||
# pylint: disable=no-value-for-parameter
|
||||
# pylint: disable=too-many-arguments
|
||||
# pylint: disable=line-too-long
|
||||
# pylint: disable=duplicate-code
|
||||
# flake8: noqa E501
|
||||
|
||||
"""
|
||||
Commands for ARDL CLI to get data.
|
||||
"""
|
||||
|
||||
import xml.etree.ElementTree as ET
|
||||
from xml.dom import minidom
|
||||
|
||||
import click
|
||||
from loguru import logger
|
||||
from rich.console import Console
|
||||
|
||||
import eos_downloader.eos
|
||||
|
||||
|
||||
@click.command()
|
||||
@click.pass_context
|
||||
@click.option('--output', default=str('arista.xml'), help='Path to save XML file', type=click.Path(), show_default=True)
|
||||
@click.option('--log-level', '--log', help='Logging level of the command', default=None, type=click.Choice(['debug', 'info', 'warning', 'error', 'critical'], case_sensitive=False))
|
||||
def xml(ctx: click.Context, output: str, log_level: str) -> None:
|
||||
# sourcery skip: remove-unnecessary-cast
|
||||
"""Extract XML directory structure"""
|
||||
console = Console()
|
||||
# Get from Context
|
||||
token = ctx.obj['token']
|
||||
|
||||
logger.remove()
|
||||
if log_level is not None:
|
||||
logger.add("eos-downloader.log", rotation="10 MB", level=log_level.upper())
|
||||
|
||||
my_download = eos_downloader.eos.EOSDownloader(
|
||||
image='unset',
|
||||
software='EOS',
|
||||
version='unset',
|
||||
token=token,
|
||||
hash_method='sha512sum')
|
||||
|
||||
my_download.authenticate()
|
||||
xml_object: ET.ElementTree = my_download._get_folder_tree() # pylint: disable=protected-access
|
||||
xml_content = xml_object.getroot()
|
||||
|
||||
xmlstr = minidom.parseString(ET.tostring(xml_content)).toprettyxml(indent=" ", newl='')
|
||||
with open(output, "w", encoding='utf-8') as f:
|
||||
f.write(str(xmlstr))
|
||||
|
||||
console.print(f'XML file saved in: { output }')
|
Loading…
Add table
Add a link
Reference in a new issue