same for deprovisionning: reload once

This commit is contained in:
OniriCorpe 2024-05-21 00:14:34 +02:00
parent 832b9d3bce
commit 6b564ef9f4

View file

@ -1341,16 +1341,19 @@ class PortsResource(AppResource):
firewall_reload() firewall_reload()
def deprovision(self, context: Dict = {}): def deprovision(self, context: Dict = {}):
from yunohost.firewall import firewall_disallow from yunohost.firewall import firewall_disallow, firewall_list, firewall_reload
previous_ports = firewall_list(raw=True)
for name, infos in self.ports.items(): for name, infos in self.ports.items():
setting_name = f"port_{name}" if name != "main" else "port" setting_name = f"port_{name}" if name != "main" else "port"
value = self.get_setting(setting_name) value = self.get_setting(setting_name)
self.delete_setting(setting_name) self.delete_setting(setting_name)
if value and str(value).strip(): if value and str(value).strip():
firewall_disallow( firewall_disallow(infos["exposed"], int(value), no_reload=True)
infos["exposed"], int(value), reload_only_if_change=True
) if firewall_list(raw=True) != previous_ports:
firewall_reload()
class DatabaseAppResource(AppResource): class DatabaseAppResource(AppResource):