#!/usr/bin/env python3

from sh import vagrant
from parse import parse


boxes = {}
for line in vagrant.box("list"):
    box = parse('\x1b[0m{name:^} ({provider}, {version})\x1b[0m', line)
    if box['name'] in boxes:
        if box['provider'] in boxes[box['name']]:
            boxes[box['name']][box['provider']].append(box['version'])
        else:
            boxes[box['name']][box['provider']] = [box['version']]
    else:
        boxes[box['name']] = {box['provider']: [box['version']]}
for box in boxes:
    for provider in boxes[box]:
        for version in boxes[box][provider][:-1]:
            print('Removing box {0} version {1}.'.format(box, version))
            vagrant.box('remove', '--force', '--provider', provider,
                        '--box-version', version, box)
vagrant('global-status', '--prune')
