old_contents: """
  Get the image file.
  """
  import os
  import random
  import sys
  
  from .settings import CACHE_DIR
  from . import util
  from . import wallpaper
  
  
  def get_random_image(img_dir):
      """Pick a random image file from a directory."""
      current_wall = wallpaper.get()
      current_wall = os.path.basename(current_wall)
  
      file_types = (".png", ".jpg", ".jpeg", ".jpe", ".gif")
      images = [img for img in os.scandir(img_dir)
                if img.name.endswith(file_types) and img.name != current_wall]
  
      if not images:
          print("image: No new images found (nothing to do), exiting...")
          sys.exit(1)
  
      return os.path.join(img_dir, random.choice(images).name)
  
  
  def get(img, cache_dir=CACHE_DIR):
      """Validate image input."""
      if os.path.isfile(img):
          wal_img = img
  
      elif os.path.isdir(img):
          wal_img = get_random_image(img)
  
      else:
          print("error: No valid image file found.")
          sys.exit(1)
  
      wal_img = os.path.abspath(wal_img)
  
      # Cache the image file path.
      util.save_file(wal_img, os.path.join(cache_dir, "wal"))
  
      print("image: Using image", wal_img)
      return wal_img
  
new_contents: """
  Get the image file.
  """
  import os
  import random
  import sys
  
  from .settings import CACHE_DIR
  from . import util
  from . import wallpaper
  
  
  def get_random_image(img_dir):
      """Pick a random image file from a directory."""
      current_wall = wallpaper.get()
      current_wall = os.path.basename(current_wall)
  
      file_types = (".png", ".jpg", ".jpeg", ".jpe", ".gif",
                    ".PNG", ".JPG", ".JPEG", ".JPE", ".GIF")
  
      images = [img for img in os.scandir(img_dir)
                if img.name.endswith(file_types) and img.name != current_wall]
  
      if not images:
          print("image: No new images found (nothing to do), exiting...")
          sys.exit(1)
  
      return os.path.join(img_dir, random.choice(images).name)
  
  
  def get(img, cache_dir=CACHE_DIR):
      """Validate image input."""
      if os.path.isfile(img):
          wal_img = img
  
      elif os.path.isdir(img):
          wal_img = get_random_image(img)
  
      else:
          print("error: No valid image file found.")
          sys.exit(1)
  
      wal_img = os.path.abspath(wal_img)
  
      # Cache the image file path.
      util.save_file(wal_img, os.path.join(cache_dir, "wal"))
  
      print("image: Using image", wal_img)
      return wal_img
  
subject: Fix shuffle not working with some file types