'Return if it is necessary to check this rule against the item.'

def should_check_item(self, item, data):

    if (not self.item_is_correct_type(item)):
        return False
    if (isinstance(item, Comment) and (data['author'] == ACCOUNT)):
        return False
    if (self.is_inapplicable_to_mods and data['subreddit'].is_moderator(data['author'])):
        return False
    ban_info = getattr(item, 'ban_info', {})
    if (item._spam and ban_info.get('moderator_banned')):
        return False
    if self.is_removal_rule:
        if (getattr(item, 'verdict', '').endswith('-approved') and (ban_info.get('unbanner') != ACCOUNT.name)):
            return False
    if self.needs_media_data:
        if (isinstance(item, Link) and (not item.media_object)):
            return False
        elif (isinstance(item, Comment) and (not data['link'].media_object)):
            return False
    return True
