diff options
author | Matthew Wild <mwild1@gmail.com> | 2012-04-28 19:41:04 +0100 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2012-04-28 19:41:04 +0100 |
commit | 31dd27582930bbd9e297531046b223c35491baa5 (patch) | |
tree | 47a6b491e0ba8a8115fc77a2382084fc218068bc /core/moduleapi.lua | |
parent | 53ab26d52831cce03092a0c120cf95276c52ac28 (diff) | |
download | prosody-31dd27582930bbd9e297531046b223c35491baa5.tar.gz prosody-31dd27582930bbd9e297531046b223c35491baa5.zip |
moduleapi: Add module:get_directory() to get module file's directory, and module:load_resource() to load a file relative to that directory
Diffstat (limited to 'core/moduleapi.lua')
-rw-r--r-- | core/moduleapi.lua | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/core/moduleapi.lua b/core/moduleapi.lua index 703eb268..57367255 100644 --- a/core/moduleapi.lua +++ b/core/moduleapi.lua @@ -329,4 +329,14 @@ function api:add_timer(delay, callback) end); end +local path_sep = package.config:sub(1,1); +function api:get_directory() + return self.path and (self.path:gsub("%"..path_sep.."[^"..path_sep.."]*$", "")) or nil; +end + +function api:load_resource(path, mode) + path = config.resolve_relative_path(self:get_directory(), path); + return io.open(path, mode); +end + return api; |