Esempio n. 1
0
    def _build_trait(self, name):
        trait = self.traits.get(name) or self.global_traits.get(name)
        if trait.parent:
            spec = self._build_trait(trait.parent)
        else:
            spec = DynamicDict()

        spec.update(trait.attrs)
        return spec
Esempio n. 2
0
    def _build_fragment(self, name):
        fragment = self.fragments[name]
        if fragment.parent:
            spec = self._build_fragment(fragment.parent)
        else:
            spec = DynamicDict()

        if fragment.traits:
            self._apply_traits(spec, fragment.traits)

        spec.update(fragment.attrs)
        return spec
Esempio n. 3
0
    def _build_document(self, name):
        doc = self.documents[name]

        if doc.parent:
            spec = self._build_document(doc.parent)
        else:
            spec = DynamicDict()

        if doc.traits:
            self._apply_traits(spec, doc.traits)

        spec.update(doc.attrs)
        return spec