aboutsummaryrefslogtreecommitdiff
path: root/codegen/lib/download.py
diff options
context:
space:
mode:
authormat <27899617+mat-1@users.noreply.github.com>2022-06-17 23:10:54 +0000
committerGitHub <noreply@github.com>2022-06-17 23:10:54 +0000
commitf414aa4d37e0c6a7adf55b772fa93714be6e9c9c (patch)
tree8cfb7d33114b9537b50477d5d6980995eec6cc5c /codegen/lib/download.py
parent56f98c1b243d1ba8906ac73a2f2d8eec5646183e (diff)
parent0a945e73ec43b3b0389e004e138c83f41cddc532 (diff)
downloadazalea-drasl-f414aa4d37e0c6a7adf55b772fa93714be6e9c9c.tar.xz
Merge pull request #9 from mat-1/azalea-block
azalea-block
Diffstat (limited to 'codegen/lib/download.py')
-rw-r--r--codegen/lib/download.py48
1 files changed, 23 insertions, 25 deletions
diff --git a/codegen/lib/download.py b/codegen/lib/download.py
index 7d14a3a3..e05d9a93 100644
--- a/codegen/lib/download.py
+++ b/codegen/lib/download.py
@@ -1,39 +1,40 @@
+from lib.utils import get_dir_location
from .mappings import Mappings
import requests
import json
import os
# make sure the downloads directory exists
-if not os.path.exists('downloads'):
- os.mkdir('downloads')
+if not os.path.exists(get_dir_location('downloads')):
+ os.mkdir(get_dir_location('downloads'))
def get_burger():
- if not os.path.exists('downloads/Burger'):
+ if not os.path.exists(get_dir_location('downloads/Burger')):
print('\033[92mDownloading Burger...\033[m')
os.system(
- 'cd downloads && git clone https://github.com/pokechu22/Burger && cd Burger && git pull')
+ f'cd {get_dir_location("downloads")} && git clone https://github.com/pokechu22/Burger && cd Burger && git pull')
print('\033[92mInstalling dependencies...\033[m')
os.system('cd downloads/Burger && pip install six jawa')
def get_version_manifest():
- if not os.path.exists(f'downloads/version_manifest.json'):
+ if not os.path.exists(get_dir_location(f'downloads/version_manifest.json')):
print(
f'\033[92mDownloading version manifest...\033[m')
version_manifest_data = requests.get(
'https://launchermeta.mojang.com/mc/game/version_manifest.json').json()
- with open(f'downloads/version_manifest.json', 'w') as f:
+ with open(get_dir_location(f'downloads/version_manifest.json'), 'w') as f:
json.dump(version_manifest_data, f)
else:
- with open(f'downloads/version_manifest.json', 'r') as f:
+ with open(get_dir_location(f'downloads/version_manifest.json'), 'r') as f:
version_manifest_data = json.load(f)
return version_manifest_data
def get_version_data(version_id: str):
- if not os.path.exists(f'downloads/{version_id}.json'):
+ if not os.path.exists(get_dir_location(f'downloads/{version_id}.json')):
version_manifest_data = get_version_manifest()
print(
@@ -45,46 +46,43 @@ def get_version_data(version_id: str):
raise ValueError(
f'No version with id {version_id} found. Maybe delete downloads/version_manifest.json and try again?')
package_data = requests.get(package_url).json()
- with open(f'downloads/{version_id}.json', 'w') as f:
+ with open(get_dir_location(f'downloads/{version_id}.json'), 'w') as f:
json.dump(package_data, f)
else:
- with open(f'downloads/{version_id}.json', 'r') as f:
+ with open(get_dir_location(f'downloads/{version_id}.json'), 'r') as f:
package_data = json.load(f)
return package_data
def get_client_jar(version_id: str):
- if not os.path.exists(f'downloads/client-{version_id}.jar'):
+ if not os.path.exists(get_dir_location(f'downloads/client-{version_id}.jar')):
package_data = get_version_data(version_id)
print('\033[92mDownloading client jar...\033[m')
client_jar_url = package_data['downloads']['client']['url']
- with open(f'downloads/client-{version_id}.jar', 'wb') as f:
+ with open(get_dir_location(f'downloads/client-{version_id}.jar'), 'wb') as f:
f.write(requests.get(client_jar_url).content)
-def get_burger_data_for_version(version_id: str):
- if not os.path.exists(f'downloads/burger-{version_id}.json'):
- get_burger()
- get_client_jar(version_id)
-
- os.system(
- f'cd downloads/Burger && python munch.py ../client-{version_id}.jar --output ../burger-{version_id}.json'
- )
- with open(f'downloads/burger-{version_id}.json', 'r') as f:
- return json.load(f)
+def get_server_jar(version_id: str):
+ if not os.path.exists(get_dir_location(f'downloads/server-{version_id}.jar')):
+ package_data = get_version_data(version_id)
+ print('\033[92mDownloading server jar...\033[m')
+ server_jar_url = package_data['downloads']['server']['url']
+ with open(get_dir_location(f'downloads/server-{version_id}.jar'), 'wb') as f:
+ f.write(requests.get(server_jar_url).content)
def get_mappings_for_version(version_id: str):
- if not os.path.exists(f'downloads/mappings-{version_id}.txt'):
+ if not os.path.exists(get_dir_location(f'downloads/mappings-{version_id}.txt')):
package_data = get_version_data(version_id)
client_mappings_url = package_data['downloads']['client_mappings']['url']
mappings_text = requests.get(client_mappings_url).text
- with open(f'downloads/mappings-{version_id}.txt', 'w') as f:
+ with open(get_dir_location(f'downloads/mappings-{version_id}.txt'), 'w') as f:
f.write(mappings_text)
else:
- with open(f'downloads/mappings-{version_id}.txt', 'r') as f:
+ with open(get_dir_location(f'downloads/mappings-{version_id}.txt'), 'r') as f:
mappings_text = f.read()
return Mappings.parse(mappings_text)