:param VariablesRequest request:
(py_db, request)
| 775 | |
| 776 | @silence_warnings_decorator |
| 777 | def internal_get_variable_json(py_db, request): |
| 778 | """ |
| 779 | :param VariablesRequest request: |
| 780 | """ |
| 781 | arguments = request.arguments # : :type arguments: VariablesArguments |
| 782 | variables_reference = arguments.variablesReference |
| 783 | scope = None |
| 784 | if isinstance_checked(variables_reference, ScopeRequest): |
| 785 | scope = variables_reference |
| 786 | variables_reference = variables_reference.variable_reference |
| 787 | |
| 788 | fmt = arguments.format |
| 789 | if hasattr(fmt, "to_dict"): |
| 790 | fmt = fmt.to_dict() |
| 791 | |
| 792 | variables = [] |
| 793 | try: |
| 794 | try: |
| 795 | variable = py_db.suspended_frames_manager.get_variable(variables_reference) |
| 796 | except KeyError: |
| 797 | pass |
| 798 | else: |
| 799 | for child_var in variable.get_children_variables(fmt=fmt, scope=scope): |
| 800 | variables.append(child_var.get_var_data(fmt=fmt)) |
| 801 | except: |
| 802 | try: |
| 803 | exc, exc_type, tb = sys.exc_info() |
| 804 | err = "".join(traceback.format_exception(exc, exc_type, tb)) |
| 805 | variables = [{"name": "<error>", "value": err, "type": "<error>", "variablesReference": 0}] |
| 806 | except: |
| 807 | err = "<Internal error - unable to get traceback when getting variables>" |
| 808 | pydev_log.exception(err) |
| 809 | variables = [] |
| 810 | |
| 811 | body = VariablesResponseBody(variables) |
| 812 | variables_response = pydevd_base_schema.build_response(request, kwargs={"body": body}) |
| 813 | py_db.writer.add_command(NetCommand(CMD_RETURN, 0, variables_response, is_json=True)) |
| 814 | |
| 815 | |
| 816 | class InternalGetVariable(InternalThreadCommand): |
nothing calls this directly
no test coverage detected