moduleapi: Add API method for getting a file path
authorKim Alvefur <zash@zash.se>
Thu, 4 Feb 2016 09:05:35 +0000 (10:05 +0100)
committerKim Alvefur <zash@zash.se>
Thu, 4 Feb 2016 09:05:35 +0000 (10:05 +0100)
core/moduleapi.lua

index c439ba6f6459d5ee459338b8186d472c67bb8508..573f3153e648e96d418843606257a291dd591d44 100644 (file)
@@ -301,6 +301,20 @@ function api:get_option_inherited_set(name, ...)
        return value;
 end
 
+function api:get_option_path(name, default, parent)
+       if parent == nil then
+               parent = parent or self:get_directory();
+       elseif prosody.paths[parent] then
+               parent = prosody.paths[parent];
+       end
+       local value = self:get_option_string(name, default);
+       if value == nil then
+               return nil;
+       end
+       return resolve_relative_path(parent, value);
+end
+
+
 function api:context(host)
        return setmetatable({host=host or "*"}, {__index=self,__newindex=self});
 end