Example #1
0
 def preview(self):
     try:
         appdef = self.createAppDefinition(True)
     except WrongValueException:
         return
     problems = checkAppCanBeCreated(appdef)
     if problems:
         dlg = AppDefProblemsDialog(problems)
         dlg.exec_()
         if not dlg.ok:
             return
     try:
         folder = utils.tempFolderInTempFolder()
         self._run(
             lambda: createApp(appdef, True, folder, True, self.progress))
         path = "file:///" + folder.replace(
             "\\", "/") + "/webapp/index_debug.html"
         webbrowser.open_new(path)
     except WrongValueException:
         pass
     except:
         QgsMessageLog.logMessage(traceback.format_exc(),
                                  level=QgsMessageLog.CRITICAL)
         QMessageBox.critical(
             iface.mainWindow(), "Error creating web app",
             "Could not create web app.\nSee QGIS log for more details.")
Example #2
0
 def createApp(self):
     try:
         appdef = self.createAppDefinition()
         problems = checkAppCanBeCreated(appdef)
         if problems:
             dlg = AppDefProblemsDialog(problems)
             dlg.exec_()
             if not dlg.ok:
                 return
         folder = askForFolder(self, "Select folder to store app")
         if folder:
             if os.path.exists(os.path.join(folder, "webapp")):
                 ret = QMessageBox.warning(self, "Output folder", " The selected folder already contains a 'webapp' subfolder.\n"
                                     "Do you confirm that you want to overwrite it?",
                                     QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
                 if ret == QMessageBox.No:
                     return
             self._run(lambda: createApp(appdef, not self.checkBoxDeployData.isChecked(), folder, False, self.progress))
             box = QMessageBox()
             box.setWindowTitle("Web App Builder");
             box.setTextFormat(Qt.RichText)
             box.setText("Application files have been correctly generated.<br>"
                         "Use the  <a href='http://boundlessgeo.com/products/opengeo-suite/'> Boundless WebSDK </a> for building the final webapp from them.")
             box.exec_()
     except WrongValueException:
         pass
     except:
         QgsMessageLog.logMessage(traceback.format_exc(), level=QgsMessageLog.CRITICAL)
         QMessageBox.critical(iface.mainWindow(), "Error creating web app",
                              "Could not create web app.\nCheck the QGIS log for more details.")
 def preview(self):
     try:
         appdef = self.createAppDefinition(True)
     except WrongValueException:
         return
     problems = checkAppCanBeCreated(appdef)
     if problems:
         dlg = AppDefProblemsDialog(problems)
         dlg.exec_()
         if not dlg.ok:
             return
     try:
         folder = utils.tempFolderInTempFolder()
         self._run(lambda: createApp(appdef, True, folder, True, self.progress))
         path = "file:///" + folder.replace("\\","/") + "/webapp/index_debug.html"
         webbrowser.open_new(path)
     except WrongValueException:
         pass
     except:
         QgsMessageLog.logMessage(traceback.format_exc(), level=QgsMessageLog.CRITICAL)
         QMessageBox.critical(iface.mainWindow(), "Error creating web app",
                              "Could not create web app.\nSee QGIS log for more details.")
 def preview(self):
     try:
         appdef = self.createAppDefinition()
     except WrongValueException:
         return
     problems = checkAppCanBeCreated(appdef, True)
     if problems:
         dlg = AppDefProblemsDialog(problems)
         dlg.exec_()
         if not dlg.ok:
             return
     try:
         self.currentFolder = tempFolderInTempFolder("webappbuilder")
         pub.subscribe(self.endCreatePreviewListener,
                       utils.topics.endFunction)
         try:
             self._run(lambda: createApp(appdef, self.currentFolder, True,
                                         self.progress))
         except:
             QgsMessageLog.logMessage(traceback.format_exc(),
                                      level=QgsMessageLog.CRITICAL)
             self.endCreatePreviewListener(False, traceback.format_exc())
     except WrongValueException:
         pass
                        "Do you confirm that you want to overwrite it?",
                        QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
                    if ret == QMessageBox.No:
                        return

                # set buttons status
                self.setButtonsEnabled(
                    status=False, excludeList=[self.buttonCreateOrStopApp])
                self.createAppButtonText = self.buttonCreateOrStopApp.text()
                self.buttonCreateOrStopApp.setText(self.tr("Stop"))

                try:
                    pub.subscribe(self.endCreateAppListener,
                                  utils.topics.endFunction)
                    self.onCreatingApp = True
                    self._run(lambda: createApp(appdef, folder, False, self.
                                                progress))
                except Exception as ex:
                    self.endCreateAppListener(False, traceback.format_exc())

        except WrongValueException:
            pass

    def createAppDefinition(self):
        layers, groups = self.getLayersAndGroups()
        appdef = {}
        appdef["Settings"] = self.getSettings()
        appdef["Base layers"] = self.getBaseLayers()
        appdef["Layers"] = layers
        appdef["Groups"] = groups
        appdef["Widgets"] = self.getWidgets()