DebugClients/Python3/DebugClientBase.py

branch
5_1_x
changeset 1472
cbaa32917694
parent 1306
2136f10a9110
child 1473
c3bdd5ebafbc
equal deleted inserted replaced
1460:8796ba2ba2ec 1472:cbaa32917694
1395 if qvtype.startswith("PyQt4"): 1395 if qvtype.startswith("PyQt4"):
1396 vlist = self.__formatQt4Variable(qvar, qvtype) 1396 vlist = self.__formatQt4Variable(qvar, qvtype)
1397 else: 1397 else:
1398 vlist = [] 1398 vlist = []
1399 else: 1399 else:
1400 # format the dictionary found 1400 qtVariable = False
1401 if dictkeys is None: 1401 if len(udict) > 0:
1402 dictkeys = dict.keys() 1402 if access:
1403 loc = {"udict" : udict}
1404 exec('qvar = udict{0!s}'.format(access), globals(), loc)
1405 qvar = loc["qvar"]
1406 # this has to be in line with VariablesViewer.indicators
1407 elif rvar and rvar[0][-2:] in ["[]", "()", "{}"]:
1408 loc = {"udict" : udict}
1409 exec('qvar = udict["{0!s}"][{1!s}]'.format(rvar[0][:-2], rvar[1]),
1410 globals(), loc)
1411 qvar = loc["qvar"]
1412 else:
1413 qvar = udict[var[-1]]
1414 qvtype = str(type(qvar))[1:-1].split()[1][1:-1]
1415 if qvtype.startswith("PyQt4"):
1416 qtVariable = True
1417
1418 if qtVariable:
1419 vlist = self.__formatQt4Variable(qvar, qvtype)
1403 else: 1420 else:
1404 # treatment for sequences and dictionaries 1421 # format the dictionary found
1405 if access: 1422 if dictkeys is None:
1406 loc = {"dict" : dict}
1407 exec("dict = dict{0!s}".format(access), globals(), loc)
1408 dict = loc["dict"]
1409 else:
1410 dict = dict[dictkeys[0]]
1411 if isDict:
1412 dictkeys = dict.keys() 1423 dictkeys = dict.keys()
1413 else: 1424 else:
1414 dictkeys = range(len(dict)) 1425 # treatment for sequences and dictionaries
1415 vlist = self.__formatVariablesList(dictkeys, dict, scope, filter, 1426 if access:
1416 formatSequences) 1427 exec "dict = dict%s" % access
1428 else:
1429 dict = dict[dictkeys[0]]
1430 if isDict:
1431 dictkeys = dict.keys()
1432 else:
1433 dictkeys = range(len(dict))
1434 vlist = self.__formatVariablesList(dictkeys, dict, scope, filter,
1435 formatSequences)
1417 varlist.extend(vlist) 1436 varlist.extend(vlist)
1418 1437
1419 if obj is not None and not formatSequences: 1438 if obj is not None and not formatSequences:
1420 if repr(obj).startswith('{'): 1439 if repr(obj).startswith('{'):
1421 varlist.append(('...', 'dict', "{0:d}".format(len(obj.keys())))) 1440 varlist.append(('...', 'dict', "{0:d}".format(len(obj.keys()))))
1612 continue 1631 continue
1613 except ValueError: 1632 except ValueError:
1614 if valtype == "classobj": 1633 if valtype == "classobj":
1615 if ConfigVarTypeStrings.index('instance') in filter: 1634 if ConfigVarTypeStrings.index('instance') in filter:
1616 continue 1635 continue
1617 elif ConfigVarTypeStrings.index('other') in filter: 1636 elif valtype == "sip.methoddescriptor":
1637 if ConfigVarTypeStrings.index('instance method') in filter:
1638 continue
1639 elif not valtype.startswith("PySide") and \
1640 ConfigVarTypeStrings.index('other') in filter:
1618 continue 1641 continue
1619 1642
1620 try: 1643 try:
1621 if valtype not in ['list', 'tuple', 'dict']: 1644 if valtype not in ['list', 'tuple', 'dict']:
1622 rvalue = repr(value) 1645 rvalue = repr(value)

eric ide

mercurial