eric6/Plugins/VcsPlugins/vcsSubversion/SvnPropListDialog.py

changeset 7775
4a1db75550bd
parent 7360
9190402e4505
child 7923
91e843545d9a
--- a/eric6/Plugins/VcsPlugins/vcsSubversion/SvnPropListDialog.py	Sat Oct 10 16:03:53 2020 +0200
+++ b/eric6/Plugins/VcsPlugins/vcsSubversion/SvnPropListDialog.py	Sun Oct 11 17:54:52 2020 +0200
@@ -8,10 +8,9 @@
 process.
 """
 
+import re
 
-from PyQt5.QtCore import (
-    pyqtSlot, QTimer, QProcess, QProcessEnvironment, QRegExp, Qt
-)
+from PyQt5.QtCore import pyqtSlot, Qt, QTimer, QProcess, QProcessEnvironment
 from PyQt5.QtWidgets import (
     QWidget, QHeaderView, QDialogButtonBox, QTreeWidgetItem
 )
@@ -59,8 +58,8 @@
         self.process.readyReadStandardOutput.connect(self.__readStdout)
         self.process.readyReadStandardError.connect(self.__readStderr)
         
-        self.rx_path = QRegExp(r"Properties on '([^']+)':\s*")
-        self.rx_prop = QRegExp(r"  (.*) *: *(.*)[\r\n]")
+        self.rx_path = re.compile(r"Properties on '([^']+)':\s*")
+        self.rx_prop = re.compile(r"  (.*) *: *(.*)[\r\n]")
         
     def __resort(self):
         """
@@ -223,23 +222,24 @@
             s = str(self.process.readLine(),
                     Preferences.getSystem("IOEncoding"),
                     'replace')
-            if self.rx_path.exactMatch(s):
+            match = self.rx_path.fullmatch(s) or self.rx_prop.fullmatch(s)
+            if match is None:
+                self.propBuffer += ' '
+                self.propBuffer += s
+            elif match.re is self.rx_path:
                 if self.lastProp:
                     self.__generateItem(
                         self.lastPath, self.lastProp, self.propBuffer)
-                self.lastPath = self.rx_path.cap(1)
+                self.lastPath = match.group(1)
                 self.lastProp = None
                 self.propBuffer = ""
-            elif self.rx_prop.exactMatch(s):
+            elif match.re is self.rx_prop:
                 if self.lastProp:
                     self.__generateItem(
                         self.lastPath, self.lastProp, self.propBuffer)
-                self.lastProp = self.rx_prop.cap(1)
-                self.propBuffer = self.rx_prop.cap(2)
-            else:
-                self.propBuffer += ' '
-                self.propBuffer += s
-        
+                self.lastProp = match.group(1)
+                self.propBuffer = match.group(2)
+    
     def __readStderr(self):
         """
         Private slot to handle the readyReadStandardError signal.

eric ide

mercurial