MCPcopy Index your code
hub / github.com/httprunner/httprunner / parse_data

Function parse_data

httprunner/parser.py:401–433  ·  view source on GitHub ↗

parse raw data with evaluated variables mapping. Notice: variables_mapping should not contain any variable or function.

(
    raw_data: Any,
    variables_mapping: VariablesMapping = None,
    functions_mapping: FunctionsMapping = None,
)

Source from the content-addressed store, hash-verified

399
400
401def parse_data(
402 raw_data: Any,
403 variables_mapping: VariablesMapping = None,
404 functions_mapping: FunctionsMapping = None,
405) -> Any:
406 """parse raw data with evaluated variables mapping.
407 Notice: variables_mapping should not contain any variable or function.
408 """
409 if isinstance(raw_data, str):
410 # content in string format may contains variables and functions
411 variables_mapping = variables_mapping or {}
412 functions_mapping = functions_mapping or {}
413 # only strip whitespaces and tabs, \n\r is left because they maybe used in changeset
414 raw_data = raw_data.strip(" \t")
415 return parse_string(raw_data, variables_mapping, functions_mapping)
416
417 elif isinstance(raw_data, (list, set, tuple)):
418 return [
419 parse_data(item, variables_mapping, functions_mapping) for item in raw_data
420 ]
421
422 elif isinstance(raw_data, dict):
423 parsed_data = {}
424 for key, value in raw_data.items():
425 parsed_key = parse_data(key, variables_mapping, functions_mapping)
426 parsed_value = parse_data(value, variables_mapping, functions_mapping)
427 parsed_data[parsed_key] = parsed_value
428
429 return parsed_data
430
431 else:
432 # other types, e.g. None, int, float, bool
433 return raw_data
434
435
436def parse_variables_mapping(

Callers 6

convert_variablesFunction · 0.90
prepare_upload_stepFunction · 0.90
parse_stringFunction · 0.85
parse_variables_mappingFunction · 0.85
parse_parametersFunction · 0.85
parse_dataMethod · 0.85

Calls 1

parse_stringFunction · 0.85

Tested by

no test coverage detected