#! /usr/bin/env python

import xml.etree.cElementTree as et
import sys

print("Vhodna datoteka:", sys.argv[1])

xml_tree = et.parse(sys.argv[1])
xml_tocke = xml_tree.getroot()

xml_tocke_seznam = xml_tocke.findall("tocka")

n = len(xml_tocke_seznam)
print("Število točk:", n)

naslovi = []
zem_sirine = []
zem_dolzine = []

print("Branje podatkov: ", end='')
for xml_tocka in xml_tocke_seznam:
    naslovi.append(xml_tocka.get("naslov"))
    zem_sirine.append(xml_tocka.get("zem_sirina"))
    zem_dolzine.append(xml_tocka.get("zem_dolzina"))
    print(".", end='')

print()

# Izpis v KML datoteko
print()
print("Izhodna datoteka:", sys.argv[1]+".kml")
print("Izpis podatkov: ", end='')
kml = et.Element("kml")
kml.set("xmlns", "http://www.opengis.net/kml/2.2")
kml.set("xmlns:gx", "http://www.google.com/kml/ext/2.2")
kml.set("xmlns:kml", "http://www.opengis.net/kml/2.2")
kml.set("xmlns:atom", "http://www.w3.org/2005/Atom")

document = et.SubElement(kml, "Document")

document_name = et.SubElement(document, "name")
document_name.text = sys.argv[1]

folder = et.SubElement(document, "Folder")
folder_name = et.SubElement(folder, "name")
folder_name.text = "Opazovalnice"

for i in range(n):
    print(".", end='')
    placemark = et.SubElement(folder, "Placemark")
    placemark_name = et.SubElement(placemark, "name")
    placemark_name.text = naslovi[i]

    point = et.SubElement(placemark, "Point")

    coordinates = et.SubElement(point, "coordinates")
    coordinates.text = "{},{},0".format(zem_dolzine[i], zem_sirine[i])

xml_tree = et.ElementTree(kml)
xml_tree.write(sys.argv[1]+".kml", encoding='utf-8', xml_declaration=True)

print()
