def do_it(self, dbg): ''' Converts request into python variable ''' try: xml = StringIO.StringIO() xml.write("<xml>") _typeName, val_dict = pydevd_vars.resolve_compound_variable_fields(dbg, self.thread_id, self.frame_id, self.scope, self.attributes) if val_dict is None: val_dict = {} # assume properly ordered if resolver returns 'OrderedDict' # check type as string to support OrderedDict backport for older Python keys = dict_keys(val_dict) if not (_typeName == "OrderedDict" or val_dict.__class__.__name__ == "OrderedDict" or IS_PY36_OR_GREATER): keys.sort(key=compare_object_attrs_key) for k in keys: val = val_dict[k] evaluate_full_value = pydevd_xml.should_evaluate_full_value(val) xml.write(pydevd_xml.var_to_xml(val, k, evaluate_full_value=evaluate_full_value)) xml.write("</xml>") cmd = dbg.cmd_factory.make_get_variable_message(self.sequence, xml.getvalue()) xml.close() dbg.writer.add_command(cmd) except Exception: cmd = dbg.cmd_factory.make_error_message( self.sequence, "Error resolving variables %s" % (get_exception_traceback_str(),)) dbg.writer.add_command(cmd)
def getVariable(self, attributes): xml = StringIO.StringIO() xml.write("<xml>") val_dict = pydevd_vars.resolve_compound_var_object_fields(self.get_namespace(), attributes) if val_dict is None: val_dict = {} for k, val in dict_iter_items(val_dict): val = val_dict[k] evaluate_full_value = pydevd_xml.should_evaluate_full_value(val) xml.write(pydevd_vars.var_to_xml(val, k, evaluate_full_value=evaluate_full_value)) xml.write("</xml>") return xml.getvalue()
def get_variable(pydev_text): ipython_shell = get_ipython() val_dict = resolve_compound_var_object_fields(ipython_shell.user_ns, pydev_text) if val_dict is None: val_dict = {} xml_list = ["<xml>"] for k in dict_keys(val_dict): val = val_dict[k] evaluate_full_value = should_evaluate_full_value(val) xml_list.append( var_to_xml(val, k, evaluate_full_value=evaluate_full_value)) xml_list.append("</xml>") print(''.join(xml_list))
def getVariable(self, attributes): xml = StringIO.StringIO() xml.write("<xml>") val_dict = pydevd_vars.resolve_compound_var_object_fields(self.get_namespace(), attributes) if val_dict is None: val_dict = {} keys = val_dict.keys() for k in keys: val = val_dict[k] evaluate_full_value = pydevd_xml.should_evaluate_full_value(val) xml.write(pydevd_vars.var_to_xml(val, k, evaluate_full_value=evaluate_full_value)) xml.write("</xml>") return xml.getvalue()
def getVariable(self, attributes): xml = StringIO.StringIO() xml.write("<xml>") valDict = pydevd_vars.resolve_var(self.get_namespace(), attributes) if valDict is None: valDict = {} keys = valDict.keys() for k in keys: val = valDict[k] evaluate_full_value = pydevd_xml.should_evaluate_full_value(val) xml.write(pydevd_vars.var_to_xml(val, k, evaluate_full_value=evaluate_full_value)) xml.write("</xml>") return xml.getvalue()