@@ -141,7 +141,13 @@ def visit_Call(self, node: cst.Call) -> Optional[bool]:
141141 # TODO sometimes there is more than one setup call, we might
142142 # prioritize/merge...
143143 if any (
144- q .name in ("setuptools.setup" , "distutils.core.setup" , "setup3lib" )
144+ q .name
145+ in (
146+ "setuptools.setup" ,
147+ "distutils.core.setup" ,
148+ "setup3lib" ,
149+ "skbuild.setup" ,
150+ )
145151 for q in names
146152 ):
147153 self .found_setup = True
@@ -177,7 +183,8 @@ def evaluate_in_scope(self, item: cst.CSTNode, scope: Any) -> Any:
177183
178184 if isinstance (item , cst .SimpleString ):
179185 return item .evaluated_value
180- # TODO int/float/etc
186+ elif isinstance (item , (cst .Integer , cst .Float )):
187+ return int (item .value )
181188 elif isinstance (item , cst .Name ) and item .value in self .BOOL_NAMES :
182189 return self .BOOL_NAMES [item .value ]
183190 elif isinstance (item , cst .Name ):
@@ -277,7 +284,14 @@ def evaluate_in_scope(self, item: cst.CSTNode, scope: Any) -> Any:
277284 # TODO: Figure out why this is Sequence
278285 if isinstance (item .slice [0 ].slice , cst .Index ):
279286 rhs = self .evaluate_in_scope (item .slice [0 ].slice .value , scope )
280- return lhs .get (rhs , "??" )
287+ try :
288+ if isinstance (lhs , dict ):
289+ return lhs .get (rhs , "??" )
290+ else :
291+ return lhs [rhs ]
292+ except Exception :
293+ return "??"
294+
281295 else :
282296 # LOG.warning(f"Omit2 {type(item.slice[0].slice)!r}")
283297 return "??"
0 commit comments