def post(self): layer = self.request.form['layer'] kml_id = self.request.form['kml_id'] br = blobstore.BlobReader(kml_id) kml = extract_kml(br) et = ElementTree(file=kml) root = et.getroot() kml_namespace = root.tag[1:].split('}')[0] folder_tag = "{%s}Folder" % kml_namespace name_tag = "{%s}name" % kml_namespace placemark_tag = "{%s}Placemark" % kml_namespace for document in list(root): for folder in document.findall(folder_tag): if folder.attrib['id'] != layer: continue mills = folder.findall(placemark_tag) for mill in mills: Mill.from_placemark(mill) return ("OK")
def post(self): layer=self.request.form['layer'] kml_id=self.request.form['kml_id'] br=blobstore.BlobReader(kml_id) kml=extract_kml(br) et = ElementTree(file=kml) root=et.getroot() kml_namespace=root.tag[1:].split('}')[0] folder_tag="{%s}Folder" % kml_namespace name_tag="{%s}name" % kml_namespace placemark_tag="{%s}Placemark" % kml_namespace for document in list(root): for folder in document.findall(folder_tag): if folder.attrib['id'] != layer: continue mills=folder.findall(placemark_tag) for mill in mills: Mill.from_placemark(mill) return("OK")
def get(self, kml_id): br=blobstore.BlobReader(kml_id) kml=extract_kml(br) et = ElementTree(file=kml) root=et.getroot() kml_namespace=root.tag[1:].split('}')[0] folder_tag="{%s}Folder" % kml_namespace name_tag="{%s}name" % kml_namespace folders=[] for document in list(root): for folder in document.findall(folder_tag): name=folder.find(name_tag).text if name: logging.warning('found folder %s',name) folders.append([folder.attrib['id'],name]) return self.render_response('select_layer.html', folders=folders, )
def get(self, kml_id): br = blobstore.BlobReader(kml_id) kml = extract_kml(br) et = ElementTree(file=kml) root = et.getroot() kml_namespace = root.tag[1:].split('}')[0] folder_tag = "{%s}Folder" % kml_namespace name_tag = "{%s}name" % kml_namespace folders = [] for document in list(root): for folder in document.findall(folder_tag): name = folder.find(name_tag).text if name: logging.warning('found folder %s', name) folders.append([folder.attrib['id'], name]) return self.render_response( 'select_layer.html', folders=folders, )