def testComposition(self, page=0, pixelDiff=0): if self.mComposition is None: myMessage = "Composition not valid" return False, myMessage # load expected image self.setControlName("expected_" + self.mTestName) # get width/height, create image and render the composition to it outputImage = QImage(self.mSize, QImage.Format_RGB32) self.mComposition.setPlotStyle(QgsComposition.Print) outputImage.setDotsPerMeterX(self.mDotsPerMeter) outputImage.setDotsPerMeterY(self.mDotsPerMeter) QgsMultiRenderChecker.drawBackground(outputImage) p = QPainter(outputImage) self.mComposition.renderPage(p, page) p.end() renderedFilePath = QDir.tempPath() + QDir.separator() + QFileInfo(self.mTestName).baseName() + "_rendered.png" outputImage.save(renderedFilePath, "PNG") self.setRenderedImage(renderedFilePath) testResult = self.runTest(self.mTestName, pixelDiff) return testResult, self.report()
def testComposition(self, page=0, pixelDiff=0): if self.mComposition is None: myMessage = "Composition not valid" return False, myMessage # load expected image self.setControlName("expected_" + self.mTestName) # get width/height, create image and render the composition to it outputImage = QImage(self.mSize, QImage.Format_RGB32) self.mComposition.setPlotStyle(QgsComposition.Print) outputImage.setDotsPerMeterX(self.mDotsPerMeter) outputImage.setDotsPerMeterY(self.mDotsPerMeter) QgsMultiRenderChecker.drawBackground(outputImage) p = QPainter(outputImage) self.mComposition.renderPage(p, page) p.end() renderedFilePath = QDir.tempPath() + QDir.separator() + QFileInfo( self.mTestName).baseName() + "_rendered.png" outputImage.save(renderedFilePath, "PNG") self.setRenderedImage(renderedFilePath) testResult = self.runTest(self.mTestName, pixelDiff) return testResult, self.report()
def requestFinished(self): reply = self.sender() self.buttonBox.setEnabled(False) if reply.error() != QNetworkReply.NoError: self.mResult = reply.errorString() if reply.error() == QNetworkReply.OperationCanceledError: self.mResult += "<br/><br/>" + QCoreApplication.translate( "QgsPluginInstaller", "If you haven't cancelled the download manually, it might be caused by a timeout. In this case consider increasing the connection timeout value in QGIS options." ) self.reject() reply.deleteLater() return self.file.open(QFile.WriteOnly) self.file.write(reply.readAll()) self.file.close() self.stateChanged(0) reply.deleteLater() pluginDir = qgis.utils.home_plugin_path tmpPath = self.file.fileName() # make sure that the parent directory exists if not QDir(pluginDir).exists(): QDir().mkpath(pluginDir) # if the target directory already exists as a link, remove the link without resolving: QFile(pluginDir + unicode(QDir.separator()) + self.plugin["id"]).remove() try: unzip( unicode(tmpPath), unicode(pluginDir) ) # test extract. If fails, then exception will be raised and no removing occurs # removing old plugin files if exist removeDir(QDir.cleanPath( pluginDir + "/" + self.plugin["id"])) # remove old plugin if exists unzip(unicode(tmpPath), unicode(pluginDir)) # final extract. except: self.mResult = self.tr( "Failed to unzip the plugin package. Probably it's broken or missing from the repository. You may also want to make sure that you have write permission to the plugin directory:" ) + "\n" + pluginDir self.reject() return try: # cleaning: removing the temporary zip file QFile(tmpPath).remove() except: pass self.close()
def requestFinished(self): reply = self.sender() self.buttonBox.setEnabled(False) if reply.error() != QNetworkReply.NoError: self.mResult = reply.errorString() if reply.error() == QNetworkReply.OperationCanceledError: self.mResult += "<br/><br/>" + QCoreApplication.translate("QgsPluginInstaller", "If you haven't cancelled the download manually, it might be caused by a timeout. In this case consider increasing the connection timeout value in QGIS options.") self.reject() reply.deleteLater() return self.file.open(QFile.WriteOnly) self.file.write(reply.readAll()) self.file.close() self.stateChanged(0) reply.deleteLater() pluginDir = qgis.utils.home_plugin_path tmpPath = self.file.fileName() # make sure that the parent directory exists if not QDir(pluginDir).exists(): QDir().mkpath(pluginDir) # if the target directory already exists as a link, remove the link without resolving: QFile(pluginDir + unicode(QDir.separator()) + self.plugin["id"]).remove() try: unzip(unicode(tmpPath), unicode(pluginDir)) # test extract. If fails, then exception will be raised and no removing occurs # removing old plugin files if exist removeDir(QDir.cleanPath(pluginDir + "/" + self.plugin["id"])) # remove old plugin if exists unzip(unicode(tmpPath), unicode(pluginDir)) # final extract. except: self.mResult = self.tr("Failed to unzip the plugin package. Probably it's broken or missing from the repository. You may also want to make sure that you have write permission to the plugin directory:") + "\n" + pluginDir self.reject() return try: # cleaning: removing the temporary zip file QFile(tmpPath).remove() except: pass self.close()
def getOutputFileName(self): if self.useDirAsOutput: if self.outSelector.filename(): return self.outSelector.filename() + QDir.separator( ) + "contour.shp" return self.outSelector.filename()
def getOutputFileName(self): if self.useDirAsOutput: if self.outSelector.filename(): return self.outSelector.filename() + QDir.separator() + "contour.shp" return self.outSelector.filename()