Software / code / prosody
Comparison
core/moduleapi.lua @ 4663:24524d70a50a
moduleapi: module:depends(): Load shared modules onto the current host even if they are loaded globally already
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Mon, 23 Apr 2012 14:15:07 +0100 |
| parent | 4661:76db5d0a2104 |
| child | 4666:fb522fbd495e |
comparison
equal
deleted
inserted
replaced
| 4662:105423f77d46 | 4663:24524d70a50a |
|---|---|
| 118 modulemanager.unload(self.host, self.name); | 118 modulemanager.unload(self.host, self.name); |
| 119 end | 119 end |
| 120 end); | 120 end); |
| 121 end | 121 end |
| 122 local mod = modulemanager.get_module(self.host, name) or modulemanager.get_module("*", name); | 122 local mod = modulemanager.get_module(self.host, name) or modulemanager.get_module("*", name); |
| 123 if mod and mod.module.host == "*" and modulemanager.module_has_method(mod, "add_host") then | |
| 124 mod = nil; -- This is a shared module, so we still want to load it on our host | |
| 125 end | |
| 123 if not mod then | 126 if not mod then |
| 124 local err; | 127 local err; |
| 125 mod, err = modulemanager.load(self.host, name); | 128 mod, err = modulemanager.load(self.host, name); |
| 126 if not mod then | 129 if not mod then |
| 127 return error(("Unable to load required module, mod_%s: %s"):format(name, ((err or "unknown error"):gsub("%-", " ")) )); | 130 return error(("Unable to load required module, mod_%s: %s"):format(name, ((err or "unknown error"):gsub("%-", " ")) )); |