import os MATANYONE_V1 = "v1" MATANYONE_V2 = "v2" MATANYONE2_SIGNATURE_OFFSET = 61576 MATANYONE1_SIGNATURE_BYTES = bytes([23, 65, 57, 61, 52, 154, 201, 60, 231, 125, 180, 188, 187, 85, 166, 61]) MATANYONE2_SIGNATURE_BYTES = bytes([155, 244, 100, 61, 100, 179, 194, 60, 92, 239, 124, 186, 254, 127, 168, 61]) def detect_matanyone_model_version(model_path): if model_path is None or not os.path.isfile(model_path): return None with open(model_path, "rb") as reader: reader.seek(MATANYONE2_SIGNATURE_OFFSET) actual = reader.read(len(MATANYONE2_SIGNATURE_BYTES)) if actual == MATANYONE1_SIGNATURE_BYTES: return MATANYONE_V1 if actual == MATANYONE2_SIGNATURE_BYTES: return MATANYONE_V2 return None def delete_if_not_matanyone2_model(model_path): if detect_matanyone_model_version(model_path) is not None: return False os.remove(model_path) return True