#!/usr/bin/env python3

import tarfile
import io
import sys

tar = tarfile.open(sys.argv[1], "r:gz")
target = tarfile.open(sys.argv[2], "w:gz")

# This corresponds to the GUID of AstarUpdateChecker.cs
target_filename = "./8df9913c9ee004459b24d89644e573d7/asset"

for member in tar.getmembers():
	if member.name == target_filename:
		data = tar.extractfile(member)
		id = sys.argv[3]
		key = r'?v="+AstarPath.Version+'
		sub = key + ' "&build=' + id + '"+';
		bytes = data.read()
		newdata = bytes.replace(key.encode('utf-8'), sub.encode('utf-8'))
		
		string = io.BytesIO(newdata)
		info = tarfile.TarInfo(member.name)
		info.size = len(newdata)
		target.addfile(tarinfo=info, fileobj=string)
	else:
		data = tar.extractfile(member)
		target.addfile(member, data)

tar.close()
target.close()