def split_taurus_args(parser, args=None):
    """Splits arguments into valid parser arguments and non valid parser
    arguments.

    :param parser: an option parser
    :type parser: :class:`optparse.OptionParser`
    :param args: the list of arguments to process
                 (default is None meaning: sys.argv)
    :type args: seq<str>
    :return: a tuple of two elements: parser args, non parser args
    :rtype: seq<seq<str>, seq<str>>"""
    if args is None:
        import sys
        args = sys.argv
    taurus_args, non_taurus_args = [args[0]], [args[0]]
    for arg in args[1:]:
        arg_name = arg.split('=', 1)[0]
        if parser.has_option(arg_name):
            taurus_args.append(arg)
        else:
            non_taurus_args.append(arg)
    return taurus_args, non_taurus_args
