def eval_command(self, args):
tw = TabWriter()
if args["digests"]:
tw.padding = [3, 10, 3, 8, 8]
fm = self.digestsTemplate
tw.writeln(
"REPOSITORY\tTAG\tDIGEST\tIMAGE ID\tCREATED\tSIZE")
elif args["format"] is None:
tw.padding = [3, 10, 8, 8]
fm = self.defaultTemplate
tw.writeln(
"REPOSITORY\tTAG\tIMAGE ID\tCREATED\tSIZE")
else:
fm = args["format"]
self.settings[self.name] = ""
del args["digests"]
del args["format"]
args["filters"] = dict(args["filters"]) if args["filters"] else None
nodes = self.client.images(**args)
for node in nodes:
try:
node["Repository"], node["Tag"] = node[
"RepoTags"][0].split(":")
except TypeError:
node["Repository"] = node["RepoDigests"][0].split('@', 2)[0]
node["Tag"] = "<none>"
node["Digest"] = node["RepoDigests"][0].split('@', 2)[1] if node[
"RepoDigests"] else '<' + str(node["RepoDigests"]) + '>'
node["Id"] = node["Id"].split(":")[1][:12]
node["Created"] = arrow.get(node["Created"]).humanize()
node["Size"] = humanize.naturalsize(node["VirtualSize"])
tw.writeln(pystache.render(fm, node))
self.settings[self.name] = str(tw)
评论列表
文章目录