kambala wrote:a simple bash script to automate mod update, requires7z
(p7zip) to be in PATHCode: Select all
#!/usr/bin/env bash
if [ -z "$1" ]; then
echo "provide output path"
exit 1
fi
tempFile=$(mktemp)
for part in dlls mod; do
echo "downloading $part"
curl -L -o "$tempFile" "http://get.median-xl.com/launcher/?get=$part"
7z x -y -o"$1" "$tempFile"
rm -f "$tempFile"
done
Code: Select all
#!/usr/bin/env python3
import json
from subprocess import run
from urllib.error import URLError
from urllib.request import urlopen, urlretrieve
try:
with urlopen('https://launcher.median-xl.com/mxl/release/public/manifest') as response:
manifest = json.loads(response.read().decode('utf-8'))
print(f'downloading files for v{manifest['tag']}')
for fileInfo in manifest['files']:
fileName = fileInfo['name']
fileNameLowercase = fileName.casefold()
if (fileNameLowercase.endswith('.mpq') and fileNameLowercase != 'patch_d2.mpq') or fileNameLowercase == 'd2sigma.dll' or fileNameLowercase == 'fog.dll':
print(f'\ndownloading {fileName}...')
# urlretrieve(fileInfo['url'], fileName)
run(['curl', '-L', '-o', fileName, fileInfo['url']])
except URLError as e:
print(e)