| 209 | |
| 210 | |
| 211 | class ImportFinder(ast.NodeVisitor): |
| 212 | def __init__(self): |
| 213 | self.packages = set() |
| 214 | |
| 215 | def visit_Import(self, node): |
| 216 | for alias in node.names: |
| 217 | # Get the base package name (before any dots) |
| 218 | base_package = alias.name.split(".")[0] |
| 219 | self.packages.add(base_package) |
| 220 | |
| 221 | def visit_ImportFrom(self, node): |
| 222 | if node.module: # for "from x import y" statements |
| 223 | # Get the base package name (before any dots) |
| 224 | base_package = node.module.split(".")[0] |
| 225 | self.packages.add(base_package) |
| 226 | |
| 227 | |
| 228 | def get_method_source(method): |
no outgoing calls
no test coverage detected