Re: [libvirt PATCH 1/6] scripts: group-qemu-caps: use read

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 31, 2024 at 03:20:47PM +0200, Ján Tomko wrote:
Signed-off-by: Ján Tomko <jtomko@xxxxxxxxxx>
---
scripts/group-qemu-caps.py | 34 ++++++++++++++++++----------------
1 file changed, 18 insertions(+), 16 deletions(-)

diff --git a/scripts/group-qemu-caps.py b/scripts/group-qemu-caps.py
index 8a899a76c2..ec10f24384 100755
--- a/scripts/group-qemu-caps.py
+++ b/scripts/group-qemu-caps.py
@@ -30,24 +30,26 @@ import sys
def load_caps_flags(filename, start_regex, end_regex):
    capsflags = []
    game_on = False
+    lines = []

    with open(filename, "r") as fh:
-        for line in fh:
-            line = line.rstrip("\n")
-            if game_on:
-                if re.search(r'''.*/\* [0-9]+ \*/.*''', line):
-                    continue
-                if re.search(r'''^\s*$''', line):
-                    continue
-                match = re.search(r'''[ ]+([A-Z0-9_]+)''', line)
-
-                if match:
-                    capsflags.append(match[1])
-
-            if re.search(start_regex, line):
-                game_on = True
-            elif game_on and re.search(end_regex, line):
-                game_on = False
+        lines = fh.read().splitlines()

What's the point?  This way you have to read the whole file into the
memory.  If you keep it as is and just break on `game_on = False` you
skip reading the rest of the file at least.  You can even do:

  for line in open(filename, 'r'):

+
+    for line in lines:
+        if game_on:
+            if re.search(r'''.*/\* [0-9]+ \*/.*''', line):
+                continue
+            if re.search(r'''^\s*$''', line):
+                continue
+            match = re.search(r'''[ ]+([A-Z0-9_]+)''', line)
+
+            if match:
+                capsflags.append(match[1])
+
+        if re.search(start_regex, line):
+            game_on = True
+        elif game_on and re.search(end_regex, line):
+            game_on = False

    return capsflags

--
2.45.2

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux