File tree Expand file tree Collapse file tree 1 file changed +11
-4
lines changed Expand file tree Collapse file tree 1 file changed +11
-4
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,15 @@ def stream_command(command: str) -> bool:
1820        universal_newlines = True ,
1921    )
2022
21-     message  =  "" 
23+     pattern  =  re .compile (grep_pattern ) if  grep_pattern  else  None 
24+ 
25+     # Only display lines matching the pattern if grep is specified 
2226    for  line  in  iter (process .stdout .readline , "" ):
23-         message  +=  line 
24-         print (line , end = "" )
27+         if  pattern :
28+             if  pattern .search (line ):
29+                 print (line , end = "" )
30+         else :
31+             print (line , end = "" )
2532
2633    process .stdout .close ()
2734    return_code  =  process .wait ()
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments