Software / code / prosody
Comparison
util/serialization.lua @ 1107:ebda1845ebc1
util.serialization: Log a warning when trying to serialize something we can't
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Mon, 04 May 2009 19:35:29 +0100 |
| parent | 896:2c0b9e3c11c3 |
| child | 1128:b2e548344d61 |
comparison
equal
deleted
inserted
replaced
| 1106:b51a65066595 | 1107:ebda1845ebc1 |
|---|---|
| 12 local t_insert = table.insert; | 12 local t_insert = table.insert; |
| 13 local t_concat = table.concat; | 13 local t_concat = table.concat; |
| 14 local error = error; | 14 local error = error; |
| 15 local pairs = pairs; | 15 local pairs = pairs; |
| 16 | 16 |
| 17 local debug_traceback = debug.traceback; | |
| 18 local log = require "util.logger".init("serialization"); | |
| 17 module "serialization" | 19 module "serialization" |
| 18 | 20 |
| 19 local indent = function(i) | 21 local indent = function(i) |
| 20 return string_rep("\t", i); | 22 return string_rep("\t", i); |
| 21 end | 23 end |
| 48 func(t, indent(ind-1)); | 50 func(t, indent(ind-1)); |
| 49 func(t, "}"); | 51 func(t, "}"); |
| 50 elseif type(o) == "boolean" then | 52 elseif type(o) == "boolean" then |
| 51 func(t, (o and "true" or "false")); | 53 func(t, (o and "true" or "false")); |
| 52 else | 54 else |
| 53 error("cannot serialize a " .. type(o)) | 55 log("warn", "cannot serialize a %s: %s", type(o), debug_traceback()) |
| 54 end | 56 end |
| 55 end | 57 end |
| 56 | 58 |
| 57 function append(t, o) | 59 function append(t, o) |
| 58 _simplesave(o, 1, t, t.write or t_insert); | 60 _simplesave(o, 1, t, t.write or t_insert); |