class_docstr: default setting for report constants
docstr: add a list of image blocks with each block formatted by a grid specification
  
  Args
      image_set: list, the list of image_paths
  
      grid_spec (dict): indicate image size and position
          - key: image_name, or index if image_set is a list
          - value: (x,y,w,h) position and weight/height of image,
                with left top corner of the block as (0,0), unit in mm
  
      ratio (bool): indicate grid specification by ratio
                    instead of absolute size.
                If True, grid_width and grid_height are required.
  
      grid_width (int): width of the entire grid block (unit in mm)
  
      grid_height (int): height of the entire grid block (unit in mm)
  
      caption (str): caption of the entire grid block
  
      style (str): style of caption
  Returns:
      (bool) True if image blocks generate successfully, otherwise False
docstr_tok: ["add","a","list","of","image","blocks","with","each","block","formatted","by","a","grid","specification","Args","image_set",":","list",",","the","list","of","image_paths","grid_spec","(","dict",")",":","indicate","image","size","and","position","-","key",":","image_name",",","or","index","if","image_set","is","a","list","-","value",":","(","x",",","y",",","w",",","h",")","position","and","weight\/height","of","image",",","with","left","top","corner","of","the","block","as","(","0,0",")",",","unit","in","mm","ratio","(","bool",")",":","indicate","grid","specification","by","ratio","instead","of","absolute","size",".","If","True",",","grid_width","and","grid_height","are","required",".","grid_width","(","int",")",":","width","of","the","entire","grid","block","(","unit","in","mm",")","grid_height","(","int",")",":","height","of","the","entire","grid","block","(","unit","in","mm",")","caption","(","str",")",":","caption","of","the","entire","grid","block","style","(","str",")",":","style","of","caption","Returns",":","(","bool",")","True","if","image","blocks","generate","successfully",",","otherwise","False"]
code: def add_list_of_grid_images(
      self,
      image_set,
      grid_spec,
      ratio=False,
      grid_width=None,
      grid_height=None,
      caption=None,
      style=None,
  ):
      """
      add a list of image blocks with each block formatted by a grid specification
  
      Args
          image_set: list, the list of image_paths
  
          grid_spec (dict): indicate image size and position
              - key: image_name, or index if image_set is a list
              - value: (x,y,w,h) position and weight/height of image,
                    with left top corner of the block as (0,0), unit in mm
  
          ratio (bool): indicate grid specification by ratio
                        instead of absolute size.
                    If True, grid_width and grid_height are required.
  
          grid_width (int): width of the entire grid block (unit in mm)
  
          grid_height (int): height of the entire grid block (unit in mm)
  
          caption (str): caption of the entire grid block
  
          style (str): style of caption
      Returns:
          (bool) True if image blocks generate successfully, otherwise False
      """
      grid_size = len(grid_spec)
      title_drawed = False
      for idx in range(0, len(image_set), grid_size):
          if not title_drawed:
              success = self.add_grid_images(
                  image_set[idx : idx + grid_size],
                  grid_spec,
                  ratio=ratio,
                  grid_width=grid_width,
                  grid_height=grid_height,
                  caption=caption,
                  style=style,
              )
          else:
              success = self.add_grid_images(
                  image_set[idx : idx + grid_size],
                  grid_spec,
                  ratio=ratio,
                  grid_width=grid_width,
                  grid_height=grid_height,
              )
          if not success:
              return False
          title_drawed = True
      return True
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import os
  import warnings
  import datetime
  import re
  from fpdf import FPDF
label_desc: Use image node_id 20 for calling the CustomPdf obj's underlying member method code with example usage: obj.add_list_of_grid_images(image_set, grid_spec, ratio, grid_width, grid_height, caption, style) and returns: True, False