move to app folder
This commit is contained in:
parent
f5163cd4c2
commit
5fc4bc64b8
|
@ -0,0 +1,83 @@
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
import shutil
|
||||||
|
from shutil import make_archive
|
||||||
|
import hashlib
|
||||||
|
from b2sdk.v1 import InMemoryAccountInfo
|
||||||
|
from b2sdk.v1 import B2Api
|
||||||
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
|
class Pack:
|
||||||
|
def __init__(self):
|
||||||
|
os.environ["GIT_SSH_COMMAND"] = f"/usr/bin/ssh -o StrictHostKeyChecking=no -i {os.getcwd()}/{os.environ.get('SSH_KEY')}"
|
||||||
|
self.branch = os.environ.get('BRANCH')
|
||||||
|
self.packurl = os.environ.get('RESOURCE_PACK_URL')
|
||||||
|
|
||||||
|
if os.path.exists("files"):
|
||||||
|
shutil.rmtree("files")
|
||||||
|
os.mkdir("files")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# info = InMemoryAccountInfo() # store credentials, tokens and cache in memory
|
||||||
|
# self.b2_api = B2Api(info)
|
||||||
|
# self.b2_api.authorize_account("production", os.environ.get("B2_ID"), os.environ.get("B2_KEY"))
|
||||||
|
# self.bucket = self.b2_api.get_bucket_by_name(os.environ.get("BUCKET"))
|
||||||
|
|
||||||
|
def clone(self):
|
||||||
|
command = f"git clone -b {self.branch} --single-branch {self.packurl} files/resourcepack"
|
||||||
|
return os.system(command)
|
||||||
|
|
||||||
|
def __del__(self):
|
||||||
|
if os.path.exists("files"):
|
||||||
|
shutil.rmtree("files")
|
||||||
|
|
||||||
|
def pull(self) -> None:
|
||||||
|
print(os.environ.get("GIT_SSH_COMMAND"))
|
||||||
|
command = f"git -C files/resourcepack pull origin {self.branch}"
|
||||||
|
return os.system(command)
|
||||||
|
|
||||||
|
def collate(self) -> None:
|
||||||
|
if os.path.exists("files/pack"):
|
||||||
|
shutil.rmtree("files/pack")
|
||||||
|
os.mkdir("files/pack")
|
||||||
|
shutil.copytree("files/resourcepack/assets", "files/pack/assets")
|
||||||
|
shutil.copy("files/resourcepack/pack.mcmeta", "files/pack/pack.mcmeta")
|
||||||
|
shutil.copy("files/resourcepack/pack.png", "files/pack/pack.png")
|
||||||
|
|
||||||
|
|
||||||
|
def compress(self) -> None:
|
||||||
|
shutil.make_archive("files/pack", 'zip', "files/pack")
|
||||||
|
shutil.rmtree("files/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)
|
||||||
|
|
||||||
|
def upload(self):
|
||||||
|
self.b2_api.authorize_account("production", os.environ.get("B2_ID"), os.environ.get("B2_KEY"))
|
||||||
|
self.bucket.upload_local_file(local_file="files/pack.zip", file_name="pack.zip")
|
||||||
|
self.bucket.upload_local_file(local_file="files/hash", file_name="hash")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
load_dotenv()
|
||||||
|
print("Pack")
|
||||||
|
pack = Pack()
|
||||||
|
pack.clone()
|
||||||
|
pack.pull()
|
||||||
|
pack.collate()
|
||||||
|
pack.compress()
|
||||||
|
pack.hash()
|
||||||
|
#pack.upload()
|
||||||
|
pack = None
|
Loading…
Reference in New Issue