Skip to content

Commit f9fe573

Browse files
committed
blackified
1 parent a9a7d79 commit f9fe573

File tree

1 file changed

+27
-10
lines changed

1 file changed

+27
-10
lines changed

nornir_srl/fsc.py

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -128,12 +128,13 @@ def get_fields(b, depth=0):
128128
def pass_filter(row, filter):
129129
if filter == None:
130130
return True
131-
filter = { str(k).lower(): v for k,v in filter.items() }
131+
filter = {str(k).lower(): v for k, v in filter.items()}
132132
if len(
133133
{
134134
k: v
135135
for k, v in row.items()
136-
if filter.get(str(k).lower()) and fnmatch.fnmatch(str(row[k]), str(filter[str(k).lower()]))
136+
if filter.get(str(k).lower())
137+
and fnmatch.fnmatch(str(row[k]), str(filter[str(k).lower()]))
137138
}
138139
) < len(filter):
139140
return False
@@ -243,6 +244,14 @@ def pass_filter(row, filter):
243244
multiple=True,
244245
help="inventory filter, e.g. -i site=lab -i role=leaf. Possible filter-fields are defined in inventory. Multiple filters are ANDed",
245246
)
247+
# @click.option(
248+
# "--format",
249+
# "-f",
250+
# multiple=False,
251+
# type=click.Choice(["table", "json", "yaml"]),
252+
# default="table",
253+
# help="Output format",
254+
# )
246255
@click.option(
247256
"--box-type",
248257
"-b",
@@ -267,6 +276,7 @@ def pass_filter(row, filter):
267276
def cli(
268277
ctx: Context,
269278
cfg: str,
279+
format: Optional[str] = None,
270280
inv_filter: Optional[List] = None,
271281
# field_filter: Optional[List] = None,
272282
box_type: Optional[str] = None,
@@ -365,6 +375,7 @@ def cli(
365375
if box_type:
366376
box_type = box_type.upper()
367377
ctx.obj["box_type"] = box_type
378+
ctx.obj["format"] = format
368379

369380

370381
def print_report(
@@ -412,14 +423,20 @@ def _bgp_peers(task: Task) -> Result:
412423
result = ctx.obj["target"].run(
413424
task=_bgp_peers, name="bgp_peers", raise_on_error=False
414425
)
415-
print_report(
416-
result=result,
417-
name="BGP Peers",
418-
failed_hosts=result.failed_hosts,
419-
box_type=ctx.obj["box_type"],
420-
f_filter=f_filter,
421-
i_filter=ctx.obj["i_filter"],
422-
)
426+
if ctx.obj["format"] == "json":
427+
print_result(result)
428+
elif ctx.obj["format"] == "yaml":
429+
yaml = YAML(typ="safe")
430+
yaml.dump(result, sys.stdout)
431+
else:
432+
print_report(
433+
result=result,
434+
name="BGP Peers",
435+
failed_hosts=result.failed_hosts,
436+
box_type=ctx.obj["box_type"],
437+
f_filter=f_filter,
438+
i_filter=ctx.obj["i_filter"],
439+
)
423440

424441

425442
@cli.command()

0 commit comments

Comments
 (0)