def array_data_to_xml(rows, cols, get_row): xml = "<arraydata rows=\"%s\" cols=\"%s\"/>\n" % (rows, cols) for row in range(rows): xml += "<row index=\"%s\"/>\n" % to_string(row) for value in get_row(row): xml += var_to_xml(value, '') return xml
def array_data_to_xml(rows, cols, get_row): xml = "<arraydata rows=\"%s\" cols=\"%s\"/>\n" % (rows, cols) for row in range(rows): xml += "<row index=\"%s\"/>\n" % to_string(row) for value in get_row(row): xml += var_to_xml(value, '') return xml
def __init__(self, cmd_id, seq, text, is_json=False): """ If sequence is 0, new sequence will be generated (otherwise, this was the response to a command from the client). """ protocol = get_protocol() self.id = cmd_id if seq == 0: NetCommand.next_seq += 2 seq = NetCommand.next_seq self.seq = seq if is_json: if hasattr(text, 'to_dict'): as_dict = text.to_dict(update_ids_to_dap=True) else: assert isinstance(text, dict) as_dict = text as_dict['pydevd_cmd_id'] = cmd_id as_dict['seq'] = seq self.as_dict = as_dict text = json.dumps(as_dict) if IS_PY2: if isinstance(text, unicode): text = text.encode('utf-8') else: assert isinstance(text, str) else: assert isinstance(text, str) if DebugInfoHolder.DEBUG_TRACE_LEVEL >= 1: self._show_debug_info(cmd_id, seq, text) if is_json: msg = text else: if protocol not in (HTTP_PROTOCOL, HTTP_JSON_PROTOCOL): encoded = quote(to_string(text), '/<>_=" \t') msg = '%s\t%s\t%s\n' % (cmd_id, seq, encoded) else: msg = '%s\t%s\t%s' % (cmd_id, seq, text) if IS_PY2: assert isinstance(msg, str) # i.e.: bytes as_bytes = msg else: if isinstance(msg, str): msg = msg.encode('utf-8') assert isinstance(msg, bytes) as_bytes = msg self._as_bytes = as_bytes
def __init__(self, cmd_id, seq, text, is_json=False): """ If sequence is 0, new sequence will be generated (otherwise, this was the response to a command from the client). """ protocol = get_protocol() self.id = cmd_id if seq == 0: NetCommand.next_seq += 2 seq = NetCommand.next_seq self.seq = seq if is_json: if hasattr(text, 'to_dict'): as_dict = text.to_dict(update_ids_to_dap=True) else: assert isinstance(text, dict) as_dict = text as_dict['pydevd_cmd_id'] = cmd_id as_dict['seq'] = seq text = json.dumps(as_dict) if IS_PY2: if isinstance(text, unicode): text = text.encode('utf-8') else: assert isinstance(text, str) else: assert isinstance(text, str) if DebugInfoHolder.DEBUG_TRACE_LEVEL >= 1: self._show_debug_info(cmd_id, seq, text) if is_json: msg = text else: if protocol not in (HTTP_PROTOCOL, HTTP_JSON_PROTOCOL): encoded = quote(to_string(text), '/<>_=" \t') msg = '%s\t%s\t%s\n' % (cmd_id, seq, encoded) else: msg = '%s\t%s\t%s' % (cmd_id, seq, text) if IS_PY2: assert isinstance(msg, str) # i.e.: bytes as_bytes = msg else: if isinstance(msg, str): msg = msg.encode('utf-8') assert isinstance(msg, bytes) as_bytes = msg self._as_bytes = as_bytes
def getVariable(self, attributes): xml = "<xml>" valDict = pydevd_vars.resolve_var(self.get_namespace(), attributes) if valDict is None: valDict = {} keys = valDict.keys() for k in keys: xml += pydevd_vars.var_to_xml(valDict[k], to_string(k)) xml += "</xml>" return xml
def getVariable(self, attributes): xml = "<xml>" valDict = pydevd_vars.resolve_var(self.get_namespace(), attributes) if valDict is None: valDict = {} keys = valDict.keys() for k in keys: xml += pydevd_vars.var_to_xml(valDict[k], to_string(k)) xml += "</xml>" return xml
def array_to_xml(array, roffset, coffset, rows, cols, format): xml = "" rows = min(rows, MAXIMUM_ARRAY_SIZE) cols = min(cols, MAXIMUM_ARRAY_SIZE) #there is no obvious rule for slicing (at least 5 choices) if len(array) == 1 and (rows > 1 or cols > 1): array = array[0] if array.size > len(array): array = array[roffset:, coffset:] rows = min(rows, len(array)) cols = min(cols, len(array[0])) if len(array) == 1: array = array[0] elif array.size == len(array): if roffset == 0 and rows == 1: array = array[coffset:] cols = min(cols, len(array)) elif coffset == 0 and cols == 1: array = array[roffset:] rows = min(rows, len(array)) xml += "<arraydata rows=\"%s\" cols=\"%s\"/>" % (rows, cols) for row in range(rows): xml += "<row index=\"%s\"/>" % to_string(row) for col in range(cols): value = array if rows == 1 or cols == 1: if rows == 1 and cols == 1: value = array[0] else: if rows == 1: dim = col else: dim = row value = array[dim] if "ndarray" in str(type(value)): value = value[0] else: value = array[row][col] value = format % value xml += var_to_xml(value, '') return xml
def array_to_xml(array, roffset, coffset, rows, cols, format): xml = "" rows = min(rows, MAXIMUM_ARRAY_SIZE) cols = min(cols, MAXIMUM_ARRAY_SIZE) # there is no obvious rule for slicing (at least 5 choices) if len(array) == 1 and (rows > 1 or cols > 1): array = array[0] if array.size > len(array): array = array[roffset:, coffset:] rows = min(rows, len(array)) cols = min(cols, len(array[0])) if len(array) == 1: array = array[0] elif array.size == len(array): if roffset == 0 and rows == 1: array = array[coffset:] cols = min(cols, len(array)) elif coffset == 0 and cols == 1: array = array[roffset:] rows = min(rows, len(array)) xml += "<arraydata rows=\"%s\" cols=\"%s\"/>" % (rows, cols) for row in range(rows): xml += "<row index=\"%s\"/>" % to_string(row) for col in range(cols): value = array if rows == 1 or cols == 1: if rows == 1 and cols == 1: value = array[0] else: if rows == 1: dim = col else: dim = row value = array[dim] if "ndarray" in str(type(value)): value = value[0] else: value = array[row][col] value = format % value xml += var_to_xml(value, '') return xml