Exemple #1
0
def main():
    """
    Program entry point.
    """

    args = process_args()

    print('Parsing and resolving model: ' + args.lems_file)
    model = Model()
    if args.I is not None:
        for dir in args.I:
            model.add_include_directory(dir)
    model.import_from_file(args.lems_file)

    resolved_model = model.resolve()

    print('Building simulation')
    sim = SimulationBuilder(resolved_model).build()
    #sim.dump("Afterbuild:")

    if args.dlems:
        print('Exporting as: ' + dlems_info)

        from lems.dlems.exportdlems import export_component

        target = model.targets[0]

        sim_comp = model.components[target]

        target_net = sim_comp.parameters['target']

        target_comp = model.components[target_net]

        dlems_file_name = args.lems_file.replace('.xml', '.json')
        if dlems_file_name == args.lems_file:
            dlems_file_name = args.lems_file + '.json'

        if target_comp.type == 'network':

            for child in target_comp.children:

                if child.type == 'population':

                    comp = model.components[child.parameters['component']]

                    export_component(model,
                                     comp,
                                     sim_comp,
                                     child.id,
                                     file_name=dlems_file_name)
        else:
            export_component(model, sim_comp, target_comp)

    else:
        print('Running simulation')
        sim.run()

        process_simulation_output(sim, args)
Exemple #2
0
    model_file = sys.argv[2]

try:
    print 'Parsing model file'
    parser = LEMSParser()
    parser.init_parser()
    parser.parse_file(model_file)
    model = parser.get_model()
    #print model

    print 'Resolving model'
    model.resolve_model()
    #print model

    print 'Building simulation'
    sim = SimulationBuilder(model).build()

except ParseError as e:
    print 'Caught ParseError - ' + str(e)
except ModelError as e:
    print 'Caught ModelError - ' + str(e)
except SimBuildError as e:
    print 'Caught SimBuildError - ' + str(e)
except SimError as e:
    print 'Caught SimError - ' + str(e)

#sys.exit(0)
try:
    print 'Parsing model file'
    parser = LEMSParser()
    parser.init_parser()