tools/migration/migrator/prosody_files: Fix undefined global access of ?error?, print...
authorWaqas Hussain <waqas20@gmail.com>
Fri, 3 Jan 2014 20:52:52 +0000 (15:52 -0500)
committerWaqas Hussain <waqas20@gmail.com>
Fri, 3 Jan 2014 20:52:52 +0000 (15:52 -0500)
tools/migration/migrator/prosody_files.lua

index 4462fb3e91747f253000e2118ac5f53c626757a6..c9367d9c6754707cd6a96ec1fe3d2755b8850ebd 100644 (file)
@@ -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)