def getQgisTestApp(): """ Start one QGis application to test agaist Input NIL Output handle to qgis app If QGis is already running the handle to that app will be returned """ global QGISAPP # pylint: disable=W0603 if QGISAPP is None: myGuiFlag = True # All test will run qgis in gui mode QGISAPP = QgsApplication(sys.argv, myGuiFlag) if 'QGIS_PREFIX_PATH' in os.environ: myPath = os.environ['QGIS_PREFIX_PATH'] myUseDefaultPathFlag = True QGISAPP.setPrefixPath(myPath, myUseDefaultPathFlag) if sys.platform.startswith('darwin'): # override resource paths, otherwise looks for Resources in app if 'QGIS_MAC_PKGDATA_DIR' in os.environ: myPkgPath = os.environ['QGIS_MAC_PKGDATA_DIR'] QGISAPP.setPkgDataPath(myPkgPath) if 'QGIS_MAC_SVG_DIR' in os.environ: mySVGPath = os.environ['QGIS_MAC_SVG_DIR'] mySVGPaths = QGISAPP.svgPaths() # doesn't get rid of incorrect path, just adds correct one mySVGPaths.prepend(mySVGPath) QGISAPP.setDefaultSvgPaths(mySVGPaths) QGISAPP.initQgis() s = QGISAPP.showSettings() print s global PARENT # pylint: disable=W0603 if PARENT is None: PARENT = QtGui.QWidget() global CANVAS # pylint: disable=W0603 if CANVAS is None: CANVAS = QgsMapCanvas(PARENT) CANVAS.resize(QtCore.QSize(400, 400)) global IFACE # pylint: disable=W0603 if IFACE is None: # QgisInterface is a stub implementation of the QGIS plugin interface IFACE = QgisInterface(CANVAS) return QGISAPP, CANVAS, IFACE, PARENT