DebugClients/Python3/DebugClientBase.py

branch
5_2_x
changeset 2159
7ab512c23fdd
parent 1728
47aefd5dc62f
child 2170
f4e0f6133ace
child 2277
d5dca2805fd2
equal deleted inserted replaced
2156:c5e0b2e65358 2159:7ab512c23fdd
1266 isDict = False 1266 isDict = False
1267 formatSequences = False 1267 formatSequences = False
1268 access = "" 1268 access = ""
1269 oaccess = "" 1269 oaccess = ""
1270 odict = dict 1270 odict = dict
1271
1272 qtVariable = False
1273 qvar = None
1274 qvtype = ""
1271 1275
1272 while i < len(var): 1276 while i < len(var):
1273 if len(dict): 1277 if len(dict):
1274 udict = dict 1278 udict = dict
1275 ndict = {} 1279 ndict = {}
1334 loc = {"dict": dict} 1338 loc = {"dict": dict}
1335 exec('mdict = dict{0!s}.__dict__\nobj = dict{0!s}'\ 1339 exec('mdict = dict{0!s}.__dict__\nobj = dict{0!s}'\
1336 .format(access), globals(), loc) 1340 .format(access), globals(), loc)
1337 mdict = loc["mdict"] 1341 mdict = loc["mdict"]
1338 obj = loc["obj"] 1342 obj = loc["obj"]
1343 if "PyQt4." in str(type(obj)):
1344 qtVariable = True
1345 qvar = obj
1346 qvtype = str(type(qvar))[1:-1].split()[1][1:-1]
1339 ndict.update(mdict) 1347 ndict.update(mdict)
1340 except: 1348 except:
1341 pass 1349 pass
1342 try: 1350 try:
1343 loc = {"dict": dict} 1351 loc = {"dict": dict}
1362 pass 1370 pass
1363 ndict.update(loc["cdict"]) 1371 ndict.update(loc["cdict"])
1364 exec('obj = dict{0!s}'.format(access), globals(), loc) 1372 exec('obj = dict{0!s}'.format(access), globals(), loc)
1365 obj = loc["obj"] 1373 obj = loc["obj"]
1366 access = "" 1374 access = ""
1375 if "PyQt4." in str(type(obj)):
1376 qtVariable = True
1377 qvar = obj
1378 qvtype = str(type(qvar))[1:-1].split()[1][1:-1]
1367 except: 1379 except:
1368 pass 1380 pass
1369 else: 1381 else:
1370 try: 1382 try:
1371 ndict.update(dict[var[i]].__dict__) 1383 ndict.update(dict[var[i]].__dict__)
1372 ndict.update(dict[var[i]].__class__.__dict__) 1384 ndict.update(dict[var[i]].__class__.__dict__)
1373 del rvar[0] 1385 del rvar[0]
1374 obj = dict[var[i]] 1386 obj = dict[var[i]]
1387 if "PyQt4." in str(type(obj)):
1388 qtVariable = True
1389 qvar = obj
1390 qvtype = str(type(qvar))[1:-1].split()[1][1:-1]
1375 except: 1391 except:
1376 pass 1392 pass
1377 try: 1393 try:
1378 slv = dict[var[i]].__slots__ 1394 slv = dict[var[i]].__slots__
1379 loc = {"cdict": {}, "dict": dict, "var": var, "i": i} 1395 loc = {"cdict": {}, "dict": dict, "var": var, "i": i}
1384 globals(), loc) 1400 globals(), loc)
1385 except: 1401 except:
1386 pass 1402 pass
1387 ndict.update(loc["cdict"]) 1403 ndict.update(loc["cdict"])
1388 obj = dict[var[i]] 1404 obj = dict[var[i]]
1405 if "PyQt4." in str(type(obj)):
1406 qtVariable = True
1407 qvar = obj
1408 qvtype = str(type(qvar))[1:-1].split()[1][1:-1]
1389 except: 1409 except:
1390 pass 1410 pass
1391 odict = dict 1411 odict = dict
1392 dict = ndict 1412 dict = ndict
1393 i += 1 1413 i += 1
1394 1414
1395 if ("sipThis" in dict.keys() and len(dict) == 1) or \ 1415 if qtVariable:
1416 vlist = self.__formatQt4Variable(qvar, qvtype)
1417 elif ("sipThis" in dict.keys() and len(dict) == 1) or \
1396 (len(dict) == 0 and len(udict) > 0): 1418 (len(dict) == 0 and len(udict) > 0):
1397 if access: 1419 if access:
1398 loc = {"udict": udict} 1420 loc = {"udict": udict}
1399 exec('qvar = udict{0!s}'.format(access), globals(), loc) 1421 exec('qvar = udict{0!s}'.format(access), globals(), loc)
1400 qvar = loc["qvar"] 1422 qvar = loc["qvar"]
1475 qttype = vtype.split('.')[-1] 1497 qttype = vtype.split('.')[-1]
1476 varlist = [] 1498 varlist = []
1477 if qttype == 'QChar': 1499 if qttype == 'QChar':
1478 varlist.append(("", "QChar", "{0}".format(chr(value.unicode())))) 1500 varlist.append(("", "QChar", "{0}".format(chr(value.unicode()))))
1479 varlist.append(("", "int", "{0:d}".format(value.unicode()))) 1501 varlist.append(("", "int", "{0:d}".format(value.unicode())))
1502 elif qttype == 'QByteArray':
1503 varlist.append(("bytes", "QByteArray", "{0}".format(bytes(value))[2:-1]))
1504 varlist.append(("hex", "QByteArray", "{0}".format(value.toHex())[2:-1]))
1505 varlist.append(("base64", "QByteArray", "{0}".format(value.toBase64())[2:-1]))
1506 varlist.append(("percent encoding", "QByteArray",
1507 "{0}".format(value.toPercentEncoding())[2:-1]))
1480 elif qttype == 'QPoint': 1508 elif qttype == 'QPoint':
1481 varlist.append(("x", "int", "{0:d}".format(value.x()))) 1509 varlist.append(("x", "int", "{0:d}".format(value.x())))
1482 varlist.append(("y", "int", "{0:d}".format(value.y()))) 1510 varlist.append(("y", "int", "{0:d}".format(value.y())))
1483 elif qttype == 'QPointF': 1511 elif qttype == 'QPointF':
1484 varlist.append(("x", "float", "{0:g}".format(value.x()))) 1512 varlist.append(("x", "float", "{0:g}".format(value.x())))
1639 1667
1640 valtype = valtypestr[7:-1] 1668 valtype = valtypestr[7:-1]
1641 if valtype not in ConfigVarTypeStrings: 1669 if valtype not in ConfigVarTypeStrings:
1642 if ConfigVarTypeStrings.index('instance') in filter: 1670 if ConfigVarTypeStrings.index('instance') in filter:
1643 continue 1671 continue
1672 elif valtype == "sip.methoddescriptor":
1673 if ConfigVarTypeStrings.index('instance method') in filter:
1674 continue
1675 elif valtype == "sip.enumtype":
1676 if ConfigVarTypeStrings.index('class') in filter:
1677 continue
1644 valtype = valtypestr 1678 valtype = valtypestr
1645 else: 1679 else:
1646 try: 1680 try:
1647 if ConfigVarTypeStrings.index(valtype) in filter: 1681 if ConfigVarTypeStrings.index(valtype) in filter:
1648 continue 1682 continue
1650 if valtype == "classobj": 1684 if valtype == "classobj":
1651 if ConfigVarTypeStrings.index('instance') in filter: 1685 if ConfigVarTypeStrings.index('instance') in filter:
1652 continue 1686 continue
1653 elif valtype == "sip.methoddescriptor": 1687 elif valtype == "sip.methoddescriptor":
1654 if ConfigVarTypeStrings.index('instance method') in filter: 1688 if ConfigVarTypeStrings.index('instance method') in filter:
1689 continue
1690 elif valtype == "sip.enumtype":
1691 if ConfigVarTypeStrings.index('class') in filter:
1655 continue 1692 continue
1656 elif not valtype.startswith("PySide") and \ 1693 elif not valtype.startswith("PySide") and \
1657 ConfigVarTypeStrings.index('other') in filter: 1694 ConfigVarTypeStrings.index('other') in filter:
1658 continue 1695 continue
1659 1696

eric ide

mercurial