def createApp(appdef, deployData, folder, progress): checkAppCanBeCreated(appdef) if deployData: usesGeoServer = False usesPostgis = False layers = appdef["Layers"] for layer in layers: if layer.method != utils.METHOD_FILE: if layer.layer.type() == layer.layer.VectorLayer and layer.layer.providerType().lower() != "wfs": usesPostgis = True usesGeoServer = True elif layer.layer.type() == layer.layer.RasterLayer and layer.layer.providerType().lower() != "wms": usesGeoServer = True if usesPostgis: importPostgis(appdef, progress) if usesGeoServer: publishGeoserver(appdef, progress) writeOL(appdef, folder, deployData, progress) files = [os.path.join(folder, "layers/layers.js"), os.path.join(folder, "index.js")] for root, dirs, fs in os.walk(os.path.join(folder, "styles")): for f in fs: if f.endswith("js"): files.append(os.path.join(root, f)) for path in files: try: beauty = jsbeautifier.beautify_file(path) with open(path, "w") as f: f.write(beauty) except: pass #jsbeautifier gives some random errors sometimes due to imports projFile = QgsProject.instance().fileName() if projFile: appdefFile = projFile + ".appdef" saveAppdef(appdef, appdefFile)
def update(self): self.preview.settings().clearMemoryCaches() layers, groups, popup, visible = self.getLayersAndGroups() params = self.getParameters() writeOL(layers, groups, popup, visible, params, utils.tempFolder()) self.preview.setUrl(QUrl(self.tempIndexFile())) self.labelPreview.setText('Preview <a href="open">Open in external browser</a>')
def update(self): self.preview.settings().clearMemoryCaches() layers, groups, popup, visible = self.getLayersAndGroups() params = self.getParameters() writeOL(layers, groups, popup, visible, params, utils.tempFolder()) self.preview.setUrl(QUrl(self.tempIndexFile())) self.labelPreview.setText( 'Preview <a href="open">Open in external browser</a>' )
def save(self): folder = QFileDialog.getExistingDirectory(self, "Save to directory", None, QFileDialog.ShowDirsOnly | QFileDialog.DontResolveSymlinks); if folder: layers, groups, popup, visible = self.getLayersAndGroups() params = self.getParameters() writeOL(layers, groups, popup, visible, params, folder) reply = QMessageBox.question(self, "OL3 map correctly exported", "Do you want to open the resulting map in a web browser?", QMessageBox.Yes | QMessageBox.No) if reply == QMessageBox.Yes: webbrowser.open_new_tab(os.path.join(folder, "index.html"))
def save(self): folder = QFileDialog.getExistingDirectory( self, "Save to directory", None, QFileDialog.ShowDirsOnly | QFileDialog.DontResolveSymlinks) if folder: layers, groups, popup, visible = self.getLayersAndGroups() params = self.getParameters() writeOL(layers, groups, popup, visible, params, folder) reply = QMessageBox.question( self, "OL3 map correctly exported", "Do you want to open the resulting map in a web browser?", QMessageBox.Yes | QMessageBox.No) if reply == QMessageBox.Yes: webbrowser.open_new_tab(os.path.join(folder, "index.html"))
def saveOL(self): params = self.getParameters() folder = params["Data export"]["Export folder"] if folder: layers, groups, popup, visible, json, cluster, labels = self.getLayersAndGroups() outputFile = writeOL(self.iface, layers, groups, popup, visible, json, cluster, labels, params, folder) webbrowser.open_new_tab(outputFile)
def previewOL3(self): self.preview.settings().clearMemoryCaches() layers, groups, popup, visible, json, cluster, labels = self.getLayersAndGroups() params = self.getParameters() previewFile = writeOL(self.iface, layers, groups, popup, visible, json, cluster, labels, params, utils.tempFolder()) self.preview.setUrl(QUrl.fromLocalFile(previewFile)) self.labelPreview.setText('Preview <a href="open">Open in external browser</a>')
def previewOL3(self): self.preview.settings().clearMemoryCaches() (layers, groups, popup, visible, json, cluster) = self.getLayersAndGroups() params = self.getParameters() previewFile = writeOL(self.iface, layers, groups, popup, visible, json, cluster, params, utils.tempFolder()) self.preview.setUrl(QUrl.fromLocalFile(previewFile))
def saveOL(self): params = self.getParameters() folder = params["Data export"]["Export folder"] if folder: (layers, groups, popup, visible, json, cluster) = self.getLayersAndGroups() outputFile = writeOL(self.iface, layers, groups, popup, visible, json, cluster, params, folder) webbrowser.open_new_tab(outputFile)
def saveOL(self): params = self.getParameters() folder = params["Data export"]["Export folder"] if folder: (layers, groups, popup, visible, json, cluster) = self.getLayersAndGroups() outputFile = writeOL(self.iface, layers, groups, popup, visible, json, cluster, params, folder) if (not os.environ.get('CI') and not os.environ.get('TRAVIS')): webbrowser.open_new_tab(outputFile)
def createApp(appdef, deployData, folder, progress): checkAppCanBeCreated(appdef) if deployData: usesGeoServer = False usesPostgis = False layers = appdef["Layers"] for layer in layers: if layer.method != utils.METHOD_FILE: if layer.layer.type( ) == layer.layer.VectorLayer and layer.layer.providerType( ).lower() != "wfs": usesPostgis = True usesGeoServer = True elif layer.layer.type( ) == layer.layer.RasterLayer and layer.layer.providerType( ).lower() != "wms": usesGeoServer = True if usesPostgis: importPostgis(appdef, progress) if usesGeoServer: publishGeoserver(appdef, progress) writeOL(appdef, folder, deployData, progress) files = [ os.path.join(folder, "layers/layers.js"), os.path.join(folder, "index.js") ] for root, dirs, fs in os.walk(os.path.join(folder, "styles")): for f in fs: if f.endswith("js"): files.append(os.path.join(root, f)) for path in files: try: beauty = jsbeautifier.beautify_file(path) with open(path, "w") as f: f.write(beauty) except: pass #jsbeautifier gives some random errors sometimes due to imports projFile = QgsProject.instance().fileName() if projFile: appdefFile = projFile + ".appdef" saveAppdef(appdef, appdefFile)