docs: def _md5_of_file(sub_string):
      """
          This will return the md5 of the file in sub_string
      :param sub_string: str of the path or relative path to a file
      :return: str
      """
      md5 = hashlib.md5()
      file_path = sub_string
      if not os.path.exists(file_path):
          file_path = os.path.join(os.environ['CAFE_DATA_DIR_PATH'], file_path)
      if not os.path.exists(file_path):
          file_path = file_path.replace(' ', '_')
      assert (os.path.exists(file_path)), "File %s doesn't exist" % file_path
      with open(file_path, 'rb') as f:
          for chunk in iter(lambda: f.read(8192), b''):
              md5.update(chunk)
      return md5.hexdigest()