aboutsummaryrefslogtreecommitdiffstats
path: root/tools/migration/migrator/prosody_files.lua
diff options
context:
space:
mode:
authorWaqas Hussain <waqas20@gmail.com>2014-01-03 15:52:52 -0500
committerWaqas Hussain <waqas20@gmail.com>2014-01-03 15:52:52 -0500
commit6ca55e2bdd151acace0c0f5d7c626d26e58d65f0 (patch)
tree07e23117ffcab4a9f01cf9c67dc01e61e1ffe074 /tools/migration/migrator/prosody_files.lua
parentb64813dcf21724b787bb2583eacb4516fabf3990 (diff)
downloadprosody-6ca55e2bdd151acace0c0f5d7c626d26e58d65f0.tar.gz
prosody-6ca55e2bdd151acace0c0f5d7c626d26e58d65f0.zip
tools/migration/migrator/prosody_files: Fix undefined global access of ?error?, print the actual error message and correct file path in the error message when we fail to load a file, skip broken files instead of failing migration.
Diffstat (limited to 'tools/migration/migrator/prosody_files.lua')
-rw-r--r--tools/migration/migrator/prosody_files.lua12
1 files changed, 8 insertions, 4 deletions
diff --git a/tools/migration/migrator/prosody_files.lua b/tools/migration/migrator/prosody_files.lua
index 4462fb3e..c9367d9c 100644
--- a/tools/migration/migrator/prosody_files.lua
+++ b/tools/migration/migrator/prosody_files.lua
@@ -13,6 +13,7 @@ local next = next;
local pairs = pairs;
local json = require "util.json";
local os_getenv = os.getenv;
+local error = error;
prosody = {};
local dm = require "util.datamanager"
@@ -95,15 +96,18 @@ function reader(input)
local iter = mtools.sorted {
reader = function()
local x = iter();
- if x then
+ while x do
dm.set_data_path(path);
local err;
x.data, err = dm.load(x.user, x.host, x.store);
if x.data == nil and err then
- error(("Error loading data at path %s for %s@%s (%s store)")
- :format(path, x.user or "<nil>", x.host or "<nil>", x.store or "<nil>"), 0);
+ local p = dm.getpath(x.user, x.host, x.store);
+ print(("Error loading data at path %s for %s@%s (%s store): %s")
+ :format(p, x.user or "<nil>", x.host or "<nil>", x.store or "<nil>", err or "<nil>"));
+ else
+ return x;
end
- return x;
+ x = iter();
end
end;
sorter = function(a, b)