#!/usr/bin/env python
"""

Generate KML output with NetworkLink for each simulated mission.

"""

import os 
import socket

from simplekml import Kml

# host = socket.gethostname()
fqdn,host,ip = socket.gethostbyaddr(socket.gethostbyname(socket.gethostname()))
dr = 'pre-deployment-simulations'
r = os.path.join('/','var','www',dr)
kml = Kml(name="Pre-deployment Simulations", open=1)

dlist = [d for d in os.listdir(r)
            if os.path.isdir(os.path.join(r,d)) ]
for d in sorted(dlist):
    mission_type = kml.newfolder(name = d)
    mlist = [m for m in os.listdir(os.path.join(r,d)) 
                if os.path.isdir(os.path.join(r,d,m))]
    for m in sorted(mlist):
        mission = mission_type.newfolder(name = m)
        flist = [f for f in os.listdir(os.path.join(r,d,m))
                    if os.path.isfile(os.path.join(r,d,m,f))]
        for f in sorted(flist):
            if f.endswith('kml') or f.endswith('kmz'):
                netlink = mission.newnetworklink(name = f, open = 0)
                netlink.link.href = "/".join(['http:/', fqdn, dr, d, m, f])
print 'Content-type: application/vnd.google-earth.kml+xml\n'
print kml.kml()
