code: def get_module_files(src_directory, blacklist, list_all=False):
      
      files = []
      for directory, dirnames, filenames in os.walk(src_directory):
          if directory in blacklist:
              continue
          _handle_blacklist(blacklist, dirnames, filenames)
          # check for __init__.py
          if not list_all and "__init__.py" not in filenames:
              dirnames[:] = ()
              continue
          for filename in filenames:
              if _is_python_file(filename):
                  src = os.path.join(directory, filename)
                  files.append(src)
      return files
docs: 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