Source code for sirepo.template.myapp

# -*- coding: utf-8 -*-
u"""Myapp execution template.

:copyright: Copyright (c) 2017-2018 RadiaSoft LLC.  All Rights Reserved.
:license: http://www.apache.org/licenses/LICENSE-2.0.html
"""
from __future__ import absolute_import, division, print_function
from pykern import pkcollections
from pykern import pkio
from pykern import pkjinja
from pykern.pkdebug import pkdc, pkdp
from sirepo import simulation_db
from sirepo.template import template_common
import copy


SIM_TYPE = 'myapp'

INPUT_NAME = 'hundli.yml'

OUTPUT_NAME = 'hundli.csv'

_SCHEMA = simulation_db.get_schema(SIM_TYPE)


[docs]def fixup_old_data(data): for m in _SCHEMA.model: if m not in data.models: data.models[m] = pkcollections.Dict({}) template_common.update_model_defaults(data.models[m], m, _SCHEMA)
[docs]def get_data_file(run_dir, model, frame, options=None): f = run_dir.join(OUTPUT_NAME) return f.basename, f.read(), 'text/csv'
[docs]def lib_files(data, source_lib): return []
[docs]def python_source_for_model(data, model): return _generate_parameters_file(data)
[docs]def write_parameters(data, run_dir, is_parallel): pkio.write_text( run_dir.join(template_common.PARAMETERS_PYTHON_FILE), _generate_parameters_file(data), )
def _generate_parameters_file(data): if 'report' in data: assert data['report'] == 'heightWeightReport', \ 'unknown report: {}'.format(data['report']) v = copy.deepcopy(data['models'], pkcollections.Dict()) v.input_name = INPUT_NAME v.output_name = OUTPUT_NAME return template_common.render_jinja( SIM_TYPE, v, template_common.PARAMETERS_PYTHON_FILE, )