Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- Usage:
- 1. unpack discoveries archive, save script as .lua file in the same folder
- 2. lua <script_file_name.lua> <xml_file_name.lua>
- --]]
- local function trim(s)
- -- from PiL2 20.4
- return (s:gsub("^%s*(.-)%s*$", "%1"))
- end
- local ignoredOpen = {
- ["<FirstCompletedBy>"] = true,
- ["<FirstLootedBy>"] = true,
- ["<FirstKilledBy>"] = true,
- ["<FirstLearnedBy>"] = true
- }
- local ignoredClose = {
- ["</FirstCompletedBy>"] = true,
- ["</FirstLootedBy>"] = true,
- ["</FirstKilledBy>"] = true,
- ["</FirstLearnedBy>"] = true
- }
- local filename = arg[1]
- local sourceFile = io.open(filename, "r")
- local targetFile = io.open("_nd_"..filename, "w")
- local skip = false
- local discData = false
- local ignore = true
- local trimmed
- while true do
- local sourceLine = sourceFile:read("*l")
- if sourceLine == nil then break end
- trimmed = trim(sourceLine)
- ignore = false
- if ignoredOpen[trimmed] then
- discData = true
- ignore = true
- end
- if ignoredClose[trimmed] then
- discData = false
- ignore = true
- end
- if (not discData) and (not ignore) then
- targetFile:write(sourceLine)
- targetFile:write("\n")
- end
- end
- sourceFile:close()
- targetFile:close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement