TamaTown/ON/download_on.py

88 lines
2.4 KiB
Python

import requests
import os
import hashlib
s = requests.Session()
def genUrl(version, platform, file):
return "https://tmgcmeetsapp.com/asset/"+version+"/"+platform+"/"+file
def genFiles(version, platform, file):
return version+"/"+platform+"/"+file
def makeDirsFor(filename):
dirPath = os.path.dirname(filename)
if not os.path.exists(dirPath):
os.makedirs(dirPath)
def md5(fname):
hash_md5 = hashlib.md5()
hash_md5.update(open(fname, "rb").read())
return hash_md5.hexdigest()
streamingassets = [
"common/common.csv",
"audio/audio.csv",
"accessory/accessory.csv",
"avatar/avatar.csv",
"chara/chara.csv",
"infos/infos.csv",
"npc/npc.csv",
"pet/pet.csv",
"scenes/scenes.csv",
# "chara/settings",
# "accessory/settings",
# "audio/se",
# "avatar/sprites",
"infos_en/infos_en.csv",
"scenes_en/scenes_en.csv",
]
versions = ["v6", "v7"]
platforms = ["Android", "iOS"]
for version in versions:
for platform in platforms:
for streamingasset in streamingassets:
url = genUrl(version, platform, streamingasset)
print(url)
r = s.get(url)
if not r.status_code == 200:
continue
f = genFiles(version, platform, streamingasset)
makeDirsFor(f)
open(f, "wb").write(r.content)
# Download all assets folder
if streamingasset.endswith(".csv"):
csvdata = r.content.replace(b"\r", b"").split(b'\n')
for csv in csvdata:
if csv == b"":
continue
commas = csv.split(b',')
relPath = commas[0].decode("UTF-8")
url = genUrl(version, platform, relPath)
print(url)
f = genFiles(version, platform, relPath)
replace = False
if not os.path.exists(f):
r = s.get(url)
if not r.status_code == 200:
continue
makeDirsFor(f)
open(f, "wb").write(r.content)