Add resource pack processing

This commit is contained in:
jimmy 2021-05-25 02:22:30 +00:00
parent 46f119a3c1
commit c70bf9a8c2
1 changed files with 60 additions and 0 deletions

60
src/pack.py Normal file
View File

@ -0,0 +1,60 @@
import os
import re
import shutil
import zipfile
import hashlib
from dotenv import load_dotenv
class Pack:
def __init__(self):
load_dotenv()
self.repourl = os.environ.get("RESOURCE_PACK_URL")
command = "git clone git@github.com:" + self.repourl
self.dir = re.split("/|\.", self.repourl)[1]
status = os.system(command)
print(status)
def __del__(self):
shutil.rmtree(self.dir)
def pull(self) -> None:
os.system("git -C {} pull origin master".format(self.dir))
def collate(self) -> None:
if os.path.exists("pack"):
shutil.rmtree("pack")
os.mkdir("pack")
shutil.copytree(self.dir+"/assets", "pack/assets")
shutil.copy("ResourcePack/pack.mcmeta", "pack/pack.mcmeta")
shutil.copy("ResourcePack/pack.png", "pack/pack.png")
def compress(self) -> None:
if not os.path.exists("files"):
os.mkdir("files")
os.system("zip -r files/pack.zip pack")
shutil.rmtree("pack")
def hash(self):
sha1sum = hashlib.sha1()
with open("files/pack.zip", "rb") as pack:
block = pack.read(2**16)
while len(block) != 0:
sha1sum.update(block)
block = pack.read(2**16)
self.hash = sha1sum.hexdigest()
with open("files/hash", 'w') as hashfile:
hashfile.write(self.hash)
if __name__ == "__main__":
from dotenv import load_dotenv
load_dotenv()
pack = Pack()
pack.pull()
pack.collate()
pack.compress()
pack.hash()
#pack = None