<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def has_privs(self, user, lowest_mode='o'):
 """Return True if user has the given mode or higher."""

        if isinstance(user, User):
            user = user.nick

        user_prefixes = self.prefixes.get(user, None)

        if not user_prefixes:
            return False

        mode_dict = self.s.features.available['prefix']

        caught = False

        for mode, prefix in mode_dict.items():
            if mode in lowest_mode and not caught:
                caught = True
            elif mode not in lowest_mode and not caught:
                continue

            if prefix in user_prefixes:
                return True

        return False