public inbox for [email protected]
help / color / mirror / Atom feedFrom: Khushboo Vashi <[email protected]>
To: pgadmin-hackers <[email protected]>
Subject: [pgAdmin4][Patch] - SonarQube Fixes
Date: Mon, 3 Aug 2020 13:36:09 +0530
Message-ID: <CAFOhELd+8ump0kQ-UHeN9szfefVh-QG0HvGSFZif47ryPoETrw@mail.gmail.com> (raw)
Hi,
Please find the attached patch to fix the sonarqube code smells having the
rule "String literals should not be duplicated".
Thanks,
Khushboo
Attachments:
[application/octet-stream] sonarqube_fixes.patch (40.0K, 3-sonarqube_fixes.patch)
download | inline diff:
diff --git a/web/pgadmin/browser/__init__.py b/web/pgadmin/browser/__init__.py
index b1f2b5d92..ebeb0eab4 100644
--- a/web/pgadmin/browser/__init__.py
+++ b/web/pgadmin/browser/__init__.py
@@ -57,6 +57,18 @@ except ImportError as e:
from flask_security.views import _render_json as default_render_json
MODULE_NAME = 'browser'
+BROWSER_STATIC = 'browser.static'
+JQUERY_ACIPLUGIN = 'jquery.aciplugin'
+BROWSER_INDEX = 'browser.index'
+PGADMIN_NODE = 'pgadmin.node.%s'
+PGADMIN_BROWSER = 'pgAdmin.Browser'
+APP_JS = 'application/javascript'
+SMTP_SOCKET_ERROR = u'SMTP Socket error: {}\n' \
+ u'Your password has not been changed.'
+SMTP_ERROR = u'SMTP error: {}\n' \
+ u'Your password has not been changed.'
+PASS_ERROR = u'Error: {}\n' \
+ u'Your password has not been changed.'
class BrowserModule(PgAdminModule):
@@ -77,7 +89,7 @@ class BrowserModule(PgAdminModule):
('static', 'vendor/codemirror/addon/dialog/dialog.css'),
('static', context_menu_file),
('static', wcdocker_file),
- ('browser.static', 'vendor/aciTree/css/aciTree.css')
+ (BROWSER_STATIC, 'vendor/aciTree/css/aciTree.css')
]:
stylesheets.append(url_for(endpoint, filename=filename))
return stylesheets
@@ -119,9 +131,9 @@ class BrowserModule(PgAdminModule):
'preloaded': True
})
scripts.append({
- 'name': 'jquery.aciplugin',
+ 'name': JQUERY_ACIPLUGIN,
'path': url_for(
- 'browser.static',
+ BROWSER_STATIC,
filename='vendor/aciTree/jquery.aciPlugin.min'
),
'deps': ['jquery'],
@@ -131,21 +143,21 @@ class BrowserModule(PgAdminModule):
scripts.append({
'name': 'jquery.acitree',
'path': url_for(
- 'browser.static',
+ BROWSER_STATIC,
filename='vendor/aciTree/jquery.aciTree' if
current_app.debug else 'vendor/aciTree/jquery.aciTree.min'
),
- 'deps': ['jquery', 'jquery.aciplugin'],
+ 'deps': ['jquery', JQUERY_ACIPLUGIN],
'exports': 'aciPluginClass.plugins.aciTree',
'preloaded': True
})
scripts.append({
'name': 'jquery.acisortable',
'path': url_for(
- 'browser.static',
+ BROWSER_STATIC,
filename='vendor/aciTree/jquery.aciSortable.min'
),
- 'deps': ['jquery', 'jquery.aciplugin'],
+ 'deps': ['jquery', JQUERY_ACIPLUGIN],
'exports': 'aciPluginClass.plugins.aciSortable',
'when': None,
'preloaded': True
@@ -153,10 +165,10 @@ class BrowserModule(PgAdminModule):
scripts.append({
'name': 'jquery.acifragment',
'path': url_for(
- 'browser.static',
+ BROWSER_STATIC,
filename='vendor/aciTree/jquery.aciFragment.min'
),
- 'deps': ['jquery', 'jquery.aciplugin'],
+ 'deps': ['jquery', JQUERY_ACIPLUGIN],
'exports': 'aciPluginClass.plugins.aciFragment',
'when': None,
'preloaded': True
@@ -175,7 +187,7 @@ class BrowserModule(PgAdminModule):
scripts.append({
'name': 'pgadmin.browser.datamodel',
- 'path': url_for('browser.static', filename='js/datamodel'),
+ 'path': url_for(BROWSER_STATIC, filename='js/datamodel'),
'preloaded': True
})
@@ -186,7 +198,7 @@ class BrowserModule(PgAdminModule):
]:
scripts.append({
'name': name,
- 'path': url_for('browser.index') + script,
+ 'path': url_for(BROWSER_INDEX) + script,
'preloaded': True
})
@@ -197,7 +209,7 @@ class BrowserModule(PgAdminModule):
]:
scripts.append({
'name': name,
- 'path': url_for('browser.index') + script,
+ 'path': url_for(BROWSER_INDEX) + script,
'preloaded': True,
'deps': ['pgadmin.browser.datamodel']
})
@@ -208,12 +220,12 @@ class BrowserModule(PgAdminModule):
['pgadmin.browser.frame', 'js/frame']
]:
scripts.append({
- 'name': name, 'path': url_for('browser.static', filename=end),
+ 'name': name, 'path': url_for(BROWSER_STATIC, filename=end),
'preloaded': True})
scripts.append({
'name': 'pgadmin.browser.node.ui',
- 'path': url_for('browser.static', filename='js/node.ui'),
+ 'path': url_for(BROWSER_STATIC, filename='js/node.ui'),
'when': 'server_group'
})
@@ -226,26 +238,26 @@ class BrowserModule(PgAdminModule):
'file_items': [
MenuItem(
name='mnu_locklayout',
- module='pgAdmin.Browser',
+ module=PGADMIN_BROWSER,
label=gettext('Lock Layout'),
priority=999,
menu_items=[MenuItem(
name='mnu_lock_none',
- module='pgAdmin.Browser',
+ module=PGADMIN_BROWSER,
callback='mnu_lock_none',
priority=0,
label=gettext('None'),
checked=True
), MenuItem(
name='mnu_lock_docking',
- module='pgAdmin.Browser',
+ module=PGADMIN_BROWSER,
callback='mnu_lock_docking',
priority=1,
label=gettext('Prevent Docking'),
checked=False
), MenuItem(
name='mnu_lock_full',
- module='pgAdmin.Browser',
+ module=PGADMIN_BROWSER,
callback='mnu_lock_full',
priority=2,
label=gettext('Full Lock'),
@@ -263,7 +275,7 @@ class BrowserModule(PgAdminModule):
Returns:
list: a list of url endpoints exposed to the client.
"""
- return ['browser.index', 'browser.nodes',
+ return [BROWSER_INDEX, 'browser.nodes',
'browser.check_master_password',
'browser.set_master_password',
'browser.reset_master_password',
@@ -358,15 +370,14 @@ class BrowserPluginModule(PgAdminModule):
if self.module_use_template_javascript:
scripts.extend([{
- 'name': 'pgadmin.node.%s' % self.node_type,
- 'path': url_for('browser.index') +
- '%s/module' % self.node_type,
+ 'name': PGADMIN_NODE % self.node_type,
+ 'path': url_for(BROWSER_INDEX) + '%s/module' % self.node_type,
'when': self.script_load,
'is_template': True
}])
else:
scripts.extend([{
- 'name': 'pgadmin.node.%s' % self.node_type,
+ 'name': PGADMIN_NODE % self.node_type,
'path': url_for(
'%s.static' % self.name,
filename=('js/%s' % self.node_type)
@@ -412,7 +423,7 @@ class BrowserPluginModule(PgAdminModule):
"_type": node_type,
"_id": node_id,
"_pid": parent_id,
- "module": 'pgadmin.node.%s' % node_type
+ "module": PGADMIN_NODE % node_type
}
for key in kwargs:
obj.setdefault(key, kwargs[key])
@@ -527,7 +538,7 @@ class BrowserPluginModule(PgAdminModule):
def _get_logout_url():
return '{0}?next={1}'.format(
- url_for('security.logout'), url_for('browser.index'))
+ url_for('security.logout'), url_for(BROWSER_INDEX))
@blueprint.route("/")
@@ -737,7 +748,7 @@ def utils():
support_ssh_tunnel=config.SUPPORT_SSH_TUNNEL,
logout_url=_get_logout_url()
),
- 200, {'Content-Type': 'application/javascript'})
+ 200, {'Content-Type': APP_JS})
@blueprint.route("/js/endpoints.js")
@@ -745,7 +756,7 @@ def utils():
def exposed_urls():
return make_response(
render_template('browser/js/endpoints.js'),
- 200, {'Content-Type': 'application/javascript'}
+ 200, {'Content-Type': APP_JS}
)
@@ -755,7 +766,7 @@ def exposed_urls():
def error_js():
return make_response(
render_template('browser/js/error.js', _=gettext),
- 200, {'Content-Type': 'application/javascript'})
+ 200, {'Content-Type': APP_JS})
@blueprint.route("/js/messages.js")
@@ -763,7 +774,7 @@ def error_js():
def messages_js():
return make_response(
render_template('browser/js/messages.js', _=gettext),
- 200, {'Content-Type': 'application/javascript'})
+ 200, {'Content-Type': APP_JS})
@blueprint.route("/browser.css")
@@ -969,9 +980,7 @@ if hasattr(config, 'SECURITY_CHANGEABLE') and config.SECURITY_CHANGEABLE:
except SOCKETErrorException as e:
# Handle socket errors which are not covered by SMTPExceptions.
logging.exception(str(e), exc_info=True)
- flash(gettext(u'SMTP Socket error: {}\n'
- u'Your password has not been changed.'
- ).format(e),
+ flash(gettext(SMTP_SOCKET_ERROR).format(e),
'danger')
has_error = True
except (SMTPConnectError, SMTPResponseException,
@@ -980,19 +989,14 @@ if hasattr(config, 'SECURITY_CHANGEABLE') and config.SECURITY_CHANGEABLE:
SMTPRecipientsRefused) as e:
# Handle smtp specific exceptions.
logging.exception(str(e), exc_info=True)
- flash(gettext(u'SMTP error: {}\n'
- u'Your password has not been changed.'
- ).format(e),
+ flash(gettext(SMTP_ERROR).format(e),
'danger')
has_error = True
except Exception as e:
# Handle other exceptions.
logging.exception(str(e), exc_info=True)
flash(
- gettext(
- u'Error: {}\n'
- u'Your password has not been changed.'
- ).format(e),
+ gettext(PASS_ERROR).format(e),
'danger'
)
has_error = True
@@ -1078,9 +1082,7 @@ if hasattr(config, 'SECURITY_RECOVERABLE') and config.SECURITY_RECOVERABLE:
# Handle socket errors which are not
# covered by SMTPExceptions.
logging.exception(str(e), exc_info=True)
- flash(gettext(u'SMTP Socket error: {}\n'
- u'Your password has not been changed.'
- ).format(e),
+ flash(gettext(SMTP_SOCKET_ERROR).format(e),
'danger')
has_error = True
except (SMTPConnectError, SMTPResponseException,
@@ -1090,17 +1092,13 @@ if hasattr(config, 'SECURITY_RECOVERABLE') and config.SECURITY_RECOVERABLE:
# Handle smtp specific exceptions.
logging.exception(str(e), exc_info=True)
- flash(gettext(u'SMTP error: {}\n'
- u'Your password has not been changed.'
- ).format(e),
+ flash(gettext(SMTP_ERROR).format(e),
'danger')
has_error = True
except Exception as e:
# Handle other exceptions.
logging.exception(str(e), exc_info=True)
- flash(gettext(u'Error: {}\n'
- u'Your password has not been changed.'
- ).format(e),
+ flash(gettext(PASS_ERROR).format(e),
'danger')
has_error = True
@@ -1149,9 +1147,7 @@ if hasattr(config, 'SECURITY_RECOVERABLE') and config.SECURITY_RECOVERABLE:
except SOCKETErrorException as e:
# Handle socket errors which are not covered by SMTPExceptions.
logging.exception(str(e), exc_info=True)
- flash(gettext(u'SMTP Socket error: {}\n'
- u'Your password has not been changed.'
- ).format(e),
+ flash(gettext(SMTP_SOCKET_ERROR).format(e),
'danger')
has_error = True
except (SMTPConnectError, SMTPResponseException,
@@ -1161,17 +1157,13 @@ if hasattr(config, 'SECURITY_RECOVERABLE') and config.SECURITY_RECOVERABLE:
# Handle smtp specific exceptions.
logging.exception(str(e), exc_info=True)
- flash(gettext(u'SMTP error: {}\n'
- u'Your password has not been changed.'
- ).format(e),
+ flash(gettext(SMTP_ERROR).format(e),
'danger')
has_error = True
except Exception as e:
# Handle other exceptions.
logging.exception(str(e), exc_info=True)
- flash(gettext(u'Error: {}\n'
- u'Your password has not been changed.'
- ).format(e),
+ flash(gettext(PASS_ERROR).format(e),
'danger')
has_error = True
diff --git a/web/pgadmin/browser/collection.py b/web/pgadmin/browser/collection.py
index 6c1633451..1cecb3f4c 100644
--- a/web/pgadmin/browser/collection.py
+++ b/web/pgadmin/browser/collection.py
@@ -17,6 +17,8 @@ from pgadmin.browser.utils import PGChildModule
from pgadmin.utils import PgAdminModule
from pgadmin.utils.preferences import Preferences
+PGADMIN_NODE = 'pgadmin.node.%s'
+
@six.add_metaclass(ABCMeta)
class CollectionNodeModule(PgAdminModule, PGChildModule):
@@ -58,15 +60,15 @@ class CollectionNodeModule(PgAdminModule, PGChildModule):
if self.module_use_template_javascript:
scripts.extend([{
- 'name': 'pgadmin.node.%s' % self.node_type,
- 'path': url_for('browser.index') +
- '%s/module' % self.node_type,
+ 'name': PGADMIN_NODE % self.node_type,
+ 'path': url_for('browser.index'
+ ) + '%s/module' % self.node_type,
'when': self.script_load,
'is_template': True
}])
else:
scripts.extend([{
- 'name': 'pgadmin.node.%s' % self.node_type,
+ 'name': PGADMIN_NODE % self.node_type,
'path': url_for(
'%s.static' % self.name,
filename=('js/%s' % self.node_type)
@@ -93,7 +95,7 @@ class CollectionNodeModule(PgAdminModule, PGChildModule):
"_type": self.node_type,
"_id": node_id,
"_pid": parent_id,
- "module": 'pgadmin.node.%s' % self.node_type
+ "module": PGADMIN_NODE % self.node_type
}
for key in kwargs:
obj.setdefault(key, kwargs[key])
@@ -108,7 +110,7 @@ class CollectionNodeModule(PgAdminModule, PGChildModule):
"_type": 'coll-%s' % (self.node_type),
"_id": parent_id,
"_pid": parent_id,
- "module": 'pgadmin.node.%s' % self.node_type,
+ "module": PGADMIN_NODE % self.node_type,
"nodes": [self.node_type]
}
diff --git a/web/pgadmin/browser/register_browser_preferences.py b/web/pgadmin/browser/register_browser_preferences.py
index 2857fc7cd..5d6451aa0 100644
--- a/web/pgadmin/browser/register_browser_preferences.py
+++ b/web/pgadmin/browser/register_browser_preferences.py
@@ -13,6 +13,7 @@ LOCK_LAYOUT_LEVEL = {
'FULL': 'full',
'NONE': 'none'
}
+KEYBOARD_SHORTCUTS = 'Keyboard shortcuts'
def register_browser_preferences(self):
@@ -125,7 +126,7 @@ def register_browser_preferences(self):
'control': False,
'key': {'key_code': 66, 'char': 'b'}
},
- category_label=gettext('Keyboard shortcuts'),
+ category_label=gettext(KEYBOARD_SHORTCUTS),
fields=fields
)
@@ -140,7 +141,7 @@ def register_browser_preferences(self):
'control': False,
'key': {'key_code': 91, 'char': '['}
},
- category_label=gettext('Keyboard shortcuts'),
+ category_label=gettext(KEYBOARD_SHORTCUTS),
fields=fields
)
@@ -155,7 +156,7 @@ def register_browser_preferences(self):
'control': False,
'key': {'key_code': 93, 'char': ']'}
},
- category_label=gettext('Keyboard shortcuts'),
+ category_label=gettext(KEYBOARD_SHORTCUTS),
fields=fields
)
@@ -170,7 +171,7 @@ def register_browser_preferences(self):
'control': False,
'key': {'key_code': 70, 'char': 'f'}
},
- category_label=gettext('Keyboard shortcuts'),
+ category_label=gettext(KEYBOARD_SHORTCUTS),
fields=fields
)
@@ -185,7 +186,7 @@ def register_browser_preferences(self):
'control': False,
'key': {'key_code': 79, 'char': 'o'}
},
- category_label=gettext('Keyboard shortcuts'),
+ category_label=gettext(KEYBOARD_SHORTCUTS),
fields=fields
)
@@ -200,7 +201,7 @@ def register_browser_preferences(self):
'control': False,
'key': {'key_code': 76, 'char': 'l'}
},
- category_label=gettext('Keyboard shortcuts'),
+ category_label=gettext(KEYBOARD_SHORTCUTS),
fields=fields
)
@@ -215,7 +216,7 @@ def register_browser_preferences(self):
'control': False,
'key': {'key_code': 72, 'char': 'h'}
},
- category_label=gettext('Keyboard shortcuts'),
+ category_label=gettext(KEYBOARD_SHORTCUTS),
fields=fields
)
@@ -230,7 +231,7 @@ def register_browser_preferences(self):
'control': False,
'key': {'key_code': 81, 'char': 'q'}
},
- category_label=gettext('Keyboard shortcuts'),
+ category_label=gettext(KEYBOARD_SHORTCUTS),
fields=fields
)
@@ -245,7 +246,7 @@ def register_browser_preferences(self):
'control': False,
'key': {'key_code': 86, 'char': 'v'}
},
- category_label=gettext('Keyboard shortcuts'),
+ category_label=gettext(KEYBOARD_SHORTCUTS),
fields=fields
)
@@ -260,7 +261,7 @@ def register_browser_preferences(self):
'control': False,
'key': {'key_code': 83, 'char': 's'}
},
- category_label=gettext('Keyboard shortcuts'),
+ category_label=gettext(KEYBOARD_SHORTCUTS),
fields=fields
)
@@ -275,7 +276,7 @@ def register_browser_preferences(self):
'control': False,
'key': {'key_code': 78, 'char': 'n'}
},
- category_label=gettext('Keyboard shortcuts'),
+ category_label=gettext(KEYBOARD_SHORTCUTS),
fields=fields
)
@@ -290,7 +291,7 @@ def register_browser_preferences(self):
'control': False,
'key': {'key_code': 69, 'char': 'e'}
},
- category_label=gettext('Keyboard shortcuts'),
+ category_label=gettext(KEYBOARD_SHORTCUTS),
fields=fields
)
@@ -305,7 +306,7 @@ def register_browser_preferences(self):
'control': False,
'key': {'key_code': 68, 'char': 'd'}
},
- category_label=gettext('Keyboard shortcuts'),
+ category_label=gettext(KEYBOARD_SHORTCUTS),
fields=fields
)
@@ -320,7 +321,7 @@ def register_browser_preferences(self):
'control': False,
'key': {'key_code': 77, 'char': 'm'}
},
- category_label=gettext('Keyboard shortcuts'),
+ category_label=gettext(KEYBOARD_SHORTCUTS),
fields=fields
)
@@ -335,7 +336,7 @@ def register_browser_preferences(self):
'control': False,
'key': {'key_code': 85, 'char': 'u'}
},
- category_label=gettext('Keyboard shortcuts'),
+ category_label=gettext(KEYBOARD_SHORTCUTS),
fields=fields
)
@@ -350,7 +351,7 @@ def register_browser_preferences(self):
'control': False,
'key': {'key_code': 67, 'char': 'c'}
},
- category_label=gettext('Keyboard shortcuts'),
+ category_label=gettext(KEYBOARD_SHORTCUTS),
fields=fields
)
@@ -365,7 +366,7 @@ def register_browser_preferences(self):
'control': False,
'key': {'key_code': 71, 'char': 'g'}
},
- category_label=gettext('Keyboard shortcuts'),
+ category_label=gettext(KEYBOARD_SHORTCUTS),
fields=fields
)
@@ -380,7 +381,7 @@ def register_browser_preferences(self):
'control': True,
'key': {'key_code': 93, 'char': ']'}
},
- category_label=gettext('Keyboard shortcuts'),
+ category_label=gettext(KEYBOARD_SHORTCUTS),
fields=fields
)
@@ -395,7 +396,7 @@ def register_browser_preferences(self):
'control': True,
'key': {'key_code': 91, 'char': '['}
},
- category_label=gettext('Keyboard shortcuts'),
+ category_label=gettext(KEYBOARD_SHORTCUTS),
fields=fields
)
@@ -410,7 +411,7 @@ def register_browser_preferences(self):
'control': False,
'key': {'key_code': 116, 'char': 'F5'}
},
- category_label=gettext('Keyboard shortcuts'),
+ category_label=gettext(KEYBOARD_SHORTCUTS),
fields=fields
)
@@ -425,6 +426,6 @@ def register_browser_preferences(self):
'control': True,
'key': {'key_code': 65, 'char': 'a'}
},
- category_label=gettext('Keyboard shortcuts'),
+ category_label=gettext(KEYBOARD_SHORTCUTS),
fields=fields
)
diff --git a/web/pgadmin/browser/server_groups/__init__.py b/web/pgadmin/browser/server_groups/__init__.py
index b9733f845..3b741c2b8 100644
--- a/web/pgadmin/browser/server_groups/__init__.py
+++ b/web/pgadmin/browser/server_groups/__init__.py
@@ -25,8 +25,12 @@ from sqlalchemy import exc
from pgadmin.model import db, ServerGroup
+SG_NOT_FOUND_ERROR = 'The specified server group could not be found.'
+
+
class ServerGroupModule(BrowserPluginModule):
_NODE_TYPE = "server_group"
+ node_icon = "icon-%s" % _NODE_TYPE
def get_nodes(self, *arg, **kwargs):
"""Return a JSON document listing the server groups for the user"""
@@ -37,7 +41,7 @@ class ServerGroupModule(BrowserPluginModule):
yield self.generate_browser_node(
"%d" % (group.id), None,
group.name,
- "icon-%s" % self.node_type,
+ self.node_icon,
True,
self.node_type,
can_delete=True if idx > 0 else False
@@ -92,6 +96,8 @@ blueprint = ServerGroupModule(__name__)
class ServerGroupView(NodeView):
node_type = ServerGroupModule._NODE_TYPE
+ node_icon = ServerGroupModule.node_icon
+ node_label = "Server Group"
parent_ids = []
ids = [{'type': 'int', 'id': 'gid'}]
@@ -136,9 +142,7 @@ class ServerGroupView(NodeView):
return make_json_response(
status=410,
success=0,
- errormsg=gettext(
- 'The specified server group could not be found.'
- )
+ errormsg=gettext(SG_NOT_FOUND_ERROR)
)
else:
try:
@@ -169,9 +173,7 @@ class ServerGroupView(NodeView):
return make_json_response(
status=417,
success=0,
- errormsg=gettext(
- 'The specified server group could not be found.'
- )
+ errormsg=gettext(SG_NOT_FOUND_ERROR)
)
else:
try:
@@ -194,7 +196,7 @@ class ServerGroupView(NodeView):
gid,
None,
servergroup.name,
- "icon-%s" % self.node_type,
+ self.node_icon,
True,
self.node_type,
can_delete=True # This is user created hence can deleted
@@ -214,9 +216,7 @@ class ServerGroupView(NodeView):
return make_json_response(
status=410,
success=0,
- errormsg=gettext(
- 'The specified server group could not be found.'
- )
+ errormsg=gettext(SG_NOT_FOUND_ERROR)
)
else:
return ajax_response(
@@ -246,7 +246,7 @@ class ServerGroupView(NodeView):
"%d" % sg.id,
None,
sg.name,
- "icon-%s" % self.node_type,
+ self.node_icon,
True,
self.node_type,
# This is user created hence can deleted
@@ -306,7 +306,7 @@ class ServerGroupView(NodeView):
"%d" % group.id,
None,
group.name,
- "icon-%s" % self.node_type,
+ self.node_icon,
True,
self.node_type
)
@@ -322,7 +322,7 @@ class ServerGroupView(NodeView):
nodes = self.blueprint.generate_browser_node(
"%d" % (group.id), None,
group.name,
- "icon-%s" % self.node_type,
+ self.node_icon,
True,
self.node_type
)
diff --git a/web/pgadmin/browser/server_groups/servers/__init__.py b/web/pgadmin/browser/server_groups/servers/__init__.py
index 870da543b..b53422680 100644
--- a/web/pgadmin/browser/server_groups/servers/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/__init__.py
@@ -31,6 +31,8 @@ from pgadmin.utils.exception import CryptKeyMissing
from pgadmin.tools.schema_diff.node_registry import SchemaDiffRegistry
from psycopg2 import Error as psycopg2_Error, OperationalError
+UNAUTH_REQ = "Unauthorized request."
+
def has_any(data, keys):
"""
@@ -240,6 +242,7 @@ blueprint = ServerModule(__name__)
class ServerNode(PGChildNodeView):
node_type = ServerModule._NODE_TYPE
+ node_label = "Server"
parent_ids = [{'type': 'int', 'id': 'gid'}]
ids = [{'type': 'int', 'id': 'sid'}]
@@ -471,7 +474,7 @@ class ServerNode(PGChildNodeView):
return make_json_response(
status=410,
success=0,
- errormsg=gettext("Could not find the required server.")
+ errormsg=self.not_found_error
)
# Not all parameters can be modified, while the server is connected
@@ -658,7 +661,7 @@ class ServerNode(PGChildNodeView):
return make_json_response(
status=410,
success=0,
- errormsg=gettext("Could not find the required server.")
+ errormsg=self.not_found_error
)
sg = ServerGroup.query.filter_by(
@@ -1006,15 +1009,15 @@ class ServerNode(PGChildNodeView):
# Fetch Server Details
server = Server.query.filter_by(id=sid).first()
if server is None:
- return bad_request(gettext("Server not found."))
+ return bad_request(self.not_found_error)
if current_user and hasattr(current_user, 'id'):
# Fetch User Details.
user = User.query.filter_by(id=current_user.id).first()
if user is None:
- return unauthorized(gettext("Unauthorized request."))
+ return unauthorized(gettext(UNAUTH_REQ))
else:
- return unauthorized(gettext("Unauthorized request."))
+ return unauthorized(gettext(UNAUTH_REQ))
data = request.form if request.form else json.loads(
request.data, encoding='utf-8'
@@ -1181,7 +1184,7 @@ class ServerNode(PGChildNodeView):
server = Server.query.filter_by(id=sid).first()
if server is None:
- return bad_request(gettext("Server not found."))
+ return bad_request(self.not_found_error)
# Release Connection
manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(sid)
@@ -1289,12 +1292,12 @@ class ServerNode(PGChildNodeView):
# Fetch Server Details
server = Server.query.filter_by(id=sid).first()
if server is None:
- return bad_request(gettext("Server not found."))
+ return bad_request(self.not_found_error)
# Fetch User Details.
user = User.query.filter_by(id=current_user.id).first()
if user is None:
- return unauthorized(gettext("Unauthorized request."))
+ return unauthorized(gettext(UNAUTH_REQ))
manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(sid)
conn = manager.connection()
@@ -1409,7 +1412,7 @@ class ServerNode(PGChildNodeView):
if server is None:
return make_json_response(
success=0,
- errormsg=gettext("Could not find the required server.")
+ errormsg=self.not_found_error
)
try:
@@ -1493,7 +1496,7 @@ class ServerNode(PGChildNodeView):
if server is None:
return make_json_response(
success=0,
- errormsg=gettext("Could not find the required server.")
+ errormsg=self.not_found_error
)
try:
@@ -1568,7 +1571,7 @@ class ServerNode(PGChildNodeView):
if server is None:
return make_json_response(
success=0,
- info=gettext("Could not find the required server.")
+ info=self.not_found_error
)
setattr(server, 'password', None)
@@ -1607,7 +1610,7 @@ class ServerNode(PGChildNodeView):
if server is None:
return make_json_response(
success=0,
- info=gettext("Could not find the required server.")
+ info=self.not_found_error
)
setattr(server, 'tunnel_password', None)
diff --git a/web/pgadmin/browser/server_groups/servers/databases/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/__init__.py
index 6c6472583..b7e1bed95 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/__init__.py
@@ -373,7 +373,7 @@ class DatabaseView(PGChildNodeView):
status=200
)
- return gone(errormsg=_("Could not find the database on the server."))
+ return gone(errormsg=self.not_found_error)
@check_precondition(action="properties")
def properties(self, gid, sid, did):
@@ -388,9 +388,7 @@ class DatabaseView(PGChildNodeView):
return internal_server_error(errormsg=res)
if len(res['rows']) == 0:
- return gone(
- _("Could not find the database on the server.")
- )
+ return gone(self.not_found_error)
SQL = render_template(
"/".join([self.template_path, self._ACL_SQL]),
@@ -793,9 +791,7 @@ class DatabaseView(PGChildNodeView):
return internal_server_error(errormsg=rset)
if len(rset['rows']) == 0:
- return gone(
- _("Could not find the database on the server.")
- )
+ return gone(self.not_found_error)
res = rset['rows'][0]
@@ -924,9 +920,7 @@ class DatabaseView(PGChildNodeView):
return False, internal_server_error(errormsg=rset)
if len(rset['rows']) == 0:
- return gone(
- _("Could not find the database on the server.")
- )
+ return gone(self.not_found_error)
data['old_name'] = (rset['rows'][0])['name']
if 'name' not in data:
@@ -1095,9 +1089,7 @@ class DatabaseView(PGChildNodeView):
return internal_server_error(errormsg=res)
if len(res['rows']) == 0:
- return gone(
- _("Could not find the database on the server.")
- )
+ return gone(self.not_found_error)
SQL = render_template(
"/".join([self.template_path, self._ACL_SQL]),
diff --git a/web/pgadmin/browser/server_groups/servers/databases/casts/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/casts/__init__.py
index 30640662a..492cdcda5 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/casts/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/casts/__init__.py
@@ -147,6 +147,7 @@ class CastView(PGChildNodeView):
"""
node_type = blueprint.node_type
+ node_label = "Cast"
parent_ids = [
{'type': 'int', 'id': 'gid'},
diff --git a/web/pgadmin/browser/server_groups/servers/databases/event_triggers/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/event_triggers/__init__.py
index 035901726..847c9b07b 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/event_triggers/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/event_triggers/__init__.py
@@ -147,6 +147,7 @@ class EventTriggerView(PGChildNodeView):
"""
node_type = blueprint.node_type
+ node_icon = "icon-%s" % blueprint.node_type
parent_ids = [
{'type': 'int', 'id': 'gid'},
@@ -254,7 +255,7 @@ class EventTriggerView(PGChildNodeView):
row['oid'],
did,
row['name'],
- icon="icon-%s" % self.node_type
+ icon=self.node_icon
))
return make_json_response(
@@ -288,7 +289,7 @@ class EventTriggerView(PGChildNodeView):
row['oid'],
did,
row['name'],
- icon="icon-%s" % self.node_type
+ icon=self.node_icon
),
status=200
)
@@ -415,7 +416,7 @@ class EventTriggerView(PGChildNodeView):
etid,
did,
data['name'],
- icon="icon-%s" % self.node_type
+ icon=self.node_icon
)
)
except Exception as e:
@@ -462,7 +463,7 @@ class EventTriggerView(PGChildNodeView):
etid,
did,
data['name'],
- icon="icon-%s" % self.node_type
+ icon=self.node_icon
)
)
else:
diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/__init__.py
index 9607c670d..a86e1fcf7 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/__init__.py
@@ -161,6 +161,7 @@ class ForeignServerView(PGChildNodeView):
"""
node_type = blueprint.node_type
+ node_label = "Foreign Server"
parent_ids = [
{'type': 'int', 'id': 'gid'},
@@ -338,9 +339,7 @@ class ForeignServerView(PGChildNodeView):
return internal_server_error(errormsg=res)
if len(res['rows']) == 0:
- return gone(
- gettext("Could not find the foreign server information.")
- )
+ return gone(self.not_found_error)
res['rows'][0]['is_sys_obj'] = (
res['rows'][0]['fsrvid'] <= self.datlastsysoid)
@@ -619,9 +618,7 @@ class ForeignServerView(PGChildNodeView):
if not status:
return internal_server_error(errormsg=res)
if len(res['rows']) == 0:
- return gone(
- gettext("Could not find the foreign server information.")
- )
+ return gone(self.not_found_error)
if res['rows'][0]['fsrvoptions'] is not None:
res['rows'][0]['fsrvoptions'] = tokenize_options(
@@ -724,9 +721,7 @@ class ForeignServerView(PGChildNodeView):
if not status:
return internal_server_error(errormsg=res)
if len(res['rows']) == 0:
- return gone(
- gettext("Could not find the foreign server information.")
- )
+ return gone(self.not_found_error)
is_valid_options = False
if res['rows'][0]['fsrvoptions'] is not None:
diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/__init__.py
index fcec41f2f..eb5e52162 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/__init__.py
@@ -177,6 +177,7 @@ class UserMappingView(PGChildNodeView):
"""
node_type = blueprint.node_type
+ node_label = "User Mapping"
parent_ids = [
{'type': 'int', 'id': 'gid'},
@@ -356,9 +357,7 @@ class UserMappingView(PGChildNodeView):
return internal_server_error(errormsg=res)
if len(res['rows']) == 0:
- return gone(
- gettext("Could not find the user mapping information.")
- )
+ return gone(self.not_found_error)
res['rows'][0]['is_sys_obj'] = (
res['rows'][0]['um_oid'] <= self.datlastsysoid)
@@ -633,9 +632,7 @@ class UserMappingView(PGChildNodeView):
if not status:
return internal_server_error(errormsg=res)
if len(res['rows']) == 0:
- return gone(
- gettext("Could not find the user mapping information.")
- )
+ return gone(self.not_found_error)
if res['rows'][0]['umoptions'] is not None:
res['rows'][0]['umoptions'] = tokenize_options(
@@ -728,9 +725,7 @@ class UserMappingView(PGChildNodeView):
if not status:
return internal_server_error(errormsg=res)
if len(res['rows']) == 0:
- return gone(
- gettext("Could not find the user mapping information.")
- )
+ return gone(self.not_found_error)
is_valid_options = False
if res['rows'][0]['umoptions'] is not None:
diff --git a/web/pgadmin/browser/utils.py b/web/pgadmin/browser/utils.py
index d14c8cf5c..544d52635 100644
--- a/web/pgadmin/browser/utils.py
+++ b/web/pgadmin/browser/utils.py
@@ -221,6 +221,8 @@ class NodeView(with_metaclass(MethodViewType, View)):
# Inherited class needs to modify these parameters
node_type = None
+ # Inherited class needs to modify these parameters
+ node_label = None
# This must be an array object with attributes (type and id)
parent_ids = []
# This must be an array object with attributes (type and id)
@@ -686,3 +688,8 @@ class PGChildNodeView(NodeView):
)
return dependency
+
+ @property
+ def not_found_error(self):
+ return gettext("Could not find the specified {}.".format(
+ self.node_label.lower()))
view thread (11+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected]
Subject: Re: [pgAdmin4][Patch] - SonarQube Fixes
In-Reply-To: <CAFOhELd+8ump0kQ-UHeN9szfefVh-QG0HvGSFZif47ryPoETrw@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox