@@ -167,31 +167,34 @@ def visit_ImportFrom(self, node: ast.ImportFrom) -> None:
167167            if  alias .name  ==  "*" :
168168                # Star imports - we can't know what's imported, so be conservative 
169169                self .imported_names .add ("*" )
170-             else :
171-                 imported_name  =  alias .asname  if  alias .asname  else  alias .name 
170+             elif  imported_name  :=  (alias .asname  if  alias .asname  else  alias .name ):
172171                self .imported_names .add (imported_name )
173- 
174-                 # Check if this import matches any target function 
175172                if  alias .name  in  self .function_names_to_find :
176173                    self .found_target_functions .add (alias .name )
177174        self .generic_visit (node )
178175
179176    def  visit_Call (self , node : ast .Call ) ->  None :
180177        """Handle dynamic imports like importlib.import_module() or __import__().""" 
181-         if  isinstance (node .func , ast .Name ) and  node .func .id  ==  "__import__"  and  node .args :
178+         if  (
179+             isinstance (node .func , ast .Name )
180+             and  node .func .id  ==  "__import__" 
181+             and  node .args 
182+             and  isinstance (node .args [0 ], ast .Constant )
183+             and  isinstance (node .args [0 ].value , str )
184+         ):
182185            # __import__("module_name") 
183-             if  isinstance (node .args [0 ], ast .Constant ) and  isinstance (node .args [0 ].value , str ):
184-                 self .imported_modules .add (node .args [0 ].value )
186+             self .imported_modules .add (node .args [0 ].value )
185187        elif  (
186188            isinstance (node .func , ast .Attribute )
187189            and  isinstance (node .func .value , ast .Name )
188190            and  node .func .value .id  ==  "importlib" 
189191            and  node .func .attr  ==  "import_module" 
190192            and  node .args 
193+             and  isinstance (node .args [0 ], ast .Constant )
194+             and  isinstance (node .args [0 ].value , str )
191195        ):
192196            # importlib.import_module("module_name") 
193-             if  isinstance (node .args [0 ], ast .Constant ) and  isinstance (node .args [0 ].value , str ):
194-                 self .imported_modules .add (node .args [0 ].value )
197+             self .imported_modules .add (node .args [0 ].value )
195198        self .generic_visit (node )
196199
197200    def  visit_Name (self , node : ast .Name ) ->  None :
0 commit comments