class EscdfFortranModule(object): def __init__(self, group, yaml_doc, template=None): # Init self.group = group self.specs = EscdfSpecs(self.group, yaml_doc) if template: self.template = EscdfTemplate(template) else: self.template = EscdfTemplate(f03_mod_default) # Build Fortran interfaces f03_interfaces = [] for elem in self.specs.get_elements(): spec = self.specs.get_spec(elem) for action in ["read", "write"]: spec["action"] = action f03_interfaces.append("%s" % EscdfFortranInterface(spec)) # Substitute patterns self.patterns = {} self.patterns["group"] = self.group self.patterns["interfaces"] = "\n".join(f03_interfaces) self.f03_module = self.template.substitute(self.patterns) def __str__(self): return self.f03_module
def test_get_spec_sets_name(self): specs = EscdfSpecs("basic", escdf_basic_specs) assert ( "name" in specs.get_spec("metadata1") )