mirror of
https://github.com/minetest-mods/skinsdb.git
synced 2024-12-22 23:40:18 +01:00
Replace skinsdb API source (#91)
The old API is no longer reachable, thus got replaced. This also removes the obsolete skin preview download because the mod is capable of generating them automatically. Co-authored-by: CallMeDax <142984237+CallMeDax@users.noreply.github.com>
This commit is contained in:
parent
d3c7fa71c0
commit
271c109073
@ -47,9 +47,8 @@ if #internal.errors > 0 then
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- http://minetest.fensta.bplaced.net/api/apidoku.md
|
-- http://minetest.fensta.bplaced.net/api/apidoku.md
|
||||||
local root_url = "http://minetest.fensta.bplaced.net"
|
local root_url = "http://skinsdb.terraqueststudios.net"
|
||||||
local page_url = root_url .. "/api/v2/get.json.php?getlist&page=%i&outformat=base64" -- [1] = Page#
|
local page_url = root_url .. "/api/v1/content?client=mod&page=%i" -- [1] = Page#
|
||||||
local preview_url = root_url .. "/skins/1/%i.png" -- [1] = ID
|
|
||||||
|
|
||||||
local mod_path = skins.modpath
|
local mod_path = skins.modpath
|
||||||
local meta_path = mod_path .. "/meta/"
|
local meta_path = mod_path .. "/meta/"
|
||||||
@ -100,9 +99,6 @@ local function safe_single_skin(skin)
|
|||||||
skins_path .. name .. ".png",
|
skins_path .. name .. ".png",
|
||||||
core.decode_base64(skin.img)
|
core.decode_base64(skin.img)
|
||||||
)
|
)
|
||||||
fetch_url(preview_url:format(skin.id), function(preview)
|
|
||||||
unsafe_file_write(skins_path .. name .. skins.fsep .. "preview.png", preview)
|
|
||||||
end)
|
|
||||||
core.log("action", ("%s: Completed skin %s"):format(_ID_, name))
|
core.log("action", ("%s: Completed skin %s"):format(_ID_, name))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -4,12 +4,11 @@ import sys, requests, base64
|
|||||||
#fsep = "_"
|
#fsep = "_"
|
||||||
fsep = "."
|
fsep = "."
|
||||||
|
|
||||||
download_preview = ( len (sys.argv) > 1 and sys.argv[1] == "with_preview" )
|
|
||||||
|
|
||||||
|
|
||||||
print("Downloading skins from minetest.fensta.bplaced.net ...")
|
print("Downloading skins from skinsdb.terraqueststudio.net ...")
|
||||||
# Requesting all skins and their raw texture using the API
|
# Requesting all skins and their raw texture using the API
|
||||||
r = requests.get('http://minetest.fensta.bplaced.net/api/v2/get.json.php?getlist&page=1&per_page=999999999')
|
r = requests.get('http://skinsdb.terraqueststudios.net/api/v1/content?client=script&page=1&per_page=10000')
|
||||||
|
|
||||||
if r.status_code != 200:
|
if r.status_code != 200:
|
||||||
sys.exit("Request failed!")
|
sys.exit("Request failed!")
|
||||||
@ -17,10 +16,7 @@ if r.status_code != 200:
|
|||||||
data = r.json()
|
data = r.json()
|
||||||
count = 0
|
count = 0
|
||||||
|
|
||||||
if download_preview:
|
print("Writing skins")
|
||||||
print("Writing to file and downloading previews ...")
|
|
||||||
else:
|
|
||||||
print("Writing skins")
|
|
||||||
|
|
||||||
|
|
||||||
for json in data["skins"]:
|
for json in data["skins"]:
|
||||||
@ -42,17 +38,5 @@ for json in data["skins"]:
|
|||||||
print("Added #%s Name: %s Author: %s License: %s" % (id, name, author, license))
|
print("Added #%s Name: %s Author: %s License: %s" % (id, name, author, license))
|
||||||
count += 1
|
count += 1
|
||||||
|
|
||||||
if download_preview:
|
|
||||||
# Downloading the preview of the skin
|
|
||||||
r2 = requests.get('http://minetest.fensta.bplaced.net/skins/1/' + id + ".png")
|
|
||||||
if r2.status_code == 200:
|
|
||||||
# Preview file
|
|
||||||
preview = r2.content
|
|
||||||
file = open("../textures/character_" + id + fsep + "preview.png", "wb")
|
|
||||||
file.write(bytearray(preview))
|
|
||||||
file.close()
|
|
||||||
else:
|
|
||||||
print("Failed to download skin preview #" + id)
|
|
||||||
|
|
||||||
|
|
||||||
print("Fetched " + str(count) + " skins!")
|
print("Fetched " + str(count) + " skins!")
|
||||||
|
Loading…
Reference in New Issue
Block a user