def __init__(self, data): self.attrib_map_builder = AttribMapBuilder() for attrib in data['attributes'].keys(): attrib_cfg = data['attributes'][attrib] evaluate = None if 'eval' in attrib_cfg: evaluate = attrib_cfg['eval'] conversion = Conversion(attrib, attrib_cfg['default'], attrib_cfg['format'], attrib_cfg['type'], evaluate=evaluate) self.attrib_map_builder.set_conversion(conversion) self.attrib_map_builder.date_format = data['dateFormat'] self.preamble = None self.postamble = None self.indent_start = data['indent'] self.depth_start = data['depth'] self.indent = data['indentString'] self.nodes = {k: Template(v) for (k, v) in data['nodes'].items()} self.date_format = data['dateFormat'] template_dir = os.environ['OFEXPORT_HOME'] + '/templates/' if 'preambleFile' in data: self.preamble = load_resource(template_dir, data['preambleFile']) elif 'preamble' in data: self.preamble = data['preamble'] if 'postambleFile' in data: self.postamble = load_resource(template_dir, data['postambleFile']) elif 'postamble' in data: self.postamble = data['postamble']
def test_build_attribute_map(self): builder = AttribMapBuilder() values = builder.get_values(Task(name="123")) self.assertEqual("123", values["name"])