def get_module_files(src_directory, blacklist, list_all=False):
files = []<EOL>for directory, dirnames, filenames in os.walk(src_directory):<EOL><INDENT>if directory in blacklist:<EOL><INDENT>continue<EOL><DEDENT>_handle_blacklist(blacklist, dirnames, filenames)<EOL>if not list_all and "<STR_LIT>" not in filenames:<EOL><INDENT>dirnames[:] = ()<EOL>continue<EOL><DEDENT>for filename in filenames:<EOL><INDENT>if _is_python_file(filename):<EOL><INDENT>src = os.path.join(directory, filename)<EOL>files.append(src)<EOL><DEDENT><DEDENT><DEDENT>return files<EOL>
given a package directory return a list of all available python
    module's files in the package and its subpackages

    :type src_directory: str
    :param src_directory:
      path of the directory corresponding to the package

    :type blacklist: list or tuple
    :param blacklist: iterable
      list of files or directories to ignore.

    :type list_all: bool
    :param list_all:
        get files from all paths, including ones without __init__.py

    :rtype: list
    :return:
      the list of all available python module's files in the package and
      its subpackages