@classmethod
    def handle_token(cls, parser, token):
        tokens = token.split_contents()

        if tokens[1] != 'using':
            raise template.TemplateSyntaxError(
                _("The second argument in %r must be 'for'") % (tokens[0]))

        if len(tokens) == 3:
            return cls(parser.compile_filter(tokens[2]))
        elif len(tokens) == 5:
            if tokens[3] != 'for':
                raise template.TemplateSyntaxError(
                    _("The second argument in %r must be 'for'") % (tokens[0]))
            return cls(obj=parser.compile_filter(tokens[2]), target=tokens[4])
        else:
            raise template.TemplateSyntaxError(
                _("{tag} takes 2 or 3 arguments, {len} given.").format(
                    tag=tokens[0], len=len(tokens)))
dataset/ETHPy150Open v1k45/django-notify-x/notify/templatetags/notification_tags.py/RenderNotificationsNode.handle_token/original