code: def get_session(
      self,
      session_id: str,
      update_ts: bool = True,
      fetch_cache: bool = True,
  ):
      session_info = self.get(session_id) if fetch_cache else None
      if session_info is None:
          path = os.path.join(self.store_path, session_id)
          if os.path.exists(path):
              meta_file = os.path.join(path, "meta.info")
              if os.path.exists(meta_file):
                  with open(meta_file) as meta:
                      session_info = SessionInfo(
                          json.loads(meta.readline())
                      )
                  self[session_id] = session_info
  
      if session_info and not os.path.exists(session_info.image):
          logger.info(
              f"Dangling session-id: {session_id} (will be removed)"
          )
          self.remove_session(session_id)
          session_info = None
  
      if session_info and update_ts:
          session_info.last_access_ts = int(time.time())
          self._write_meta_info(session_id, session_info)
      return session_info
  
imports: import json
  import logging
  import os
  import pathlib
  import shutil
  import tempfile
  import time
  import uuid
  from typing import Dict
label_desc: Use image node_id 3 for calling the Sessions obj's underlying member method code with example usage: obj.get_session(session_id, update_ts, fetch_cache) and returns: session_info