def createH2Store(self): foldersManager = ToolsLocator.getFoldersManager() f = foldersManager.getUniqueTemporaryFile( "arena2_import.db").getAbsolutePath() pathnamedb = f[:-3] dataManager = DALLocator.getDataManager() serverParameters = dataManager.createServerExplorerParameters( "H2Spatial") serverParameters.setDynValue("database_file", pathnamedb) serverExplorer = dataManager.openServerExplorer( "H2Spatial", serverParameters) storeparams = serverExplorer.getAddParameters() storeparams.setTable("issues") eft = storeparams.getDefaultFeatureType() eft.setLabel("Incidencias importacion ARENA2") eft.setHasOID(False) eft.add("ID", 'STRING', 40).setHidden(True).setIsPrimaryKey(True) eft.add("SELECTED", "BOOLEAN").setLabel("Importar").getTags().set( "editable", True) eft.add("ID_ACCIDENTE", "STRING", 20).setLabel("Cod.accidente").getTags().set("editable", False) eft.get("ID_ACCIDENTE").setIsIndexed(True) eft.get("ID_ACCIDENTE").setAllowIndexDuplicateds(True) eft.add("ERRCODE", "INTEGER").setAvailableValues( self.__buildAvailableValues()).setLabel("Cod.error").getTags().set( "editable", False) eft.add("DESCRIPTION", "STRING", 1000).setLabel("Descripcion").getTags().set("editable", False) eft.add("FIXERID", "STRING", 45).setHidden(True).setLabel("FixerID").getTags().set( "editable", False) for attr in self.__importManager.getReportAttributes(): if attr.getSize() == None: desc = eft.add(attr.getName(), attr.getTypeName()) else: desc = eft.add(attr.getName(), attr.getTypeName(), attr.getSize()) desc.setAvailableValues(attr.getAvailableValues()) desc.getTags().set("editable", attr.isEditable()) desc.setLabel(attr.getLabel()) #trace("Create ISSUES store: %s, size=%s, label=%r, editable=%s, values=%s" % (attr.getName(), attr.getSize(), attr.getLabel(), attr.isEditable(), attr.getAvailableValues())) serverExplorer.add("H2Spatial", storeparams, False) store = dataManager.openStore("H2Spatial", serverExplorer.get("issues")) self.__ftype = store.getDefaultFeatureType() self.__issues_list = None serverExplorer.dispose() return store
def end(self): if self._script == None: return folderManager = ToolsLocator.getFoldersManager() folderManager.createTemporaryFolder() t = time.time() script = self._script.getvalue() scriptFileName = folderManager.createTemporaryFile( "rtest-%08x.r" % t, script) self._child = subprocess.Popen( [self.getRExecPathname(), "-f", scriptFileName.getAbsolutePath()], stdout=subprocess.PIPE, stderr=subprocess.PIPE) for i in self._child.stdout: self.console_output(i) self._child = None rlib_base.REngine_base.end(self)