

def __getattr__(self, name):
    "It is not possible to create property bounded just to object\n        and not class at runtime, therefore it is necessary to\n        override __getattr__ and make fake 'properties' by storing them in\n        the protected attribute _dynamic_attributes and returning result\n        of the method associated with the specified attribute.\n\n        This way the feeling of having regions accessed as 'properties'\n        is created, which is one of the requirement of page object pattern.\n        "
    try:
        return self._dynamic_properties[name]()
    except KeyError:
        msg = "'{0}' object has no attribute '{1}'"
        raise AttributeError(self.format(type(self).__name__, name))

dataset/ETHPy150Open CiscoSystems/avos/openstack_dashboard/test/integration_tests/regions/baseregion.py BaseRegion.__getattr__/VarMisuse@41/229 `msg`->`self`