in fluent/migrate/validator.py [0:0]
def inspect(self):
migrate_func = None
global_assigns = {}
for top_level in ast.iter_child_nodes(self.ast):
if isinstance(top_level, ast.FunctionDef) and top_level.name == "migrate":
if migrate_func:
raise MigrateNotFoundException("Duplicate definition of migrate")
migrate_func = top_level
details = self.inspect_migrate(migrate_func, global_assigns)
if isinstance(top_level, ast.Assign):
process_assign(top_level, global_assigns)
if isinstance(top_level, (ast.Import, ast.ImportFrom)):
if "module" in top_level._fields:
module = top_level.module
else:
module = None
for alias in top_level.names:
asname = alias.asname or alias.name
dotted = alias.name
if module:
dotted = f"{module}.{dotted}"
global_assigns[asname] = dotted
if not migrate_func:
raise MigrateNotFoundException("migrate function not found")
return details