From e7563787be5b3a9c1de66a7f4eb16ed09d9d4a21 Mon Sep 17 00:00:00 2001 From: Autumn Date: Sun, 17 May 2026 17:22:58 +0100 Subject: [main] added ability to fetch service & tidied up functions --- src/pawsd/metadata.lua | 21 ++++++++++++++++++++- src/pawsd/record.lua | 6 +----- src/pawsd/send.lua | 2 +- src/pawsd/service.lua | 7 ------- src/pawsd/tag.lua | 14 ++++---------- 5 files changed, 26 insertions(+), 24 deletions(-) (limited to 'src/pawsd') diff --git a/src/pawsd/metadata.lua b/src/pawsd/metadata.lua index a8dd98d..4a8532e 100644 --- a/src/pawsd/metadata.lua +++ b/src/pawsd/metadata.lua @@ -4,6 +4,9 @@ require("src/utils") +-- load pawsd +local PawSD = require("src/pawsd/variables") + -- get response type function getType (response) @@ -18,8 +21,24 @@ function getStatus (response) end +-- validate response status +function validateStatus (response) + + -- check type + local type = getType(response) + if not (type == PawSD.Magic.RESPONSE) then return false end + + -- check status + local status = getStatus(response) + if not (status == PawSD.Responses.OK) then return false end + + return true + +end + -- return return { type = getType, - status = getStatus + status = getStatus, + validate = validateStatus } diff --git a/src/pawsd/record.lua b/src/pawsd/record.lua index ae6d145..869796f 100644 --- a/src/pawsd/record.lua +++ b/src/pawsd/record.lua @@ -20,18 +20,14 @@ function getrecord(response, offset) local tagcount = getrecordtagnumber(response, offset) - print("R>------ Number Of Tags: " .. tagcount) - local tagoffset = offset + 2 local tags = {} for tagindex = 1, tagcount, 1 do - print("\nT>------ Getting Tag " .. tagindex .. "...") - local tag = pawsd.tag.get(response, tagoffset) - tags[tagindex] = tag.value + tags[tagindex] = tag.tag tagoffset = tag.endoffset end diff --git a/src/pawsd/send.lua b/src/pawsd/send.lua index 46ff2b5..156664d 100644 --- a/src/pawsd/send.lua +++ b/src/pawsd/send.lua @@ -36,7 +36,7 @@ function send (server, data) end -- return response - return table.concat(response) + return response end diff --git a/src/pawsd/service.lua b/src/pawsd/service.lua index 8cbce77..c176faf 100644 --- a/src/pawsd/service.lua +++ b/src/pawsd/service.lua @@ -37,19 +37,12 @@ end -- get all records function getallrecords (response) - print("\nR>--- Getting Records...") - local records = {} local recordoffset = 23 + pawsd.signature.length(response) local recordnumber = getrecordnumber(response) - print("\nR>--- Record Offset: " .. recordoffset) - print("R>--- Number Of Records: " .. recordnumber) - for recordindex = 1, recordnumber , 1 do - print("\nR>--- Getting Record " .. recordindex .. "...") - local record = pawsd.record.get(response, recordoffset) records[recordindex] = record.tags diff --git a/src/pawsd/tag.lua b/src/pawsd/tag.lua index f4031f4..b5997b0 100644 --- a/src/pawsd/tag.lua +++ b/src/pawsd/tag.lua @@ -22,28 +22,22 @@ function gettagvalue (response, offset) local valuetypes = gettagtypes(response, offset) - print("T>--------- Tag (High): " .. valuetypes.high) - print("T>--------- Tag (Low): " .. valuetypes.low) - local valuelength = tonumber(table.extracthex(response, offset + 16, offset + 19), 16) local valueoffset = offset + 20 local value = "" - print("\nT>--------- Length: " .. valuelength) - print("T>--------- Value Offset: " .. valueoffset) - if valuelength > 0 then value = table.extracthex(response, valueoffset, valueoffset + valuelength) valueoffset = valueoffset + valuelength - print("\nT>--------- Value (Hex): " .. value) - print("T>--------- Value (Binary): " .. string.fromhex(value)) - end return { - value = value, + tag = { + types = valuetypes, + value = value + }, endoffset = valueoffset } -- cgit v1.3