code: def get_local_file(file):
      
      try:
          with open(file.path):
              yield file.path
      except NotImplementedError:
          _, ext = os.path.splitext(file.name)
          with NamedTemporaryFile(prefix='wagtailvideo-', suffix=ext) as tmp:
              try:
                  file.open('rb')
                  for chunk in file.chunks():
                      tmp.write(chunk)
              finally:
                  file.close()
              tmp.flush()
              yield tmp.name
docs: Get a local version of the file, downloading it from the remote storage if
      required. The returned value should be used as a context manager to
      ensure any temporary files are cleaned up afterwards.