human
Complete this python program:
def _check_module(module_context):
assistant
#Here is the Python program you requested.

    """Detect sys.path modifications within module.
    """
    def get_sys_path_powers(names):
        for name in names:
            power = name.parent.parent
            if (power.type in ('power', 'atom_expr')):
                c = power.children
                if (isinstance(c[0], tree.Name) and (c[0].value == 'sys') and (c[1].type == 'trailer')):
                    n = c[1].children[1]
                    if (isinstance(n, tree.Name) and (n.value == 'path')):
                        (yield (name, power))
    sys_path = list(module_context.evaluator.sys_path)
    if isinstance(module_context, CompiledObject):
        return sys_path
    try:
        possible_names = module_context.tree_node.get_used_names()['path']
    except KeyError:
        pass
    else:
        for (name, power) in get_sys_path_powers(possible_names):
            stmt = name.get_definition()
            if (len(power.children) >= 4):
                sys_path.extend(_paths_from_list_modifications(module_context.py__file__(), *power.children[2:4]))
            elif (name.get_definition().type == 'expr_stmt'):
                sys_path.extend(_paths_from_assignment(module_context, stmt))
    return sys_path