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) |