'Returns the value of the given attr, inheriting from the
`conforms_to_bases` languages if not directly defined for this
language.'

def conformant_attr(self, attr):

    if hasattr(self, attr):
        val = getattr(self, attr)
        if (val is not None):
            return val
    for base in (self.conforms_to_bases or []):
        try:
            base_li = self._db.langinfo_from_lang(base)
        except LangInfoError:
            pass
        else:
            val = base_li.conformant_attr(attr)
            if (val is not None):
                return val
    return None
