Пример #1
0
 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)
Пример #3
0
 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"
Пример #4
0
    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
Пример #6
0
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()

Пример #14
0
 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")
Пример #17
0
    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)