code: def __init__(self, job, task_filters=None, wait_for_task=None):
      self.job = job
  
      tasks = sorted(job.tasks.items())
      if task_filters:
          filtered = set()
          for pattern in task_filters:
              filtered |= set(fnmatch.filter(job.tasks.keys(), pattern))
  
          tasks = [
              (name, task) for name, task in tasks if name in filtered
          ]
  
      self._tasks = dict(tasks)
      self._wait_for_task = wait_for_task
  
imports: import collections
  import csv
  import operator
  import fnmatch
  import functools
  import time
  import click
  import requests
  from archery.utils.report import JinjaReport
label_desc: Use image node_id 1 to create a new Report object  with example: obj = Report(job, task_filters, wait_for_task)