Mercurial > prosody-modules
comparison mod_mam/mod_mam.lua @ 2000:b5adfe72709b
mod_mam: Improve error messages when failed to open storage
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 09 Jan 2016 14:18:07 +0100 |
| parents | ca33cca2e028 |
| children | 3246d53ce0c3 |
comparison
equal
deleted
inserted
replaced
| 1999:e3e76e9693a1 | 2000:b5adfe72709b |
|---|---|
| 1 -- XEP-0313: Message Archive Management for Prosody | 1 -- XEP-0313: Message Archive Management for Prosody |
| 2 -- Copyright (C) 2011-2014 Kim Alvefur | 2 -- Copyright (C) 2011-2016 Kim Alvefur |
| 3 -- | 3 -- |
| 4 -- This file is MIT/X11 licensed. | 4 -- This file is MIT/X11 licensed. |
| 5 | 5 |
| 6 local xmlns_mam = "urn:xmpp:mam:0"; | 6 local xmlns_mam = "urn:xmpp:mam:0"; |
| 7 local xmlns_delay = "urn:xmpp:delay"; | 7 local xmlns_delay = "urn:xmpp:delay"; |
| 34 if global_default_policy ~= "roster" then | 34 if global_default_policy ~= "roster" then |
| 35 global_default_policy = module:get_option_boolean("default_archive_policy", global_default_policy); | 35 global_default_policy = module:get_option_boolean("default_archive_policy", global_default_policy); |
| 36 end | 36 end |
| 37 | 37 |
| 38 local archive_store = "archive2"; | 38 local archive_store = "archive2"; |
| 39 local archive = module:open_store(archive_store, "archive"); | 39 local archive = assert(module:open_store(archive_store, "archive")); |
| 40 if not archive or archive.name == "null" then | 40 if archive.name == "null" then |
| 41 module:log("error", "Could not open archive storage"); | 41 module:log("debug", "Attempt to open archive storage returned null driver"); |
| 42 module:log("error", "Unable to open archive storage, no archive capable storage driver enabled?"); | |
| 43 module:log("info", "See https://prosody.im/doc/storage and https://prosody.im/doc/archiving for more information"); | |
| 42 return; | 44 return; |
| 43 elseif not archive.find then | 45 elseif not archive.find then |
| 44 module:log("error", "mod_%s does not support archiving", archive._provided_by); | 46 module:log("debug", "Attempt to open archive storage returned a valid driver but it does not seem to implement the storage API"); |
| 47 module:log("error", "mod_%s does not support archiving", archive._provided_by or archive.name and "storage_"..name.."(?)" or "<unknown>"); | |
| 48 module:log("info", "See https://prosody.im/doc/storage and https://prosody.im/doc/archiving for more information"); | |
| 45 return; | 49 return; |
| 46 end | 50 end |
| 47 | 51 |
| 48 -- Handle prefs. | 52 -- Handle prefs. |
| 49 module:hook("iq/self/"..xmlns_mam..":prefs", function(event) | 53 module:hook("iq/self/"..xmlns_mam..":prefs", function(event) |
