Example #1
0
 def update_kml(self, request, response):
   change = KML.Change()
   create = KML.Create()
   delete = KML.Delete()
   doc = KML.Document(targetId=KmlPlacemark.DOC_ID)
   for id_, kpm in self.placemarks.items():
     if kpm.is_new:
       style_url = KmlStyleUtils.get_style_url_for_callsign(kpm.callsign)
       model_url = None # KmlStyleUtils.get_model_url_for_callsign(kpm.callsign, request.host_url)
       placemark = kpm.get_placemark(style_url, model_url)
       doc.append(placemark)
       kpm.is_new = False
     else:
       kpm.generate_update(change = change, create = create, delete = delete)
   if doc.countchildren() > 0:
     create.append(doc)
   update = KML.Update(KML.targetHref(request.path_url))
   if change.countchildren() > 0:
     update.append(change)
   if create.countchildren() > 0:
     update.append(create)
   if delete.countchildren() > 0:
     update.append(delete)
   network_link_control = KML.NetworkLinkControl(update)
   return KML.kml(network_link_control)