dbimport.lua 1021 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. xban.importers = { }
  2. dofile(xban.MP.."/importers/minetest.lua")
  3. dofile(xban.MP.."/importers/v1.lua")
  4. dofile(xban.MP.."/importers/v2.lua")
  5. minetest.register_chatcommand("xban_dbi", {
  6. description = "Import old databases",
  7. params = "<importer>",
  8. privs = { server=true },
  9. func = function(name, params)
  10. if params == "--list" then
  11. local importers = { }
  12. for importer in pairs(xban.importers) do
  13. table.insert(importers, importer)
  14. end
  15. minetest.chat_send_player(name,
  16. ("[xban] Known importers: %s"):format(
  17. table.concat(importers, ", ")))
  18. return
  19. elseif not xban.importers[params] then
  20. minetest.chat_send_player(name,
  21. ("[xban] Unknown importer `%s'"):format(params))
  22. minetest.chat_send_player(name, "[xban] Try `--list'")
  23. return
  24. end
  25. local f = xban.importers[params]
  26. local ok, err = f()
  27. if ok then
  28. minetest.chat_send_player(name,
  29. "[xban] Import successfull")
  30. else
  31. minetest.chat_send_player(name,
  32. ("[xban] Import failed: %s"):format(err))
  33. end
  34. end,
  35. })