prpw/cmd/entry_backup.lua

44 lines
1.1 KiB
Lua
Raw Normal View History

2024-08-10 00:35:03 +00:00
local function cmd(args)
local entries = env.xmlFindTags(env.db,"entries")[1]
for i,entry in pairs(entries.children) do
if entry.attrs.id == args[2] then
local history = env.xmlFindTags(entry,"history")[1]
local hentry = {}
hentry.tag = "entry"
hentry.attrs = {}
for i,v in pairs(entry.attrs) do
hentry.attrs[i] = v
end
hentry.children = {}
hentry.parent = history
2024-08-10 01:03:57 +00:00
local hfields = {}
hfields.tag = "fields"
hfields.attrs = {}
hfields.children = {}
hfields.parent = hentry
table.insert(hentry.children,hfields)
local fields = env.xmlFindTags(entry,"fields")[1]
for i,field in pairs(fields.children) do
2024-08-10 00:35:03 +00:00
local hfield = {}
2024-08-10 01:03:57 +00:00
hfield.tag = field.tag
2024-08-10 00:35:03 +00:00
hfield.attrs = {}
hfield.children = {}
hfield.parent = hfields
for i,v in pairs(field.attrs) do
hfield.attrs[i] = v
end
hfield.children[1] = {}
hfield.children[1].text = field.children[1].text
2024-08-10 01:03:57 +00:00
table.insert(hfields.children,hfield)
2024-08-10 00:35:03 +00:00
end
table.insert(history.children,hentry)
env.changed = true
end
end
end
return cmd