Add fetchTrophy, fetchAllTrophies, fetchTrophiesByStatus
.. also fixes for keypair parser
This commit is contained in:
parent
f2668b6c88
commit
47485db391
38
gamejolt.lua
38
gamejolt.lua
@ -21,7 +21,7 @@ local function req(s, f, pu, pt)
|
|||||||
return r
|
return r
|
||||||
end
|
end
|
||||||
|
|
||||||
function parseKeypair(s, on)
|
local function parseKeypair(s, on)
|
||||||
local c, len = 0, string.len(s)
|
local c, len = 0, string.len(s)
|
||||||
local b, k, v
|
local b, k, v
|
||||||
|
|
||||||
@ -32,11 +32,27 @@ function parseKeypair(s, on)
|
|||||||
c = b + 2
|
c = b + 2
|
||||||
b = string.find(s, '"', c)
|
b = string.find(s, '"', c)
|
||||||
v = string.sub(s, c, b - 1)
|
v = string.sub(s, c, b - 1)
|
||||||
c = b + 2
|
c = b + 3
|
||||||
on(k, v)
|
on(k, v)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function handleTrophies(str)
|
||||||
|
local d = req("trophies/?" .. str, "keypair", true, true)
|
||||||
|
local t, f = {}
|
||||||
|
|
||||||
|
parseKeypair(d, function(k, v)
|
||||||
|
if k ~= "success" then
|
||||||
|
if k == "id" then
|
||||||
|
f = {}
|
||||||
|
table.insert(t, f)
|
||||||
|
end
|
||||||
|
f[k] = v
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
return t
|
||||||
|
end
|
||||||
|
|
||||||
function GJ.init(id, key)
|
function GJ.init(id, key)
|
||||||
GJ.gameID = id
|
GJ.gameID = id
|
||||||
GJ.gameKey = key
|
GJ.gameKey = key
|
||||||
@ -140,4 +156,22 @@ function GJ.giveTrophy(id)
|
|||||||
return string.find(req("trophies/add-achieved/?trophy_id=" .. tostring(id), "dump", true, true), "SUCCESS") ~= nil
|
return string.find(req("trophies/add-achieved/?trophy_id=" .. tostring(id), "dump", true, true), "SUCCESS") ~= nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function GJ.fetchTrophy(id)
|
||||||
|
local d = req("trophies/?trophy_id=" .. tostring(id), "keypair", true, true)
|
||||||
|
|
||||||
|
local t = {}
|
||||||
|
parseKeypair(d, function(k, v)
|
||||||
|
if k ~= "success" then t[k] = v end
|
||||||
|
end)
|
||||||
|
return t
|
||||||
|
end
|
||||||
|
|
||||||
|
function GJ.fetchTrophiesByStatus(achieved)
|
||||||
|
return handleTrophies("achieved=" .. tostring(achieved))
|
||||||
|
end
|
||||||
|
|
||||||
|
function GJ.fetchAllTrophies()
|
||||||
|
return handleTrophies("")
|
||||||
|
end
|
||||||
|
|
||||||
return GJ
|
return GJ
|
Reference in New Issue
Block a user