#!/usr/bin/python

import yaml
import gzip
import os

try:    loader = yaml.CSafeLoader
except: loader = yaml.SafeLoader

def mostRecentLog(dir='/mit/xvm/log/running/prod'):
    logs = os.listdir(dir)
    logs.sort()
    log = logs.pop()
    
    return os.path.join(dir, log)

def vmDist(log):
    vms = yaml.load(gzip.open(log), loader)
    
    hosts = dict()
    if vms is None:
        return hosts
    for v in vms.itervalues():
        hosts[v['host']] = hosts.get(v['host'], 0) + 1
    
    return hosts

def printDist(hosts):
    return '\n'.join('%s: %s' % (h, c) for h, c in hosts.iteritems())

def main():
    print printDist(vmDist(mostRecentLog()))

if __name__ == '__main__':
    main()
