'Check all the non-regex conditions against the item.'

def check_nonpattern_conditions(self, item, data):

    if (self.reports and (item.reported < self.reports)):
        return False
    if hasattr(item, 'body'):
        body = self.get_field_value_from_item(item, data, 'body')
        if ((self.body_longer_than is not None) or (self.body_shorter_than is not None)):
            pattern = re.compile('^\\W+', re.UNICODE)
            body_text = pattern.sub('', body)
            pattern = re.compile('\\W+$', re.UNICODE)
            body_text = pattern.sub('', body_text)
            if ((self.body_longer_than is not None) and (len(body_text) <= self.body_longer_than)):
                return False
            if ((self.body_shorter_than is not None) and (len(body_text) >= self.body_shorter_than)):
                return False
    if (self.is_top_level is not None):
        item_is_top_level = (not item.parent_id)
        if (self.is_top_level != item_is_top_level):
            return False
    if (self.is_edited is not None):
        if (self.is_edited != hasattr(item, 'editted')):
            return False
    if (self.is_submitter is not None):
        is_submitter = data.get('is_submitter', True)
        if (self.is_submitter != is_submitter):
            return False
    if (self.is_moderator is not None):
        is_mod = bool(data['subreddit'].is_moderator(item))
        if (is_mod != self.is_moderator):
            return False
    if (self.is_contributor is not None):
        is_contrib = bool(data['subreddit'].is_contributor(item))
        if (is_contrib != self.is_contributor):
            return False
    if (self.is_gold is not None):
        if (item.gold != self.is_gold):
            return False
    return True
