@@ -1153,7 +1153,9 @@ def __init__(self, properties: Dict[str, Any], *args, **kwargs):
1153
1153
1154
1154
for key , values in self .extras .items ():
1155
1155
if isinstance (values .get ("packages" ), str ):
1156
- values ["packages" ] = [value .strip () for value in values ["packages" ].split ("," )] # type: ignore
1156
+ values ["packages" ] = [
1157
+ value .strip () for value in values ["packages" ].split ("," )
1158
+ ] # type: ignore
1157
1159
1158
1160
if isinstance (values .get ("packages_from_raw_bash" ), str ):
1159
1161
out , err = self .check_output_bash_snippet (
@@ -1164,7 +1166,9 @@ def __init__(self, properties: Dict[str, Any], *args, **kwargs):
1164
1166
f"Error while running apt resource packages_from_raw_bash snippet for '{ key } ' extras:"
1165
1167
)
1166
1168
logger .error (err )
1167
- values ["packages" ] = values .get ("packages" , []) + [value .strip () for value in out .split ("\n " )] # type: ignore
1169
+ values ["packages" ] = values .get ("packages" , []) + [
1170
+ value .strip () for value in out .split ("\n " )
1171
+ ] # type: ignore
1168
1172
1169
1173
if (
1170
1174
not isinstance (values .get ("repo" ), str )
@@ -1291,7 +1295,14 @@ def _port_is_used(self, port):
1291
1295
return used_by_process or used_by_app or used_by_self_provisioning
1292
1296
1293
1297
def provision_or_update (self , context : Dict = {}):
1294
- from yunohost .firewall import firewall_allow , firewall_disallow
1298
+ from yunohost .firewall import (
1299
+ firewall_allow ,
1300
+ firewall_disallow ,
1301
+ firewall_list ,
1302
+ firewall_reload ,
1303
+ )
1304
+
1305
+ previous_ports = firewall_list (raw = True )
1295
1306
1296
1307
for name , infos in self .ports .items ():
1297
1308
setting_name = f"port_{ name } " if name != "main" else "port"
@@ -1322,11 +1333,12 @@ def provision_or_update(self, context: Dict = {}):
1322
1333
self .set_setting (setting_name , port_value )
1323
1334
1324
1335
if infos ["exposed" ]:
1325
- firewall_allow (infos ["exposed" ], port_value , reload_only_if_change = True )
1336
+ firewall_allow (infos ["exposed" ], port_value , no_reload = True )
1326
1337
else :
1327
- firewall_disallow (
1328
- infos ["exposed" ], port_value , reload_only_if_change = True
1329
- )
1338
+ firewall_disallow (infos ["exposed" ], port_value , no_reload = True )
1339
+
1340
+ if firewall_list (raw = True ) != previous_ports :
1341
+ firewall_reload ()
1330
1342
1331
1343
def deprovision (self , context : Dict = {}):
1332
1344
from yunohost .firewall import firewall_disallow
0 commit comments