You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			22 lines
		
	
	
		
			916 B
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			22 lines
		
	
	
		
			916 B
		
	
	
	
		
			Python
		
	
def import_module(callback):
 | 
						|
    """
 | 
						|
    Handle "magic" Flask extension imports:
 | 
						|
    ``flask.ext.foo`` is really ``flask_foo`` or ``flaskext.foo``.
 | 
						|
    """
 | 
						|
    def wrapper(inference_state, import_names, module_context, *args, **kwargs):
 | 
						|
        if len(import_names) == 3 and import_names[:2] == ('flask', 'ext'):
 | 
						|
            # New style.
 | 
						|
            ipath = ('flask_' + import_names[2]),
 | 
						|
            value_set = callback(inference_state, ipath, None, *args, **kwargs)
 | 
						|
            if value_set:
 | 
						|
                return value_set
 | 
						|
            value_set = callback(inference_state, ('flaskext',), None, *args, **kwargs)
 | 
						|
            return callback(
 | 
						|
                inference_state,
 | 
						|
                ('flaskext', import_names[2]),
 | 
						|
                next(iter(value_set)),
 | 
						|
                *args, **kwargs
 | 
						|
            )
 | 
						|
        return callback(inference_state, import_names, module_context, *args, **kwargs)
 | 
						|
    return wrapper
 |