<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def getValue(self, prop, default=None):
 """Return the value of feature with that name or ``default``."""


        f = self.props.get(prop, None)
        if not f:
            return default
        if isinstance(f, Feature):
            return f.getValue()
        if isinstance(f, tuple):
            # if f[0].getValue() == f[1].getValue():
            #    return f[0].getValue()
            # Miguel: para poder probar
            if f[0]:
                return f[0].getValue()
            elif f[1]:
                return f[1].getValue()
            raise Exception("Getting value from a property with a constrain")
        return f