DebugClients/Python3/DebugClientBase.py

changeset 1470
65af67c5b5c3
parent 1305
14d63fe71d53
child 1471
af9e4f5a34b5
equal deleted inserted replaced
1469:0619b0cf6ecb 1470:65af67c5b5c3
1402 if qvtype.startswith("PyQt4"): 1402 if qvtype.startswith("PyQt4"):
1403 vlist = self.__formatQt4Variable(qvar, qvtype) 1403 vlist = self.__formatQt4Variable(qvar, qvtype)
1404 else: 1404 else:
1405 vlist = [] 1405 vlist = []
1406 else: 1406 else:
1407 # format the dictionary found 1407 qtVariable = False
1408 if dictkeys is None: 1408 if len(udict) > 0:
1409 dictkeys = dict.keys() 1409 if access:
1410 loc = {"udict" : udict}
1411 exec('qvar = udict{0!s}'.format(access), globals(), loc)
1412 qvar = loc["qvar"]
1413 # this has to be in line with VariablesViewer.indicators
1414 elif rvar and rvar[0][-2:] in ["[]", "()", "{}"]:
1415 loc = {"udict" : udict}
1416 exec('qvar = udict["{0!s}"][{1!s}]'.format(rvar[0][:-2], rvar[1]),
1417 globals(), loc)
1418 qvar = loc["qvar"]
1419 else:
1420 qvar = udict[var[-1]]
1421 qvtype = str(type(qvar))[1:-1].split()[1][1:-1]
1422 if qvtype.startswith("PyQt4"):
1423 qtVariable = True
1424
1425 if qtVariable:
1426 vlist = self.__formatQt4Variable(qvar, qvtype)
1410 else: 1427 else:
1411 # treatment for sequences and dictionaries 1428 # format the dictionary found
1412 if access: 1429 if dictkeys is None:
1413 loc = {"dict": dict}
1414 exec("dict = dict{0!s}".format(access), globals(), loc)
1415 dict = loc["dict"]
1416 else:
1417 dict = dict[dictkeys[0]]
1418 if isDict:
1419 dictkeys = dict.keys() 1430 dictkeys = dict.keys()
1420 else: 1431 else:
1421 dictkeys = range(len(dict)) 1432 # treatment for sequences and dictionaries
1422 vlist = self.__formatVariablesList(dictkeys, dict, scope, filter, 1433 if access:
1423 formatSequences) 1434 exec "dict = dict%s" % access
1435 else:
1436 dict = dict[dictkeys[0]]
1437 if isDict:
1438 dictkeys = dict.keys()
1439 else:
1440 dictkeys = range(len(dict))
1441 vlist = self.__formatVariablesList(dictkeys, dict, scope, filter,
1442 formatSequences)
1424 varlist.extend(vlist) 1443 varlist.extend(vlist)
1425 1444
1426 if obj is not None and not formatSequences: 1445 if obj is not None and not formatSequences:
1427 if repr(obj).startswith('{'): 1446 if repr(obj).startswith('{'):
1428 varlist.append(('...', 'dict', "{0:d}".format(len(obj.keys())))) 1447 varlist.append(('...', 'dict', "{0:d}".format(len(obj.keys()))))
1619 continue 1638 continue
1620 except ValueError: 1639 except ValueError:
1621 if valtype == "classobj": 1640 if valtype == "classobj":
1622 if ConfigVarTypeStrings.index('instance') in filter: 1641 if ConfigVarTypeStrings.index('instance') in filter:
1623 continue 1642 continue
1624 elif ConfigVarTypeStrings.index('other') in filter: 1643 elif valtype == "sip.methoddescriptor":
1644 if ConfigVarTypeStrings.index('instance method') in filter:
1645 continue
1646 elif not valtype.startswith("PySide") and \
1647 ConfigVarTypeStrings.index('other') in filter:
1625 continue 1648 continue
1626 1649
1627 try: 1650 try:
1628 if valtype not in ['list', 'tuple', 'dict']: 1651 if valtype not in ['list', 'tuple', 'dict']:
1629 rvalue = repr(value) 1652 rvalue = repr(value)

eric ide

mercurial