<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_limit(self):
 """ Returns the effective limit value for this Limit, taking into account limit overrides and Trusted Advisor data. None is returned for limits that are explicitly unlimited. :returns: effective limit value, ``int`` or ``None`` """

        limit_type = self.get_limit_source()
        if limit_type == SOURCE_OVERRIDE:
            return self.limit_override
        elif limit_type == SOURCE_API:
            return self.api_limit
        elif limit_type == SOURCE_TA:
            if self.ta_unlimited is True:
                return None
            return self.ta_limit
        return self.default_limit