file_version = (1, 0, 0) file_version_string = "{}.{}.{}".format(file_version[0], file_version[1], file_version[2]) def check_file_version(filename, root_node): try: version_node = root_node["meta"]["version"]["json"] except KeyError: print("WARNING:") print(" {} is written in an older, unversioned format. ".format(filename)) print(" It may not read correctly.") print(" Reader expects JSON file version {}.".format(file_version_string)) return # TODO We could do something fancy here using semantic versioning, but # for now just warn on mismatch. if version_node["string"] != file_version_string: print("WARNING:") print(" {} was written using a different NVBench JSON file version." .format(filename)) print(" It may not read correctly.") print(" (file version: {} reader version: {})" .format(version_node["string"], file_version_string))