Fixed cognitive complexity issues reported by SonarQube.

This commit is contained in:
Rahul Shirsat 2020-07-10 11:44:33 +05:30 committed by Akshay Joshi
parent 7420673a0f
commit e8b81db977
2 changed files with 80 additions and 61 deletions

View File

@ -295,24 +295,25 @@ class ServerNode(PGChildNodeView):
required_ssl_fields_server_mode = ['sslcert', 'sslkey']
for field in ssl_fields:
if field not in data:
if field in data:
continue
elif config.SERVER_MODE and \
field in required_ssl_fields_server_mode:
# In Server mode,
# we will set dummy SSL certificate file path which will
# prevent using default SSL certificates from web servers
if config.SERVER_MODE and \
field in required_ssl_fields_server_mode:
# Set file manager directory from preference
import os
file_extn = '.key' if field.endswith('key') else '.crt'
dummy_ssl_file = os.path.join(
'<STORAGE_DIR>', '.postgresql',
'postgresql' + file_extn
)
data[field] = dummy_ssl_file
# Set file manager directory from preference
import os
file_extn = '.key' if field.endswith('key') else '.crt'
dummy_ssl_file = os.path.join(
'<STORAGE_DIR>', '.postgresql',
'postgresql' + file_extn
)
data[field] = dummy_ssl_file
# For Desktop mode, we will allow to default
else:
data[field] = None
else:
data[field] = None
return flag, data
@ -534,28 +535,10 @@ class ServerNode(PGChildNodeView):
conn = manager.connection()
connected = conn.connected()
if connected:
for arg in (
'hostaddr', 'db', 'sslmode',
'role', 'service'
):
if arg in data:
return forbidden(
errmsg=gettext(
"'{0}' is not allowed to modify, "
"when server is connected."
).format(disp_lbl[arg])
)
self._server_modify_disallowed_when_connected(
connected, data, disp_lbl)
for arg in config_param_map:
if arg in data:
value = data[arg]
# sqlite3 do not have boolean type so we need to convert
# it manually to integer
if arg == 'sslcompression':
value = 1 if value else 0
setattr(server, config_param_map[arg], value)
idx += 1
idx = self._set_valid_attr_value(data, config_param_map, server)
if idx == 0:
return make_json_response(
@ -591,6 +574,37 @@ class ServerNode(PGChildNodeView):
)
)
def _set_valid_attr_value(self, data, config_param_map, server):
idx = 0
for arg in config_param_map:
if arg in data:
value = data[arg]
# sqlite3 do not have boolean type so we need to convert
# it manually to integer
if arg == 'sslcompression':
value = 1 if value else 0
setattr(server, config_param_map[arg], value)
idx += 1
return idx
def _server_modify_disallowed_when_connected(
self, connected, data, disp_lbl):
if connected:
for arg in (
'hostaddr', 'db', 'sslmode',
'role', 'service'
):
if arg in data:
return forbidden(
errmsg=gettext(
"'{0}' is not allowed to modify, "
"when server is connected."
).format(disp_lbl[arg])
)
@login_required
def list(self, gid):
"""

View File

@ -623,34 +623,39 @@ class EventTriggerView(PGChildNodeView):
data=data, o_data=old_data
)
else:
required_args = {
'name': 'Name',
'eventowner': 'Owner',
'eventfunname': 'Trigger function',
'enabled': 'Enabled status',
'eventname': 'Events'
}
err = []
for arg in required_args:
if arg not in data:
err.append(required_args.get(arg, arg))
if err:
return make_json_response(
status=410,
success=0,
errormsg=gettext(
"Could not find the required parameter ({})."
).format(arg)
)
sql = render_template(
"/".join([self.template_path, 'create.sql']),
data=data
)
sql += "\n"
sql += render_template(
"/".join([self.template_path, 'grant.sql']),
data=data
sql = self._get_create_with_grant_sql(data)
return sql
def _get_create_with_grant_sql(self, data):
required_args = {
'name': 'Name',
'eventowner': 'Owner',
'eventfunname': 'Trigger function',
'enabled': 'Enabled status',
'eventname': 'Events'
}
err = []
for arg in required_args:
if arg not in data:
err.append(required_args.get(arg, arg))
if err:
return make_json_response(
status=410,
success=0,
errormsg=gettext(
"Could not find the required parameter ({})."
).format(arg)
)
sql = render_template(
"/".join([self.template_path, 'create.sql']),
data=data
)
sql += "\n"
sql += render_template(
"/".join([self.template_path, 'grant.sql']),
data=data
)
return sql
@check_precondition