88 lines
2.4 KiB
Python
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)
|
|
|