Esempio n. 1
0
def get_application_data(data):
    if data['method'] == 'calculate_bunch_parameters':
        return _calc_bunch_parameters(data['bunch'])
    if data['method'] == 'compute_particle_ranges':
        return template_common.compute_field_range(
            data, _compute_range_across_files)
    assert False, 'unknown application data method: {}'.format(data['method'])
Esempio n. 2
0
def get_application_data(data, **kwargs):
    if data.method == 'compute_particle_ranges':
        return template_common.compute_field_range(
            data, _compute_range_across_frames)
    if data.method == 'rpn_value':
        # accept array of values enclosed in curly braces
        if re.search(r'^\{.*\}$', data.value):
            data.result = ''
            return data
        v, err = _code_var(data.variables).eval_var(data.value)
        if err:
            data.error = err
        else:
            data.result = v
        return data
    if data.method == 'recompute_rpn_cache_values':
        _code_var(data.variables).recompute_cache(data.cache)
        return data
    if data.method == 'validate_rpn_delete':
        model_data = simulation_db.read_json(
            simulation_db.sim_data_file(SIM_TYPE, data.simulationId))
        data.error = _code_var(data.variables).validate_var_delete(
            data.name, model_data, _SCHEMA)
        return data
    raise AssertionError('unknown get_application_data: {}'.format(data))
Esempio n. 3
0
def get_application_data(data, **kwargs):
    if data.method == 'compute_particle_ranges':
        return template_common.compute_field_range(
            data, _compute_range_across_frames)
    if code_var(data.variables).get_application_data(data,
                                                     _SCHEMA,
                                                     ignore_array_values=True):
        return data
Esempio n. 4
0
def get_application_data(data):
    if data['method'] == 'get_elegant_sim_list':
        res = []
        for f in pkio.sorted_glob(_elegant_dir().join('*/', _ELEGANT_TWISS_PATH)):
            m = re.match(r'.*?/elegant/(.*?)/animation', str(f))
            if not m:
                continue
            id = m.group(1)
            name = simulation_db.read_json(_elegant_dir().join(id, '/', simulation_db.SIMULATION_DATA_FILE)).models.simulation.name
            res.append({
                'simulationId': id,
                'name': name,
            })
        return {
            'simList': res,
        }
    elif data['method'] == 'compute_particle_ranges':
        return template_common.compute_field_range(data, _compute_range_across_files)
    assert False, 'unknown application data method: {}'.format(data['method'])
Esempio n. 5
0
def get_application_data(data, **kwargs):
    if data.method == 'get_elegant_sim_list':
        tp = _SIM_DATA.jspec_elegant_twiss_path()
        res = []
        for f in pkio.sorted_glob(_SIM_DATA.jspec_elegant_dir().join('*',
                                                                     tp), ):
            assert str(f).endswith(tp)
            i = simulation_db.sid_from_compute_file(f)
            try:
                name = simulation_db.read_json(
                    simulation_db.sim_data_file('elegant',
                                                i), ).models.simulation.name
                res.append(PKDict(simulationId=i, name=name))
            except IOError:
                # ignore errors reading corrupted elegant sim files
                pass
        return {
            'simList': res,
        }
    elif data.method == 'compute_particle_ranges':
        return template_common.compute_field_range(
            data, _compute_range_across_files)
    assert False, 'unknown application data method={}'.format(data.method)
Esempio n. 6
0
def get_application_data(data, **kwargs):
    if data.method == 'compute_particle_ranges':
        return template_common.compute_field_range(
            data, _compute_range_across_frames)
    if data.method == 'tosca_info':
        return zgoubi_importer.tosca_info(data.tosca)
Esempio n. 7
0
def get_application_data(data):
    if data['method'] == 'compute_particle_ranges':
        return template_common.compute_field_range(
            data, _compute_range_across_frames)
Esempio n. 8
0
def get_application_data(data, **kwargs):
    if data.method == 'compute_particle_ranges':
        return template_common.compute_field_range(data, _compute_range_across_files)
    assert False, 'unknown application data method: {}'.format(data.method)