def __getEc2PrivateIpv4s(self, additionalVariables): try: dir = File(self.__basedir) dir = dir.getParentFile().getParentFile().getParentFile() fileReader = FileReader(File(dir, "engine-session.properties")) props = Properties() props.load(fileReader) ec2PrivateIpv4s = props.getProperty("ec2PrivateIpv4s") if ec2PrivateIpv4s: ipList = ec2PrivateIpv4s.split() logger.info("Ec2 Private IPv4s:" + list2str(ipList)) engineInstance = getVariableValue("ENGINE_INSTANCE") engineInstance = int(engineInstance) if len(ipList) > engineInstance: self.__dockerHostIp = ipList[engineInstance] logger.info("Setting DOCKER_HOST_IP:" + self.__dockerHostIp) additionalVariables.add( RuntimeContextVariable( "DOCKER_HOST_IP", self.__dockerHostIp, RuntimeContextVariable.STRING_TYPE, "Docker Host IP", False, RuntimeContextVariable.NO_INCREMENT)) else: self.__dockerHostIp = getVariableValue("LISTEN_ADDRESS") additionalVariables.add( RuntimeContextVariable( "DOCKER_HOST_IP", self.__dockerHostIp, RuntimeContextVariable.STRING_TYPE, "Docker Host IP", False, RuntimeContextVariable.NO_INCREMENT)) except: type, value, traceback = sys.exc_info() logger.warning("read engine session properties error:" + ` value `)
def restoreJSystemProperties(self): if self.userDir is None: return orig = File(self.userDir, "jsystem.properties") back = File(orig.getParentFile(), "jsystem.properties.back") FileUtils.copyFile(back, orig)
def test_image_example_dir_iteration(self): f = File(str(inspect.getfile( inspect.currentframe() ))) example_dir = File(File(f.getParentFile().getParentFile().getParentFile(),"character_examples"),"A") image_example_dir = ImageExampleDir(example_dir.getCanonicalPath()) for label, image in image_example_dir: if label != "A": raise "The label of the examples in this dir should be A"
def setUp(self): if not os.path.exists(self._execution_dir): os.makedirs(self._execution_dir) wlst_dir = File(System.getProperty('unit-test-wlst-dir')) self._oracle_home = wlst_dir.getParentFile().getParentFile( ).getParentFile().getCanonicalPath() return
def get_example_image(self): f = File(str(inspect.getfile(inspect.currentframe()))) example_dir = File( File(f.getParentFile().getParentFile().getParentFile(), "character_examples"), "A") image_example_dir = ImageExampleDir(example_dir.getCanonicalPath()) label, image = image_example_dir.__iter__().next() return image
def save_session(req,remember,session_dir,**kwargs): session=JsonObject() id=str(uuid.uuid1()) session.putString("id", id) for name,value in kwargs.iteritems(): session.putString(name, value) print("remember = "+remember) cookie = 'mvcx.sessionID=%s' % id.strip() if remember=="1": cookie += ";max-age=864000" req.response.put_header('set-cookie', cookie) session_file=File("%s/%s.json" % (session_dir,id)) print("session_path:"+str(session_file.getAbsolutePath())) session_file.getParentFile().mkdirs() Files.write(str(session),session_file)
def test_extract_label_examples_tuples_for_library(self): extractor = SimpleImageFeatureExtractor(nr_of_divisions=7, size_classification_factor=1.3) f = File(str(inspect.getfile( inspect.currentframe() ))) library_path = File(f.getParentFile().getParentFile().getParentFile(), "character_examples").getCanonicalPath() training_examples = extractor.extract_label_examples_tuples_for_library(library_path) print("test_extract_label_examples_tuples_for_library") print(training_examples)
def test_extract_label_examples_tuples_for_library(self): extractor = SimpleImageFeatureExtractor(nr_of_divisions=7, size_classification_factor=1.3) f = File(str(inspect.getfile(inspect.currentframe()))) library_path = File(f.getParentFile().getParentFile().getParentFile(), "character_examples").getCanonicalPath() training_examples = extractor.extract_label_examples_tuples_for_library( library_path) print("test_extract_label_examples_tuples_for_library") print(training_examples)
def test_extract_feature_strings_for_dir(self): extractor = SimpleImageFeatureExtractor(nr_of_divisions=7, size_classification_factor=1.3) f = File(str(inspect.getfile(inspect.currentframe()))) example_dir_path = File( File(f.getParentFile().getParentFile().getParentFile(), "character_examples"), "A").getCanonicalPath() training_examples, test_examples = extractor.extract_feature_strings_for_dir( example_dir_path, nr_of_training_examples=90, nr_of_test_examples=10) if len(training_examples) == 90 and len(test_examples) == 10: pass else: raise "wrong number in retuned list" print("test_extract_feature_strings_for_dir") print(training_examples, test_examples)
def test_extract_feature_strings_for_dir(self): extractor = SimpleImageFeatureExtractor(nr_of_divisions=7, size_classification_factor=1.3) f = File(str(inspect.getfile( inspect.currentframe() ))) example_dir_path = File(File(f.getParentFile().getParentFile().getParentFile(), "character_examples"), "A").getCanonicalPath() training_examples,test_examples = extractor.extract_feature_strings_for_dir( example_dir_path, nr_of_training_examples=90, nr_of_test_examples=10) if len(training_examples)==90 and len(test_examples) == 10: pass else: raise "wrong number in retuned list" print("test_extract_feature_strings_for_dir") print(training_examples,test_examples )
def use_jar(fname, root=__file__, isglobal=False): from org.gvsig.scripting import ScriptingLocator from java.io import File import sys import os if isinstance(fname, File): f = fname fname = f.getPath() else: f = File(fname) if not f.isAbsolute(): rf = File(root) if rf.isFile(): rf = rf.getParentFile() f = File(rf, fname) fname = f.getCanonicalPath() use_libs(fname, isglobal=isglobal)
def __getEc2PrivateIpv4s(self, additionalVariables): try: dir = File(self.__basedir) dir = dir.getParentFile().getParentFile().getParentFile() fileReader = FileReader(File(dir, "engine-session.properties" )) props = Properties() props.load(fileReader) ec2PrivateIpv4s = props.getProperty("ec2PrivateIpv4s") if ec2PrivateIpv4s: ipList = ec2PrivateIpv4s.split() logger.info("Ec2 Private IPv4s:" + list2str(ipList)) engineInstance = getVariableValue("ENGINE_INSTANCE") engineInstance = int(engineInstance) if len(ipList) > engineInstance: self.__dockerHostIp = ipList[engineInstance] logger.info("Setting DOCKER_HOST_IP:" +self.__dockerHostIp) additionalVariables.add(RuntimeContextVariable("DOCKER_HOST_IP", self.__dockerHostIp, RuntimeContextVariable.STRING_TYPE, "Docker Host IP", False, RuntimeContextVariable.NO_INCREMENT)) else: self.__dockerHostIp = getVariableValue("LISTEN_ADDRESS") additionalVariables.add(RuntimeContextVariable("DOCKER_HOST_IP", self.__dockerHostIp , RuntimeContextVariable.STRING_TYPE, "Docker Host IP", False, RuntimeContextVariable.NO_INCREMENT)) except: type, value, traceback = sys.exc_info() logger.warning("read engine session properties error:" + `value`)
for maxElecLenIndex in range(0,len(maxElecLens)): maxElecLen = maxElecLens[maxElecLenIndex] for sim in simulators: recompSuffix = "_"+str(maxElecLen) simRefPrefix = (simAllPrefix+simConfigName+"_").replace(' ', '') simRef = simRefPrefix+"_"+sim+recompSuffix simDir = File(projFile.getParentFile(), "/simulations/"+simRef) timeFile = File(simDir, "time.dat") if not timeFile.exists(): print "\n------- Error loading data from simulation in directory: %s\n"%simDir.getCanonicalPath() else: if verbose: print "--- Reloading data from simulation in directory: %s"%simDir.getCanonicalPath() time.sleep(1) # wait a while... try: simData = SimulationData(simDir) simData.initialise() times = simData.getAllTimes()
def __getHistoryFile(self): f = File(System.getProperty("user.home"), ".fascinator/blog/history.txt") if not f.exists(): f.getParentFile().mkdirs() return f
def get_example_image(self): f = File(str(inspect.getfile( inspect.currentframe() ))) example_dir = File(File(f.getParentFile().getParentFile().getParentFile(),"character_examples"),"A") image_example_dir = ImageExampleDir(example_dir.getCanonicalPath()) label, image = image_example_dir.__iter__().next() return image
def SingleCellNML2generator(projString=" ",ConfigDict={},ElecLenList=[],somaNseg=None,savingDir=None,shell=None): projFile=File(os.getcwd(),projString) pm=ProjectManager() for config in ConfigDict.keys(): project=pm.loadProject(projFile) nmlfm = NeuroMLFileManager(project) compSummary={} compSummary[config]={} if " " in config: configPath=config.replace(" ","_") else: configPath=config if savingDir !=None: full_path_to_config=r'../%s/%s'%(savingDir,configPath) else: full_path_to_config=r'../%s'%(configPath) for maxElecLen in ElecLenList: compSummary[config][str(maxElecLen)]={} cell=project.cellManager.getCell(ConfigDict[config]) if maxElecLen > 0: info = CellTopologyHelper.recompartmentaliseCell(cell, maxElecLen, project) print "Recompartmentalising cell %s"%ConfigDict[config] if somaNseg != None: cell.getSegmentWithId(0).getSection().setNumberInternalDivisions(somaNseg) if savingDir !=None: cellpath = r'../%s/%s/%s_%f'%(savingDir,configPath,configPath,maxElecLen) else: cellpath = r'../%s/%s_%f'%(configPath,configPath,maxElecLen) else: if savingDir !=None: cellpath = r'../%s/%s/%s_default'%(savingDir,configPath,configPath) else: cellpath = r'../%s/%s_default'%(configPath,configPath) summary=str(cell.getMorphSummary()) summary_string=summary.split("_") for feature in summary_string: feature_split=feature.split(":") compSummary[config][str(maxElecLen)][feature_split[0]]=feature_split[1] # the format of summary : Segs:122_Secs:61_IntDivs:1458 print("Will be printing a cell morphology summary") print compSummary[config][str(maxElecLen)] ######### it turns out that this does not save recompartmentalized cells - all saved cells have identical spatial discretization; ##### generateNeuroML2 receives the parent projFile but not the loaded project which is modified by the CellTopologyHelper.recompartmentaliseCell() ##################### neuroConstruct block ############################################################################# neuroConstructSeed=1234 verbose=True pm.doGenerate(config, neuroConstructSeed) while pm.isGenerating(): if verbose: print("Waiting for the project to be generated with Simulation Configuration: "+config) time.sleep(5) simConfig = project.simConfigInfo.getSimConfig(config) seed=1234 genDir = File(projFile.getParentFile(), "generatedNeuroML2") nmlfm.generateNeuroMLFiles(simConfig, NeuroMLConstants.NeuroMLVersion.getLatestVersion(), LemsConstants.LemsOption.LEMS_WITHOUT_EXECUTE_MODEL, OriginalCompartmentalisation(), seed, False, True, genDir, "GENESIS Physiological Units", False) ######################################################################################################################## if not os.path.exists(cellpath): print("Creating a new directory %s"%cellpath) os.makedirs(cellpath) else: print("A directory %s already exists"%cellpath) src_files = os.listdir("../../neuroConstruct/generatedNeuroML2/") for file_name in src_files: full_file_name = os.path.join("../../neuroConstruct/generatedNeuroML2/", file_name) if (os.path.isfile(full_file_name)): print("Moving generated NeuroML2 to files to %s"%cellpath) shutil.copy(full_file_name, cellpath) with open(os.path.join(full_path_to_config,"compSummary.json"),'w') as fout: json.dump(compSummary, fout) if shell ==None: extension='sh' else: extension=shell os.chdir("../../neuroConstruct/pythonScripts") subprocess.call("%s/nC.%s -python ../../neuroConstruct/pythonScripts/RegenerateNml2.py -f"%(os.environ["NC_HOME"],extension),shell=True) os.chdir("../../NeuroML2/pythonScripts")
totNumSpikes = -1 for maxElecLenIndex in range(0, len(maxElecLens)): maxElecLen = maxElecLens[maxElecLenIndex] for sim in simulators: recompSuffix = "_" + str(maxElecLen) simRefPrefix = (simAllPrefix + simConfigName + "_").replace( ' ', '') simRef = simRefPrefix + "_" + sim + recompSuffix simDir = File(projFile.getParentFile(), "/simulations/" + simRef) timeFile = File(simDir, "time.dat") if not timeFile.exists(): print "\n------- Error loading data from simulation in directory: %s\n" % simDir.getCanonicalPath( ) else: if verbose: print "--- Reloading data from simulation in directory: %s" % simDir.getCanonicalPath( ) time.sleep(1) # wait a while... try: simData = SimulationData(simDir) simData.initialise() times = simData.getAllTimes()
def backupJSystemProperties(self): self.userDir = self.jsystem.getUserDir() orig = File(self.userDir, "jsystem.properties") back = File(orig.getParentFile(), "jsystem.properties.back") FileUtils.copyFile(orig, back)
def SingleCellNML2generator(projString=" ", ConfigDict={}, ElecLenList=[], somaNseg=None, savingDir=None): projFile = File(os.getcwd(), projString) pm = ProjectManager() compSummary = {} for config in ConfigDict.keys(): project = pm.loadProject(projFile) nmlfm = NeuroMLFileManager(project) compSummary[config] = {} if " " in config: configPath = config.replace(" ", "_") else: configPath = config for maxElecLen in ElecLenList: compSummary[config][str(maxElecLen)] = {} cell = project.cellManager.getCell(ConfigDict[config]) if maxElecLen > 0: info = CellTopologyHelper.recompartmentaliseCell( cell, maxElecLen, project) print "Recompartmentalising cell %s" % ConfigDict[config] if somaNseg != None: cell.getSegmentWithId( 0).getSection().setNumberInternalDivisions(somaNseg) if savingDir != None: cellpath = r'../../NeuroML2/%s/%s/%s_%f' % ( savingDir, configPath, configPath, maxElecLen) else: cellpath = r'../../NeuroML2/%s/%s_%f' % ( configPath, configPath, maxElecLen) else: if savingDir != None: cellpath = r'../../NeuroML2/%s/%s/%s_default' % ( savingDir, configPath, configPath) else: cellpath = r'../../NeuroML2/%s/%s_default' % (configPath, configPath) summary = str(cell.getMorphSummary()) summary_string = summary.split("_") for feature in summary_string: feature_split = feature.split(":") compSummary[config][str(maxElecLen)][ feature_split[0]] = feature_split[1] # the format of summary : Segs:122_Secs:61_IntDivs:1458 print("Will be printing a cell morphology summary") print compSummary[config][str(maxElecLen)] ######### it turns out that this does not save recompartmentalized cells - all saved cells have identical spatial discretization; ##### generateNeuroML2 receives the parent projFile but not the loaded project which is modified by the CellTopologyHelper.recompartmentaliseCell() ##################### neuroConstruct block ############################################################################# neuroConstructSeed = 1234 verbose = True pm.doGenerate(config, neuroConstructSeed) while pm.isGenerating(): if verbose: print( "Waiting for the project to be generated with Simulation Configuration: " + config) time.sleep(5) simConfig = project.simConfigInfo.getSimConfig(config) seed = 1234 genDir = File(projFile.getParentFile(), "generatedNeuroML2") nmlfm.generateNeuroMLFiles( simConfig, NeuroMLConstants.NeuroMLVersion.getLatestVersion(), LemsConstants.LemsOption.LEMS_WITHOUT_EXECUTE_MODEL, OriginalCompartmentalisation(), seed, False, True, genDir, "GENESIS Physiological Units", False) ######################################################################################################################## if not os.path.exists(cellpath): print("Creating a new directory %s" % cellpath) os.makedirs(cellpath) else: print("A directory %s already exists" % cellpath) src_files = os.listdir("../generatedNeuroML2/") for file_name in src_files: full_file_name = os.path.join("../generatedNeuroML2/", file_name) if (os.path.isfile(full_file_name)): print("Moving generated NeuroML2 to files to %s" % cellpath) shutil.copy(full_file_name, cellpath) #with open("compSummary.json",'w') as fout: #json.dump(compSummary, fout) subprocess.call(["~/neuroConstruct/nC.sh -python RegenerateNml2.py -f"], shell=True) #subprocess.call(["cp compSummary.json ~/Thalamocortical/NeuroML2/"],shell=True) quit()
def _update_server(self, name, dictionary, config_location): _method_name = '_update_server' # these imports are local, since they are only present in JRF environments. # this method is only called after that check has been made. from oracle.core.ojdl.weblogic.ODLConfiguration import CONFIG_DIR from oracle.core.ojdl.weblogic.ODLConfiguration import CONFIG_FILE from oracle.core.ojdl.logging.config import LoggingConfigurationDocument config_dir = File(self.model_context.get_domain_home(), CONFIG_DIR) server_dir = File(config_dir, name) config_file = File(server_dir, CONFIG_FILE) log_template_dir = config_dir.getParentFile() try: if config_file.exists(): source_file = config_file FileUtils.validateWritableFile(config_file.getPath()) else: # for dynamic servers, the logging config does not exist until the server is started. # read the from template file, verify that the server directory is present and writable. source_file = File(log_template_dir, LOGGING_TEMPLATE_FILE) FileUtils.validateExistingFile(source_file) if not server_dir.exists() and not server_dir.mkdirs(): ex = exception_helper.create_deploy_exception( 'WLSDPLY-19710', server_dir) self.logger.throwing(ex, class_name=self.__class_name, method_name=_method_name) raise ex FileUtils.validateWritableDirectory(server_dir.getPath()) document = LoggingConfigurationDocument( FileInputStream(source_file)) # configure AddJvmNumber add_jvm_number = dictionary_utils.get_element( dictionary, _ADD_JVM_NUMBER) if add_jvm_number is not None: document.setAddJvmNumber( alias_utils.convert_boolean(add_jvm_number)) # configure HandlerDefaults handler_defaults = dictionary_utils.get_dictionary_element( dictionary, _HANDLER_DEFAULTS) if handler_defaults is not None: for key in handler_defaults: value = handler_defaults[key] document.setHandlerDefault(key, _get_property_text(value)) # configure Handlers # do these before loggers, in case new handlers are assigned to loggers existing_handler_names = document.getHandlerNames() handlers = dictionary_utils.get_dictionary_element( dictionary, _HANDLER) if handlers is not None: for handler_name in handlers: handler = handlers[handler_name] self._configure_handler(handler_name, handler, document, existing_handler_names, config_location) # configure Loggers existing_logger_names = document.getLoggerNames() loggers = dictionary_utils.get_dictionary_element( dictionary, _LOGGER) if loggers is not None: for logger_name in loggers: logger = loggers[logger_name] self._configure_logger(logger_name, logger, document, existing_logger_names, config_location) document.writeDocument(FileOutputStream(config_file)) except (ParserConfigurationException, SAXException, IOException, IllegalArgumentException), ex: self.logger.severe('WLSDPLY-19707', name, ex.getLocalizedMessage(), class_name=self.__class_name, method_name=_method_name)