webmcp
view framework/env/slot/restore_all.lua @ 3:795b764629ca
Version 1.0.3
Important bugfix related to internal forwards (Bug was introduced by the restriction of views with underscore prefix in Version 1.0.2)
Important bugfix related to internal forwards (Bug was introduced by the restriction of views with underscore prefix in Version 1.0.2)
| author | jbe |
|---|---|
| date | Thu Dec 10 12:00:00 2009 +0100 (2009-12-10) |
| parents | 9fdfb27f8e67 |
| children |
line source
1 --[[--
2 slot.restore_all(
3 blob -- string as returned by slot.dump_all()
4 )
6 Restores all slots using a string created by slot.dump_all().
8 --]]--
10 local function decode(str)
11 return (
12 string.gsub(
13 str,
14 "%[[a-z]+%]",
15 function(char)
16 if char == "[eq]" then return "="
17 elseif char == "[s]" then return ";"
18 elseif char == "[o]" then return "["
19 elseif char == "[c]" then return "]"
20 else end
21 end
22 )
23 )
24 end
26 function slot.restore_all(blob)
27 slot.reset_all()
28 for encoded_key, encoded_value in string.gmatch(blob, "([^=;]*)=([^=;]*)") do
29 local key, value = decode(encoded_key), decode(encoded_value)
30 slot._data[key].string_fragments = { value }
31 end
32 end
