add --plain option

This option lists all images with their tags and without any other formatiing
This commit is contained in:
tostt
2022-02-22 15:42:52 +01:00
committed by GitHub
parent a52692cd59
commit f6131f7bdd

View File

@@ -559,6 +559,13 @@ for more detail on garbage collection read here:
'Useful if your tag names are not in a fixed order.'), 'Useful if your tag names are not in a fixed order.'),
action='store_true' action='store_true'
) )
parser.add_argument(
'--plain',
help=('Turn plain output, one image:tag per line.'
'Useful if your want to send the results to another command.'),
action='store_true',
default=False
)
return parser.parse_args(args) return parser.parse_args(args)
@@ -700,6 +707,7 @@ def get_datetime_tags(registry, image_name, tags_list):
"datetime": parse(image_age).astimezone(tzutc()) "datetime": parse(image_age).astimezone(tzutc())
} }
if not args.plain:
print('---------------------------------') print('---------------------------------')
p = ThreadPool(4) p = ThreadPool(4)
result = list(x for x in p.map(newer, tags_list) if x) result = list(x for x in p.map(newer, tags_list) if x)
@@ -788,9 +796,9 @@ def main_loop(args):
# loop through registry's images # loop through registry's images
# or through the ones given in command line # or through the ones given in command line
for image_name in image_list: for image_name in image_list:
if not args.plain:
print("---------------------------------") print("---------------------------------")
print("Image: {0}".format(image_name)) print("Image: {0}".format(image_name))
all_tags_list = registry.list_tags(image_name) all_tags_list = registry.list_tags(image_name)
if not all_tags_list: if not all_tags_list:
@@ -804,7 +812,11 @@ def main_loop(args):
# print(tags and optionally layers # print(tags and optionally layers
for tag in tags_list: for tag in tags_list:
if not args.plain:
print(" tag: {0}".format(tag)) print(" tag: {0}".format(tag))
else:
print("{0}:{1}".format(image_name, tag))
if args.layers: if args.layers:
for layer in registry.list_tag_layers(image_name, tag): for layer in registry.list_tag_layers(image_name, tag):
if 'size' in layer: if 'size' in layer: