From 271c10907396ae17853e2d55001f719a5db1f1ba Mon Sep 17 00:00:00 2001 From: wsor4035 <24964441+wsor4035@users.noreply.github.com> Date: Wed, 6 Sep 2023 10:39:11 -0400 Subject: [PATCH] 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> --- skins_updater.lua | 8 ++------ updater/update_skins.py | 22 +++------------------- 2 files changed, 5 insertions(+), 25 deletions(-) diff --git a/skins_updater.lua b/skins_updater.lua index 1b0f565..91b9802 100644 --- a/skins_updater.lua +++ b/skins_updater.lua @@ -47,9 +47,8 @@ if #internal.errors > 0 then end -- http://minetest.fensta.bplaced.net/api/apidoku.md -local root_url = "http://minetest.fensta.bplaced.net" -local page_url = root_url .. "/api/v2/get.json.php?getlist&page=%i&outformat=base64" -- [1] = Page# -local preview_url = root_url .. "/skins/1/%i.png" -- [1] = ID +local root_url = "http://skinsdb.terraqueststudios.net" +local page_url = root_url .. "/api/v1/content?client=mod&page=%i" -- [1] = Page# local mod_path = skins.modpath local meta_path = mod_path .. "/meta/" @@ -100,9 +99,6 @@ local function safe_single_skin(skin) skins_path .. name .. ".png", 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)) end diff --git a/updater/update_skins.py b/updater/update_skins.py index b5ec889..00249e6 100644 --- a/updater/update_skins.py +++ b/updater/update_skins.py @@ -4,12 +4,11 @@ import sys, requests, base64 #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 -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: sys.exit("Request failed!") @@ -17,10 +16,7 @@ if r.status_code != 200: data = r.json() count = 0 -if download_preview: - print("Writing to file and downloading previews ...") -else: - print("Writing skins") +print("Writing 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)) 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!")