Finds all the modules decorated with the specified decorator in the path, file or module specified.
        Args    :
            path      : All modules in the directory and its sub-directories will be scanned.
            decorator_module    : Then full name of the module defining the decorator.
            decorator_name      : The name of the decorator.

def find_modules_with_decorators(path,decorator_module,decorator_name):
    '''
        Finds all the modules decorated with the specified decorator in the path, file or module specified.
        Args    :
            path      : All modules in the directory and its sub-directories will be scanned.
            decorator_module    : Then full name of the module defining the decorator.
            decorator_name      : The name of the decorator.
    '''

    modules_paths = []

    #If a path to a module file
    if path[-3:] == '.py':
        modules_paths.append(path)
    #If a directory, Get all the .py files
    else :
        modules_paths    += find_file_regex(path,'.*\.py$')

    #Return only modules using the decorator
    return [module for module in modules_paths if is_module_has_decorated(module,decorator_module,decorator_name)]