This commit is contained in:
TheTechRobo 2022-05-13 21:31:35 -04:00
parent 0bec576ea8
commit 4879afb63d
3 changed files with 51 additions and 8 deletions

31
gmd.lua
View File

@ -1,5 +1,3 @@
strin = "2~NzUwMCBzdGFycyBjOg==~4~3~9~1 month~6~1803945|2~SSBiZWF0IDYgaW5zYW5lIGRlbW9ucyBpbiAyNCBob3VycyBsbWFvOiBOZWNyb3BvbGlzLCBUaGUgQ2F2ZXJucyBJSSwgRWxlbWVudHMgWCwgWCBBZHZlbnR1cmUsIFNhZGlzbSwgYW5kIEJsYXN0ZXIgYzo=~4~21~9~8 months~6~1793260|2~L1wvXC9cIDwz~4~6~9~1 year~6~1785414|2~U2VudCBmcm9tIGlPUyBTaG9ydGN1dHMh~4~8~9~1 year~6~1776426|2~VGhpcyBjb21tZW50IHdhcyB1cGxvYWRlZCBmb3IgdGhlIEdEIERvY3Mh~4~5~9~1 year~6~1772719|2~VGhlIHRyaWxvZ3kgaGFzIGJlZW4gY29tcGxldGVkLi4uR0cgQWZ0ZXJtYXRoIQ==~4~8~9~1 year~6~1766450|2~Im93byIgLSBGb3VuZG15YmFsbA==~4~4~9~1 year~6~1766338|2~NTAwMCBzdGFycyE=~4~12~9~2 years~6~1756926|2~Qmxvb2RiYXRoIEdHISEh~4~24~9~2 years~6~1745624|2~QWxsZWdpYW5jZSAxMDAl~4~3~9~2 years~6~1744292#73:0:10"
-- https://stackoverflow.com/questions/40149617/split-string-with-specified-delimiter-in-lua
function split(s, sep)
local fields = {}
@ -92,8 +90,14 @@ function table.show(t, name, indent)
return cart .. autoref
end
GMD["comments"]["parse"] = function(comment)
GMD.comments.mapping = {"levelID","comment","authorPlayerID","likes","dislikes","messageID","spam","authorAccountID","age","percent","modBadge","moderatorChatColor"} -- https://docs.gdprogra.me/#/resources/server/comment
GMD["comments"]["parse"] = function(comments)
local comment = comments
local splitted = split(comment, ":")
if not splitted[2] then
return false
end
local retern = {}
retern.comment = splitted[1]
retern.account = splitted[2]
@ -108,15 +112,28 @@ GMD["comments"]["parse"] = function(comment)
for j=1, #ndata do
if not (j % 2 == 0) then -- key
key = ndata[j]
key = GMD.comments.mapping[tonumber(key)]
else -- value
local value = ndata[j]
retern.parsed.comment[i][key] = value
end
end
end
-- print("DONE")
-- print(table.show(retern.parsed.comment))
return retern
end
print(GMD["comments"]["parse"](strin))
GMD["comments"]["getOneComment"] = function (self, comments, pos)
local parsed = self.parse(comments)
if not parsed then
return false
else
return parsed.parsed.comment[pos or 1]
end
end
function GMDtest()
local strin = "2~NzUwMCBzdGFycyBjOg==~4~3~9~1 month~6~1803945|2~SSBiZWF0IDYgaW5zYW5lIGRlbW9ucyBpbiAyNCBob3VycyBsbWFvOiBOZWNyb3BvbGlzLCBUaGUgQ2F2ZXJucyBJSSwgRWxlbWVudHMgWCwgWCBBZHZlbnR1cmUsIFNhZGlzbSwgYW5kIEJsYXN0ZXIgYzo=~4~21~9~8 months~6~1793260|2~L1wvXC9cIDwz~4~6~9~1 year~6~1785414|2~U2VudCBmcm9tIGlPUyBTaG9ydGN1dHMh~4~8~9~1 year~6~1776426|2~VGhpcyBjb21tZW50IHdhcyB1cGxvYWRlZCBmb3IgdGhlIEdEIERvY3Mh~4~5~9~1 year~6~1772719|2~VGhlIHRyaWxvZ3kgaGFzIGJlZW4gY29tcGxldGVkLi4uR0cgQWZ0ZXJtYXRoIQ==~4~8~9~1 year~6~1766450|2~Im93byIgLSBGb3VuZG15YmFsbA==~4~4~9~1 year~6~1766338|2~NTAwMCBzdGFycyE=~4~12~9~2 years~6~1756926|2~Qmxvb2RiYXRoIEdHISEh~4~24~9~2 years~6~1745624|2~QWxsZWdpYW5jZSAxMDAl~4~3~9~2 years~6~1744292#73:0:10"
assert(GMD["comments"]:getOneComment(strin)["comment"] == "NzUwMCBzdGFycyBjOg==")
assert(not GMD["comments"]:getOneComment("-1"))
end
GMDtest()

View File

@ -1 +1,27 @@
require "gmd"
NEW_ITEMS = {}
function readAll(file)
local f = assert(io.open(file, "rb"))
local content = f:read("*all")
f:close()
return content
end
-- print(table.show(false))
wget.callbacks.httploop_result = function(url, err, http_stat)
local data = readAll(http_stat.local_file)
-- Time to make sure that it's a valid response.
local result = GMD.comments.parse(data)
if result then
return wget.actions.NOTHING
else
io.stderr:write("\aYou've been IP-banned from Geometry Dash's servers. Sorry about that.\n")
io.stderr:write("Please let us know in #geometrytrash on hackint!\n")
io.stderr:write("Sleeping 69 seconds. (nice)\n")
os.execute("sleep 69")
return wget.actions.ABORT -- We've been banned
end
end

View File

@ -215,7 +215,7 @@ pipeline = Pipeline(
'warc_file_base': ItemValue('warc_file_base')
}
),
CheckLandslide(),
#CheckLandslide(),
PrepareStatsForTracker(
defaults={'downloader': downloader, 'version': VERSION},
file_groups={