File tree Expand file tree Collapse file tree 1 file changed +10
-2
lines changed Expand file tree Collapse file tree 1 file changed +10
-2
lines changed Original file line number Diff line number Diff line change 1+ import re
12import subprocess
23
34
@@ -8,7 +9,8 @@ def run_command(command: str) -> str:
89 return result .stdout
910
1011
11- def stream_command (command : str ) -> bool :
12+ def stream_command (command : str , grep_pattern : str = "" ) -> bool :
13+ """Stream output and apply an optional pattern filter."""
1214 process = subprocess .Popen (
1315 ["bash" , "-c" , command ],
1416 stdout = subprocess .PIPE ,
@@ -18,10 +20,16 @@ def stream_command(command: str) -> bool:
1820 universal_newlines = True ,
1921 )
2022
23+ pattern = re .compile (grep_pattern ) if grep_pattern else None
2124 message = ""
25+ # Only display lines matching the pattern if grep is specified
2226 for line in iter (process .stdout .readline , "" ):
2327 message += line
24- print (line , end = "" )
28+ if pattern :
29+ if pattern .search (line ):
30+ print (line , end = "" )
31+ else :
32+ print (line , end = "" )
2533
2634 process .stdout .close ()
2735 return_code = process .wait ()
You can’t perform that action at this time.
0 commit comments