mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
Support variables in permissions declaration
This commit is contained in:
parent
021099aa1e
commit
a66fccbd5b
1 changed files with 11 additions and 8 deletions
|
@ -17,6 +17,7 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
import os
|
import os
|
||||||
|
import re
|
||||||
import copy
|
import copy
|
||||||
import shutil
|
import shutil
|
||||||
import random
|
import random
|
||||||
|
@ -562,14 +563,16 @@ class PermissionsResource(AppResource):
|
||||||
super().__init__({"permissions": properties}, *args, **kwargs)
|
super().__init__({"permissions": properties}, *args, **kwargs)
|
||||||
|
|
||||||
for perm, infos in self.permissions.items():
|
for perm, infos in self.permissions.items():
|
||||||
if infos.get("url") and "__DOMAIN__" in infos.get("url", ""):
|
if infos.get("url"):
|
||||||
infos["url"] = infos["url"].replace(
|
for variable in re.findall(r"(__[A-Z0-9_]+__)", infos.get("url", "")):
|
||||||
"__DOMAIN__", self.get_setting("domain")
|
infos["url"] = infos["url"].replace(
|
||||||
)
|
variable, self.get_setting(variable.lower().replace("__",""))
|
||||||
infos["additional_urls"] = [
|
)
|
||||||
u.replace("__DOMAIN__", self.get_setting("domain"))
|
for i in range(0, len(infos.get("additional_urls", []))):
|
||||||
for u in infos.get("additional_urls", [])
|
for variable in re.findall(r"(__[A-Z0-9_]+__)", infos.get("additional_urls", [])[i])):
|
||||||
]
|
infos["additional_urls"][i] = infos["additional_urls"][i].replace(
|
||||||
|
variable, self.get_setting(variable.lower().replace("__",""))
|
||||||
|
)
|
||||||
|
|
||||||
def provision_or_update(self, context: Dict = {}):
|
def provision_or_update(self, context: Dict = {}):
|
||||||
from yunohost.permission import (
|
from yunohost.permission import (
|
||||||
|
|
Loading…
Add table
Reference in a new issue