def preparse_input_args(func):
    def inner(self, test_id=None, test_status=None, test_tags=None,
              runnable=True, file_name=None, file_bytes=None, eof=False,
              mime_type=None, route_code=None, timestamp=None):
        # NOTE(andreykurilin): Variables 'runnable', 'eof', 'route_code' are
        # not used in parser. Variable 'test_tags' is used to store workers
        # info, which is not helpful in parser.

        if not test_id:
            return

        if (test_id.startswith("setUpClass (") or
                test_id.startswith("tearDown (")):
            test_id = test_id[test_id.find("(") + 1:-1]
        if test_id.find("[") > -1:
            tags = test_id.split("[")[1][:-1].split(",")
        else:
            tags = []

        if mime_type:
            mime_type, charset = mime_type.split("; ")[:2]
            charset = charset.split("=")[1]
        else:
            charset = None

        func(self, test_id, test_status, tags, file_name, file_bytes,
             mime_type, timestamp, charset)
    return inner
dataset/ETHPy150Open openstack/rally/rally/common/io/subunit_v2.py/preparse_input_args/original