code: def get_abs_image_path(self, path):
          
  
          if not path:
              return ""
          orig_path = path
  
          server_config = self.config.get_section_config("Server")
          img_directory = self.get_images_directory()
  
          # Windows path should not be send to a unix server
          if not sys.platform.startswith("win"):
              if re.match(r"^[A-Z]:", path) is not None:
                  raise NodeError("{} is not allowed on this remote server. Please use only a filename in {}.".format(path, img_directory))
  
          if not os.path.isabs(path):
              for directory in images_directories(self._NODE_TYPE):
                  path = self._recursive_search_file_in_directory(directory, orig_path)
                  if path:
                      return force_unix_path(path)
  
              # Not found we try the default directory
              s = os.path.split(orig_path)
              path = force_unix_path(os.path.join(img_directory, *s))
              if os.path.exists(path):
                  return path
              raise ImageMissingError(orig_path)
  
          # For non local server we disallow using absolute path outside image directory
          if server_config.getboolean("local", False) is True:
              path = force_unix_path(path)
              if os.path.exists(path):
                  return path
              raise ImageMissingError(orig_path)
  
          path = force_unix_path(path)
          for directory in images_directories(self._NODE_TYPE):
              if os.path.commonprefix([directory, path]) == directory:
                  if os.path.exists(path):
                      return path
                  raise ImageMissingError(orig_path)
          raise NodeError("{} is not allowed on this remote server. Please use only a filename in {}.".format(path, img_directory))
docs: Get the absolute path of an image
  
          :param path: file path
          :return: file path