Compare commits

...

2 commits

Author SHA1 Message Date
Shy
e5b2b4e016 Parse -u prior to -h 2024-08-28 14:41:06 +02:00
Shy
ea29526f54 Allow escaped quotation marks in item_name 2024-08-28 13:49:27 +02:00

19
c4mate
View file

@ -102,7 +102,7 @@ function MatePad:parse_log(size)
-- Then extract and print oldbalance, newbalance, parameter and method.
-- Depending on method, print either reason or item_name. If any extraction
-- fails we fail with exit code 1.
-- Note: we allow quoted quotation marks in "reason".
-- Note: we allow escaped quotation marks in "reason" and "item_name".
pipe = io.popen(string.format([=[
curl %s --header "Accept: application/json" "%s/api/user/%s/log?type=json" | \
sed -n --sandbox '
@ -135,7 +135,7 @@ sed -n '
b
}
g
s/.*"item_name" *: *\(null\|"\([^"]*\)"\).*/\2/p
s/.*"item_name" *: *\(null\|"\(\([^"]\|\\"\)*[^\\]\)"\).*/\2/p
T fail
b
:fail
@ -305,6 +305,14 @@ function MatePad:give(amount, recipient, reason)
})
end
-- Parse -u flag (which may be given multiple times).
while arg[1] == "-u" do
table.remove(arg, 1)
USER = arg[1]
table.remove(arg, 1)
end
-- Process help and username options.
if arg[1] == "-h" or
arg[1] == "--help" then
@ -326,13 +334,6 @@ Give credits:
os.exit(0)
end
-- Parse -u flag (which may be given multiple times).
while arg[1] == "-u" do
table.remove(arg, 1)
USER = arg[1]
table.remove(arg, 1)
end
-- Set up username.
if USER == nil then
USER = os.getenv("USER")