#!/usr/bin/env python3 from sh import vagrant from parse import parse boxes = {} dummy_providers = ["aws"] for line in vagrant.box("list"): box = parse("\x1b[0m{name:^} ({provider}, {version})\x1b[0m", line) if not box["provider"] in dummy_providers: if box["name"] in boxes: if not box["provider"] in boxes[box["name"]]: boxes[box["name"]].append(box["provider"]) else: boxes[box["name"]] = [box["provider"]] for box in boxes: for provider in boxes[box]: print("Updating box {0} provider {1}.".format(box, provider)) vagrant.box("update", "--provider", provider, "--box", box)