code: def _recursive_search_file_in_directory(self, directory, searched_file):
          
          s = os.path.split(searched_file)
  
          for root, dirs, files in os.walk(directory):
              for file in files:
                  # If filename is the same
                  if s[1] == file and (s[0] == '' or s[0] == os.path.basename(root)):
                      path = os.path.normpath(os.path.join(root, s[1]))
                      if os.path.exists(path):
                          return path
          return None
docs: Search for a file in directory and is subdirectories
  
          :returns: Path or None if not found