eric6/Debugger/VariablesViewer.py

branch
maintenance
changeset 8273
698ae46f40a4
parent 8184
913dd0c49b03
parent 8240
93b8a353c4bf
child 8450
be7369a19dc9
--- a/eric6/Debugger/VariablesViewer.py	Fri Apr 02 11:59:41 2021 +0200
+++ b/eric6/Debugger/VariablesViewer.py	Sat May 01 14:27:20 2021 +0200
@@ -9,6 +9,7 @@
 
 import ast
 import re
+import contextlib
 
 from PyQt5.QtCore import (
     Qt, QAbstractItemModel, QModelIndex, QCoreApplication,
@@ -28,7 +29,7 @@
 SORT_ROLE = Qt.ItemDataRole.UserRole
 
 
-class VariableItem(object):
+class VariableItem:
     """
     Class implementing the data structure for all variable items.
     """
@@ -145,11 +146,11 @@
         if dtype.startswith('class '):
             dtype = dtype[7:-1]
         # Qt related stuff?
-        elif (dtype.startswith(ConfigQtNames) and
-                dtype.endswith(ConfigKnownQtTypes)):
-            self.hasChildren = True
-            
-        elif dtype in ('instance', 'class'):
+        elif (
+            (dtype.startswith(ConfigQtNames) and
+             dtype.endswith(ConfigKnownQtTypes)) or
+            dtype in ('instance', 'class')
+        ):
             self.hasChildren = True
         
         # Special Qt types should not be expanded infinite
@@ -201,10 +202,8 @@
             
         elif dtype == 'str':
             if VariableItem.rx_nonprintable.search(dvalue) is None:
-                try:
+                with contextlib.suppress(Exception):
                     dvalue = ast.literal_eval(dvalue)
-                except Exception:       # secok
-                    pass
             dvalue = str(dvalue)
         
         self.value = dvalue
@@ -263,7 +262,7 @@
             variables
         @type bool
         """
-        super(VariablesModel, self).__init__()
+        super().__init__()
         self.treeView = treeView
         self.proxyModel = treeView.proxyModel
         
@@ -271,11 +270,7 @@
         self.openItems = []
         self.closedItems = []
         
-        if globalScope:
-            visibility = self.tr("Globals")
-        else:
-            visibility = self.tr("Locals")
-        
+        visibility = self.tr("Globals") if globalScope else self.tr("Locals")
         self.rootNode = VariableItem(None, visibility, self.tr("Type"),
                                      self.tr("Value"))
         
@@ -482,10 +477,8 @@
         @param pathlist full path to the variable
         @type list of str
         """
-        if parentIdx.isValid():
-            parent = parentIdx.internalPointer()
-        else:
-            parent = self.rootNode
+        parent = (parentIdx.internalPointer() if parentIdx.isValid()
+                  else self.rootNode)
         
         parent.newItems.clear()
         parent.changedItems.clear()
@@ -497,15 +490,18 @@
         
         if posPaths:
             for child in parent.children:
-                if child.hasChildren and child.nameWithId in posPaths:
-                    if child.currentCount >= 0:
-                        # Discard loaded elements and refresh if still expanded
-                        child.currentCount = -1
-                        child.populated = False
-                        row = parent.children.index(child)
-                        newParentIdx = self.index(row, 0, parentIdx)
-                        self.resetModifiedMarker(
-                            newParentIdx, pathlist + (child.nameWithId,))
+                if (
+                    child.hasChildren and
+                    child.nameWithId in posPaths and
+                    child.currentCount >= 0
+                ):
+                    # Discard loaded elements and refresh if still expanded
+                    child.currentCount = -1
+                    child.populated = False
+                    row = parent.children.index(child)
+                    newParentIdx = self.index(row, 0, parentIdx)
+                    self.resetModifiedMarker(
+                        newParentIdx, pathlist + (child.nameWithId,))
         
         self.closedItems = []
         
@@ -537,10 +533,7 @@
         @return number of rows
         @rtype int
         """
-        if parent.isValid():
-            node = parent.internalPointer()
-        else:
-            node = self.rootNode
+        node = parent.internalPointer() if parent.isValid() else self.rootNode
         
         return len(node.children)
     
@@ -588,10 +581,7 @@
         if not self.hasIndex(row, column, parent):
             return QModelIndex()
         
-        if not parent.isValid():
-            node = self.rootNode
-        else:
-            node = parent.internalPointer()
+        node = parent.internalPointer() if parent.isValid() else self.rootNode
         
         return self.createIndex(row, column, node.children[row])
     
@@ -645,14 +635,12 @@
                     if role == SORT_ROLE:
                         return node.sort
                     return node.name + node.indicator
-                elif column == 1:
-                    return node.valueShort
-                elif column == 2:
-                    return node.type
-                elif column == 3:
-                    return node.sort
                 else:
-                    return None
+                    return {
+                        1: node.valueShort,
+                        2: node.type,
+                        3: node.sort
+                    }.get(column)
             except AttributeError:
                 return ['None', '', '', ''][column]
         
@@ -723,16 +711,12 @@
         ):
             return None
         
-        if section == 0:
-            return self.rootNode.name
-        elif section == 1:
-            return self.rootNode.value
-        elif section == 2:
-            return self.rootNode.type
-        elif section == 3:
-            return self.rootNode.sort
-        
-        return None
+        return {
+            0: self.rootNode.name,
+            1: self.rootNode.value,
+            2: self.rootNode.type,
+            3: self.rootNode.sort
+        }.get(section)
     
     def __findPendingItem(self, parent=None, pathlist=()):
         """
@@ -865,7 +849,7 @@
         @param parent the parent model index
         @type QModelIndex
         """
-        super(VariablesProxyModel, self).__init__(parent)
+        super().__init__(parent)
         self.setSortRole(SORT_ROLE)
     
     def hasChildren(self, parent):
@@ -928,7 +912,7 @@
         @param parent the parent
         @type QWidget
         """
-        super(VariablesViewer, self).__init__(parent)
+        super().__init__(parent)
         
         self.__debugViewer = viewer
         self.__globalScope = globalScope
@@ -1046,7 +1030,7 @@
         @type int
         """
         self.varModel.getMore()
-        super(VariablesViewer, self).verticalScrollbarValueChanged(value)
+        super().verticalScrollbarValueChanged(value)
     
     def resizeEvent(self, event):
         """
@@ -1056,7 +1040,7 @@
         @type QResizeEvent
         """
         self.varModel.getMore()
-        super(VariablesViewer, self).resizeEvent(event)
+        super().resizeEvent(event)
     
     def __itemDoubleClicked(self, index):
         """

eric ide

mercurial