From: Waqas Hussain Date: Thu, 4 Dec 2008 18:40:15 +0000 (+0500) Subject: Changed the ejabberd import script to use util.serialization X-Git-Url: https://git.enpas.org/?a=commitdiff_plain;h=3b4608d9aa340f40f9802a66efc26be5a13a46a3;p=prosody.git Changed the ejabberd import script to use util.serialization --- diff --git a/tools/ejabberd2prosody.lua b/tools/ejabberd2prosody.lua index 33f60c99..e66b8513 100755 --- a/tools/ejabberd2prosody.lua +++ b/tools/ejabberd2prosody.lua @@ -21,9 +21,9 @@ require "erlparse"; -require "serialize"; package.path = package.path ..";../?.lua"; +local serialize = require "util.serialization".serialize; local st = require "util.stanza"; package.loaded["util.logger"] = {init = function() return function() end; end} local dm = require "util.datamanager" @@ -74,7 +74,7 @@ function build_stanza(tuple, stanza) elseif tuple[1] == "xmlcdata" then stanza:text(tuple[2]); else - error("unknown element type: "..serialize.serialize(tuple)); + error("unknown element type: "..serialize(tuple)); end end function build_time(tuple) @@ -190,7 +190,7 @@ for item in erlparse.parseFile(arg) do count = count + 1; local name = item[1]; t[name] = (t[name] or 0) + 1; - --print(count, serialize.serialize(item)); + --print(count, serialize(item)); if filters[name] then filters[name](item); end end ---print(serialize.serialize(t)); +--print(serialize(t)); diff --git a/tools/serialize.lua b/tools/serialize.lua deleted file mode 100644 index 77c05e1b..00000000 --- a/tools/serialize.lua +++ /dev/null @@ -1,65 +0,0 @@ --- Prosody IM v0.1 --- Copyright (C) 2008 Matthew Wild --- Copyright (C) 2008 Waqas Hussain --- --- This program is free software; you can redistribute it and/or --- modify it under the terms of the GNU General Public License --- as published by the Free Software Foundation; either version 2 --- of the License, or (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program; if not, write to the Free Software --- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. --- - - - -local indent = function(i) - return string.rep("\t", i); -end -local function basicSerialize (o) - if type(o) == "number" or type(o) == "boolean" then - return tostring(o); - else -- assume it is a string -- FIXME make sure it's a string. throw an error otherwise. - return (string.format("%q", tostring(o)):gsub("\\\n", "\\n")); - end -end -local function _simplesave (o, ind, t) - if type(o) == "number" then - table.insert(t, tostring(o)); - elseif type(o) == "string" then - table.insert(t, (string.format("%q", o):gsub("\\\n", "\\n"))); - elseif type(o) == "table" then - table.insert(t, "{\n"); - for k,v in pairs(o) do - table.insert(t, indent(ind)); - table.insert(t, "["); - table.insert(t, basicSerialize(k)); - table.insert(t, "] = "); - _simplesave(v, ind+1, t); - table.insert(t, ",\n"); - end - table.insert(t, indent(ind-1)); - table.insert(t, "}"); - elseif type(o) == "boolean" then - table.insert(t, (o and "true" or "false")); - else - error("cannot serialize a " .. type(o)) - end -end -local t_concat = table.concat; - -module "serialize" - -function serialize(o) - local t = {}; - _simplesave(o, 1, t); - return t_concat(t); -end - -return _M;