From 103b08c9c567f29b6fcd897e0725aa1095d38906 Mon Sep 17 00:00:00 2001 From: Akshay Joshi Date: Thu, 20 Aug 2020 17:58:37 +0530 Subject: [PATCH] Define constants for preferences label to fix SonarQube issues. --- web/pgadmin/browser/__init__.py | 10 +- .../browser/register_browser_preferences.py | 61 +++---- .../browser/server_groups/servers/__init__.py | 4 +- web/pgadmin/dashboard/__init__.py | 9 +- web/pgadmin/misc/file_manager/__init__.py | 10 +- web/pgadmin/tools/debugger/__init__.py | 24 +-- web/pgadmin/tools/schema_diff/__init__.py | 5 +- .../sqleditor/utils/query_tool_preferences.py | 157 ++++++++---------- web/pgadmin/utils/constants.py | 18 +- 9 files changed, 147 insertions(+), 151 deletions(-) diff --git a/web/pgadmin/browser/__init__.py b/web/pgadmin/browser/__init__.py index 9ee756374..80464b46f 100644 --- a/web/pgadmin/browser/__init__.py +++ b/web/pgadmin/browser/__init__.py @@ -47,7 +47,7 @@ from pgadmin.utils.master_password import validate_master_password, \ set_masterpass_check_text, cleanup_master_password, get_crypt_key, \ set_crypt_key, process_masterpass_disabled from pgadmin.model import User -from pgadmin.utils.constants import APP_JS, PGADMIN_NODE +from pgadmin.utils.constants import MIMETYPE_APP_JS, PGADMIN_NODE try: from flask_security.views import default_render_json @@ -749,7 +749,7 @@ def utils(): support_ssh_tunnel=config.SUPPORT_SSH_TUNNEL, logout_url=_get_logout_url() ), - 200, {'Content-Type': APP_JS}) + 200, {'Content-Type': MIMETYPE_APP_JS}) @blueprint.route("/js/endpoints.js") @@ -757,7 +757,7 @@ def utils(): def exposed_urls(): return make_response( render_template('browser/js/endpoints.js'), - 200, {'Content-Type': APP_JS} + 200, {'Content-Type': MIMETYPE_APP_JS} ) @@ -767,7 +767,7 @@ def exposed_urls(): def error_js(): return make_response( render_template('browser/js/error.js', _=gettext), - 200, {'Content-Type': APP_JS}) + 200, {'Content-Type': MIMETYPE_APP_JS}) @blueprint.route("/js/messages.js") @@ -775,7 +775,7 @@ def error_js(): def messages_js(): return make_response( render_template('browser/js/messages.js', _=gettext), - 200, {'Content-Type': APP_JS}) + 200, {'Content-Type': MIMETYPE_APP_JS}) @blueprint.route("/browser.css") diff --git a/web/pgadmin/browser/register_browser_preferences.py b/web/pgadmin/browser/register_browser_preferences.py index 73cda77e2..948be41b8 100644 --- a/web/pgadmin/browser/register_browser_preferences.py +++ b/web/pgadmin/browser/register_browser_preferences.py @@ -7,7 +7,8 @@ # ########################################################################## from flask_babelex import gettext -from pgadmin.utils.constants import KEYBOARD_SHORTCUTS +from pgadmin.utils.constants import PREF_LABEL_DISPLAY,\ + PREF_LABEL_KEYBOARD_SHORTCUTS LOCK_LAYOUT_LEVEL = { 'PREVENT_DOCKING': 'docking', @@ -20,25 +21,25 @@ def register_browser_preferences(self): self.show_system_objects = self.preference.register( 'display', 'show_system_objects', gettext("Show system objects?"), 'boolean', False, - category_label=gettext('Display') + category_label=PREF_LABEL_DISPLAY ) self.preference.register( 'display', 'enable_acitree_animation', gettext("Enable browser tree animation?"), 'boolean', True, - category_label=gettext('Display') + category_label=PREF_LABEL_DISPLAY ) self.preference.register( 'display', 'enable_alertify_animation', gettext("Enable dialogue/notification animation?"), 'boolean', - True, category_label=gettext('Display') + True, category_label=PREF_LABEL_DISPLAY ) self.preference.register( 'display', 'browser_tree_state_save_interval', gettext("Browser tree state saving interval"), 'integer', - 30, category_label=gettext('Display'), + 30, category_label=PREF_LABEL_DISPLAY, help_str=gettext( 'Browser tree state saving interval in seconds. ' 'Use -1 to disable the tree saving mechanism.' @@ -48,7 +49,7 @@ def register_browser_preferences(self): self.preference.register( 'display', 'confirm_on_refresh_close', gettext("Confirm on close or refresh?"), 'boolean', - True, category_label=gettext('Display'), + True, category_label=PREF_LABEL_DISPLAY, help_str=gettext( 'Confirm closure or refresh of the browser or browser tab is ' 'intended before proceeding.' @@ -59,7 +60,7 @@ def register_browser_preferences(self): 'display', 'confirm_on_properties_close', gettext("Confirm before Close/Reset in object properties dialog?"), 'boolean', - True, category_label=gettext('Display'), + True, category_label=PREF_LABEL_DISPLAY, help_str=gettext( 'Confirm before closing or resetting the changes in the ' 'properties dialog for an object if the changes are not saved.' @@ -69,7 +70,7 @@ def register_browser_preferences(self): self.preference.register( 'display', 'auto_expand_sole_children', gettext("Auto-expand sole children"), 'boolean', True, - category_label=gettext('Display'), + category_label=PREF_LABEL_DISPLAY, help_str=gettext( 'If a treeview node is expanded and has only a single ' 'child, automatically expand the child node as well.' @@ -79,7 +80,7 @@ def register_browser_preferences(self): self.lock_layout = self.preference.register( 'display', 'lock_layout', gettext('Lock Layout'), 'radioModern', LOCK_LAYOUT_LEVEL['NONE'], - category_label=gettext('Display'), options=[ + category_label=PREF_LABEL_DISPLAY, options=[ {'label': gettext('None'), 'value': LOCK_LAYOUT_LEVEL['NONE']}, {'label': gettext('Prevent Docking'), 'value': LOCK_LAYOUT_LEVEL['PREVENT_DOCKING']}, @@ -126,7 +127,7 @@ def register_browser_preferences(self): 'control': False, 'key': {'key_code': 66, 'char': 'b'} }, - category_label=gettext(KEYBOARD_SHORTCUTS), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=fields ) @@ -141,7 +142,7 @@ def register_browser_preferences(self): 'control': False, 'key': {'key_code': 91, 'char': '['} }, - category_label=gettext(KEYBOARD_SHORTCUTS), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=fields ) @@ -156,7 +157,7 @@ def register_browser_preferences(self): 'control': False, 'key': {'key_code': 93, 'char': ']'} }, - category_label=gettext(KEYBOARD_SHORTCUTS), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=fields ) @@ -171,7 +172,7 @@ def register_browser_preferences(self): 'control': False, 'key': {'key_code': 70, 'char': 'f'} }, - category_label=gettext(KEYBOARD_SHORTCUTS), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=fields ) @@ -186,7 +187,7 @@ def register_browser_preferences(self): 'control': False, 'key': {'key_code': 79, 'char': 'o'} }, - category_label=gettext(KEYBOARD_SHORTCUTS), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=fields ) @@ -201,7 +202,7 @@ def register_browser_preferences(self): 'control': False, 'key': {'key_code': 76, 'char': 'l'} }, - category_label=gettext(KEYBOARD_SHORTCUTS), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=fields ) @@ -216,7 +217,7 @@ def register_browser_preferences(self): 'control': False, 'key': {'key_code': 72, 'char': 'h'} }, - category_label=gettext(KEYBOARD_SHORTCUTS), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=fields ) @@ -231,7 +232,7 @@ def register_browser_preferences(self): 'control': False, 'key': {'key_code': 81, 'char': 'q'} }, - category_label=gettext(KEYBOARD_SHORTCUTS), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=fields ) @@ -246,7 +247,7 @@ def register_browser_preferences(self): 'control': False, 'key': {'key_code': 86, 'char': 'v'} }, - category_label=gettext(KEYBOARD_SHORTCUTS), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=fields ) @@ -261,7 +262,7 @@ def register_browser_preferences(self): 'control': False, 'key': {'key_code': 83, 'char': 's'} }, - category_label=gettext(KEYBOARD_SHORTCUTS), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=fields ) @@ -276,7 +277,7 @@ def register_browser_preferences(self): 'control': False, 'key': {'key_code': 78, 'char': 'n'} }, - category_label=gettext(KEYBOARD_SHORTCUTS), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=fields ) @@ -291,7 +292,7 @@ def register_browser_preferences(self): 'control': False, 'key': {'key_code': 69, 'char': 'e'} }, - category_label=gettext(KEYBOARD_SHORTCUTS), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=fields ) @@ -306,7 +307,7 @@ def register_browser_preferences(self): 'control': False, 'key': {'key_code': 68, 'char': 'd'} }, - category_label=gettext(KEYBOARD_SHORTCUTS), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=fields ) @@ -321,7 +322,7 @@ def register_browser_preferences(self): 'control': False, 'key': {'key_code': 77, 'char': 'm'} }, - category_label=gettext(KEYBOARD_SHORTCUTS), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=fields ) @@ -336,7 +337,7 @@ def register_browser_preferences(self): 'control': False, 'key': {'key_code': 85, 'char': 'u'} }, - category_label=gettext(KEYBOARD_SHORTCUTS), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=fields ) @@ -351,7 +352,7 @@ def register_browser_preferences(self): 'control': False, 'key': {'key_code': 67, 'char': 'c'} }, - category_label=gettext(KEYBOARD_SHORTCUTS), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=fields ) @@ -366,7 +367,7 @@ def register_browser_preferences(self): 'control': False, 'key': {'key_code': 71, 'char': 'g'} }, - category_label=gettext(KEYBOARD_SHORTCUTS), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=fields ) @@ -381,7 +382,7 @@ def register_browser_preferences(self): 'control': True, 'key': {'key_code': 93, 'char': ']'} }, - category_label=gettext(KEYBOARD_SHORTCUTS), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=fields ) @@ -396,7 +397,7 @@ def register_browser_preferences(self): 'control': True, 'key': {'key_code': 91, 'char': '['} }, - category_label=gettext(KEYBOARD_SHORTCUTS), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=fields ) @@ -411,7 +412,7 @@ def register_browser_preferences(self): 'control': False, 'key': {'key_code': 116, 'char': 'F5'} }, - category_label=gettext(KEYBOARD_SHORTCUTS), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=fields ) @@ -426,6 +427,6 @@ def register_browser_preferences(self): 'control': True, 'key': {'key_code': 65, 'char': 'a'} }, - category_label=gettext(KEYBOARD_SHORTCUTS), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=fields ) diff --git a/web/pgadmin/browser/server_groups/servers/__init__.py b/web/pgadmin/browser/server_groups/servers/__init__.py index 1a295f515..fa52b9b9a 100644 --- a/web/pgadmin/browser/server_groups/servers/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/__init__.py @@ -30,7 +30,7 @@ from pgadmin.utils.exception import CryptKeyMissing from pgadmin.tools.schema_diff.node_registry import SchemaDiffRegistry from psycopg2 import Error as psycopg2_Error, OperationalError from pgadmin.browser.server_groups.servers.utils import is_valid_ipaddress -from pgadmin.utils.constants import UNAUTH_REQ +from pgadmin.utils.constants import UNAUTH_REQ, MIMETYPE_APP_JS def has_any(data, keys): @@ -950,7 +950,7 @@ class ServerNode(PGChildNodeView): "servers/supported_servers.js", server_types=ServerType.types() ), - 200, {'Content-Type': 'application/javascript'} + 200, {'Content-Type': MIMETYPE_APP_JS} ) def connect_status(self, gid, sid): diff --git a/web/pgadmin/dashboard/__init__.py b/web/pgadmin/dashboard/__init__.py index 8f5152b26..489d145d8 100644 --- a/web/pgadmin/dashboard/__init__.py +++ b/web/pgadmin/dashboard/__init__.py @@ -20,6 +20,7 @@ from pgadmin.utils.ajax import precondition_required from pgadmin.utils.driver import get_driver from pgadmin.utils.menu import Panel from pgadmin.utils.preferences import Preferences +from pgadmin.utils.constants import PREF_LABEL_DISPLAY from config import PG_DEFAULT_DRIVER @@ -117,7 +118,7 @@ class DashboardModule(PgAdminModule): self.display_graphs = self.dashboard_preference.register( 'display', 'show_graphs', gettext("Show graphs?"), 'boolean', True, - category_label=gettext('Display'), + category_label=PREF_LABEL_DISPLAY, help_str=gettext('If set to True, graphs ' 'will be displayed on dashboards.') ) @@ -125,7 +126,7 @@ class DashboardModule(PgAdminModule): self.display_server_activity = self.dashboard_preference.register( 'display', 'show_activity', gettext("Show activity?"), 'boolean', True, - category_label=gettext('Display'), + category_label=PREF_LABEL_DISPLAY, help_str=gettext('If set to True, activity tables ' 'will be displayed on dashboards.') ) @@ -133,7 +134,7 @@ class DashboardModule(PgAdminModule): self.graph_data_points = self.dashboard_preference.register( 'display', 'graph_data_points', gettext("Show graph data points?"), 'boolean', False, - category_label=gettext('Display'), + category_label=PREF_LABEL_DISPLAY, help_str=gettext('If set to True, data points will be ' 'visible on graph lines.') ) @@ -141,7 +142,7 @@ class DashboardModule(PgAdminModule): self.graph_mouse_track = self.dashboard_preference.register( 'display', 'graph_mouse_track', gettext("Show mouse hover tooltip?"), 'boolean', True, - category_label=gettext('Display'), + category_label=PREF_LABEL_DISPLAY, help_str=gettext('If set to True, tooltip will appear on mouse ' 'hover on the graph lines giving the data point ' 'details') diff --git a/web/pgadmin/misc/file_manager/__init__.py b/web/pgadmin/misc/file_manager/__init__.py index 71fcca515..e1ff8f765 100644 --- a/web/pgadmin/misc/file_manager/__init__.py +++ b/web/pgadmin/misc/file_manager/__init__.py @@ -13,7 +13,6 @@ import os import os.path import random import string -import sys import time from urllib.parse import unquote from sys import platform as _platform @@ -30,6 +29,7 @@ from pgadmin.utils import PgAdminModule from pgadmin.utils import get_storage_directory from pgadmin.utils.ajax import make_json_response from pgadmin.utils.preferences import Preferences +from pgadmin.utils.constants import PREF_LABEL_OPTIONS # Checks if platform is Windows if _platform == "win32": @@ -156,24 +156,24 @@ class FileManagerModule(PgAdminModule): self.file_upload_size = self.preference.register( 'options', 'file_upload_size', gettext("Maximum file upload size (MB)"), 'integer', 50, - category_label=gettext('Options') + category_label=PREF_LABEL_OPTIONS ) self.last_directory_visited = self.preference.register( 'options', 'last_directory_visited', gettext("Last directory visited"), 'text', '/', - category_label=gettext('Options') + category_label=PREF_LABEL_OPTIONS ) self.file_dialog_view = self.preference.register( 'options', 'file_dialog_view', gettext("File dialog view"), 'options', 'list', - category_label=gettext('Options'), + category_label=PREF_LABEL_OPTIONS, options=[{'label': gettext('List'), 'value': 'list'}, {'label': gettext('Grid'), 'value': 'grid'}] ) self.show_hidden_files = self.preference.register( 'options', 'show_hidden_files', gettext("Show hidden files and folders?"), 'boolean', False, - category_label=gettext('Options') + category_label=PREF_LABEL_OPTIONS ) diff --git a/web/pgadmin/tools/debugger/__init__.py b/web/pgadmin/tools/debugger/__init__.py index 42097e36e..6033d99bc 100644 --- a/web/pgadmin/tools/debugger/__init__.py +++ b/web/pgadmin/tools/debugger/__init__.py @@ -33,6 +33,8 @@ from pgadmin.model import db, DebuggerFunctionArguments from pgadmin.tools.debugger.utils.debugger_instance import DebuggerInstance from pgadmin.browser.server_groups.servers.databases.extensions.utils \ import get_extension_details +from pgadmin.utils.constants import PREF_LABEL_DISPLAY, \ + PREF_LABEL_KEYBOARD_SHORTCUTS MODULE_NAME = 'debugger' @@ -78,7 +80,7 @@ class DebuggerModule(PgAdminModule): self.open_in_new_tab = self.preference.register( 'display', 'debugger_new_browser_tab', gettext("Open in new browser tab"), 'boolean', False, - category_label=gettext('Display'), + category_label=PREF_LABEL_DISPLAY, help_str=gettext('If set to True, the Debugger ' 'will be opened in a new browser tab.') ) @@ -92,7 +94,7 @@ class DebuggerModule(PgAdminModule): 'char': 'c' } }, - category_label=gettext('Keyboard shortcuts'), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=accesskey_fields ) @@ -105,7 +107,7 @@ class DebuggerModule(PgAdminModule): 'char': 's' } }, - category_label=gettext('Keyboard shortcuts'), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=accesskey_fields ) @@ -118,7 +120,7 @@ class DebuggerModule(PgAdminModule): 'char': 'i' } }, - category_label=gettext('Keyboard shortcuts'), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=accesskey_fields ) @@ -131,7 +133,7 @@ class DebuggerModule(PgAdminModule): 'char': 'o' } }, - category_label=gettext('Keyboard shortcuts'), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=accesskey_fields ) @@ -144,7 +146,7 @@ class DebuggerModule(PgAdminModule): 'char': 't' } }, - category_label=gettext('Keyboard shortcuts'), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=accesskey_fields ) @@ -157,7 +159,7 @@ class DebuggerModule(PgAdminModule): 'char': 'x' } }, - category_label=gettext('Keyboard shortcuts'), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=accesskey_fields ) @@ -175,7 +177,7 @@ class DebuggerModule(PgAdminModule): 'char': 'q' } }, - category_label=gettext('Keyboard shortcuts'), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=shortcut_fields ) @@ -193,7 +195,7 @@ class DebuggerModule(PgAdminModule): 'char': '[' } }, - category_label=gettext('Keyboard shortcuts'), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=shortcut_fields ) @@ -211,7 +213,7 @@ class DebuggerModule(PgAdminModule): 'char': ']' } }, - category_label=gettext('Keyboard shortcuts'), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=shortcut_fields ) @@ -229,7 +231,7 @@ class DebuggerModule(PgAdminModule): 'char': 'Tab' } }, - category_label=gettext('Keyboard shortcuts'), + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=shortcut_fields ) diff --git a/web/pgadmin/tools/schema_diff/__init__.py b/web/pgadmin/tools/schema_diff/__init__.py index 194f5ad39..4e80d42bf 100644 --- a/web/pgadmin/tools/schema_diff/__init__.py +++ b/web/pgadmin/tools/schema_diff/__init__.py @@ -26,6 +26,7 @@ from pgadmin.tools.schema_diff.model import SchemaDiffModel from config import PG_DEFAULT_DRIVER from pgadmin.utils.driver import get_driver from pgadmin.utils.preferences import Preferences +from pgadmin.utils.constants import PREF_LABEL_DISPLAY MODULE_NAME = 'schema_diff' @@ -75,7 +76,7 @@ class SchemaDiffModule(PgAdminModule): self.preference.register( 'display', 'schema_diff_new_browser_tab', gettext("Open in new browser tab"), 'boolean', False, - category_label=gettext('Display'), + category_label=PREF_LABEL_DISPLAY, help_str=gettext('If set to True, the Schema Diff ' 'will be opened in a new browser tab.') ) @@ -83,7 +84,7 @@ class SchemaDiffModule(PgAdminModule): self.preference.register( 'display', 'ignore_whitespaces', gettext("Ignore whitespaces"), 'boolean', False, - category_label=gettext('Display'), + category_label=PREF_LABEL_DISPLAY, help_str=gettext('If set to True, then the Schema Diff ' 'tool ignores the whitespaces while comparing ' 'the string objects. Whitespace includes space, ' diff --git a/web/pgadmin/tools/sqleditor/utils/query_tool_preferences.py b/web/pgadmin/tools/sqleditor/utils/query_tool_preferences.py index f33207eb9..1f2fa6c34 100644 --- a/web/pgadmin/tools/sqleditor/utils/query_tool_preferences.py +++ b/web/pgadmin/tools/sqleditor/utils/query_tool_preferences.py @@ -9,19 +9,20 @@ """Register preferences for query tool""" from flask_babelex import gettext +from pgadmin.utils.constants import PREF_LABEL_DISPLAY,\ + PREF_LABEL_KEYBOARD_SHORTCUTS, PREF_LABEL_EXPLAIN, PREF_LABEL_OPTIONS,\ + PREF_LABEL_EDITOR, PREF_LABEL_CSV_TXT, PREF_LABEL_RESULTS_GRID,\ + PREF_LABEL_SQL_FORMATTING from pgadmin.utils import SHORTCUT_FIELDS as shortcut_fields, \ ACCESSKEY_FIELDS as accesskey_fields def register_query_tool_preferences(self): - # Display preferences - display_label = gettext('Display') - self.info_notifier_timeout = self.preference.register( 'display', 'info_notifier_timeout', gettext("Query info notifier timeout"), 'integer', 5, - category_label=display_label, + category_label=PREF_LABEL_DISPLAY, min_val=-1, max_val=999999, help_str=gettext( @@ -36,57 +37,51 @@ def register_query_tool_preferences(self): self.open_in_new_tab = self.preference.register( 'display', 'new_browser_tab', gettext("Open in new browser tab"), 'boolean', False, - category_label=display_label, + category_label=PREF_LABEL_DISPLAY, help_str=gettext('If set to True, the Query Tool ' 'will be opened in a new browser tab.') ) - # Explain preferences - explain_label = gettext('Explain') - self.explain_verbose = self.preference.register( 'Explain', 'explain_verbose', gettext("Verbose output?"), 'boolean', False, - category_label=explain_label + category_label=PREF_LABEL_EXPLAIN ) self.explain_costs = self.preference.register( 'Explain', 'explain_costs', gettext("Show costs?"), 'boolean', False, - category_label=explain_label + category_label=PREF_LABEL_EXPLAIN ) self.explain_buffers = self.preference.register( 'Explain', 'explain_buffers', gettext("Show buffers?"), 'boolean', False, - category_label=explain_label + category_label=PREF_LABEL_EXPLAIN ) self.explain_timing = self.preference.register( 'Explain', 'explain_timing', gettext("Show timing?"), 'boolean', False, - category_label=explain_label + category_label=PREF_LABEL_EXPLAIN ) self.explain_summary = self.preference.register( 'Explain', 'explain_summary', gettext("Show summary?"), 'boolean', False, - category_label=explain_label + category_label=PREF_LABEL_EXPLAIN ) self.explain_settings = self.preference.register( 'Explain', 'explain_settings', gettext("Show settings?"), 'boolean', False, - category_label=explain_label + category_label=PREF_LABEL_EXPLAIN ) - # Options preferences - options_label = gettext('Options') - self.auto_commit = self.preference.register( 'Options', 'auto_commit', gettext("Auto commit?"), 'boolean', True, - category_label=options_label, + category_label=PREF_LABEL_OPTIONS, help_str=gettext('Set auto commit on or off by default in new Query ' 'Tool tabs.') ) @@ -94,7 +89,7 @@ def register_query_tool_preferences(self): self.auto_rollback = self.preference.register( 'Options', 'auto_rollback', gettext("Auto rollback?"), 'boolean', False, - category_label=options_label, + category_label=PREF_LABEL_OPTIONS, help_str=gettext('Set auto rollback on or off by default in new Query ' 'Tool tabs.') ) @@ -102,7 +97,7 @@ def register_query_tool_preferences(self): self.show_prompt_save_query_changes = self.preference.register( 'Options', 'prompt_save_query_changes', gettext("Prompt to save unsaved query changes?"), 'boolean', True, - category_label=options_label, + category_label=PREF_LABEL_OPTIONS, help_str=gettext( 'Specifies whether or not to prompt user to save unsaved ' 'query on query tool exit.' @@ -113,7 +108,7 @@ def register_query_tool_preferences(self): 'Options', 'table_view_data_by_pk', gettext("Sort View Data results by primary key columns?"), 'boolean', True, - category_label=options_label, + category_label=PREF_LABEL_OPTIONS, help_str=gettext("If set to True, data returned when using the " "View/Edit Data - All Rows option will be sorted by " "the Primary Key columns by default. When using the " @@ -123,7 +118,7 @@ def register_query_tool_preferences(self): self.show_prompt_save_data_changes = self.preference.register( 'Options', 'prompt_save_data_changes', gettext("Prompt to save unsaved data changes?"), 'boolean', True, - category_label=options_label, + category_label=PREF_LABEL_OPTIONS, help_str=gettext( 'Specifies whether or not to prompt user to save unsaved ' 'data on data grid exit.' @@ -134,20 +129,17 @@ def register_query_tool_preferences(self): 'Options', 'prompt_commit_transaction', gettext("Prompt to commit/rollback active transactions?"), 'boolean', True, - category_label=options_label, + category_label=PREF_LABEL_OPTIONS, help_str=gettext( 'Specifies whether or not to prompt user to commit or rollback ' 'an active transaction on Query Tool exit.' ) ) - # Editor preferences - editor_label = gettext('Editor') - self.sql_font_size = self.preference.register( 'Editor', 'plain_editor_mode', gettext("Plain text mode?"), 'boolean', False, - category_label=editor_label, + category_label=PREF_LABEL_EDITOR, help_str=gettext( 'When set to True, keywords won\'t be highlighted and code ' 'folding will be disabled. Plain text mode will improve editor ' @@ -158,7 +150,7 @@ def register_query_tool_preferences(self): self.sql_font_size = self.preference.register( 'Editor', 'code_folding', gettext("Code folding?"), 'boolean', True, - category_label=editor_label, + category_label=PREF_LABEL_EDITOR, help_str=gettext( 'Enable or disable code folding. In plain text mode, this will ' 'have no effect as code folding is always disabled in that mode. ' @@ -169,7 +161,7 @@ def register_query_tool_preferences(self): self.wrap_code = self.preference.register( 'Editor', 'wrap_code', gettext("Line wrapping?"), 'boolean', False, - category_label=options_label, + category_label=PREF_LABEL_OPTIONS, help_str=gettext( 'Specifies whether or not to wrap SQL code in the editor.' ) @@ -178,7 +170,7 @@ def register_query_tool_preferences(self): self.insert_pair_brackets = self.preference.register( 'Editor', 'insert_pair_brackets', gettext("Insert bracket pairs?"), 'boolean', True, - category_label=options_label, + category_label=PREF_LABEL_OPTIONS, help_str=gettext( 'Specifies whether or not to insert paired brackets in the ' 'editor.' @@ -188,20 +180,17 @@ def register_query_tool_preferences(self): self.brace_matching = self.preference.register( 'Editor', 'brace_matching', gettext("Brace matching?"), 'boolean', True, - category_label=options_label, + category_label=PREF_LABEL_OPTIONS, help_str=gettext( 'Specifies whether or not to highlight matched braces ' 'in the editor.' ) ) - # CSV/Text preferences - csv_text_label = gettext('CSV/TXT Output') - self.csv_quoting = self.preference.register( 'CSV_output', 'csv_quoting', gettext("CSV quoting"), 'options', 'strings', - category_label=csv_text_label, + category_label=PREF_LABEL_CSV_TXT, options=[{'label': gettext('None'), 'value': 'none'}, {'label': gettext('All'), 'value': 'all'}, {'label': gettext('Strings'), 'value': 'strings'}], @@ -214,7 +203,7 @@ def register_query_tool_preferences(self): self.csv_quote_char = self.preference.register( 'CSV_output', 'csv_quote_char', gettext("CSV quote character"), 'options', '"', - category_label=csv_text_label, + category_label=PREF_LABEL_CSV_TXT, options=[{'label': '"', 'value': '"'}, {'label': '\'', 'value': '\''}], select2={ @@ -226,7 +215,7 @@ def register_query_tool_preferences(self): self.csv_field_separator = self.preference.register( 'CSV_output', 'csv_field_separator', gettext("CSV field separator"), 'options', ',', - category_label=csv_text_label, + category_label=PREF_LABEL_CSV_TXT, options=[{'label': ';', 'value': ';'}, {'label': ',', 'value': ','}, {'label': '|', 'value': '|'}, @@ -240,7 +229,7 @@ def register_query_tool_preferences(self): self.replace_nulls_with = self.preference.register( 'CSV_output', 'csv_replace_nulls_with', gettext("Replace null values with"), 'text', 'NULL', - category_label=csv_text_label, + category_label=PREF_LABEL_CSV_TXT, help_str=gettext('Specifies the string that represents a null value ' 'while downloading query results as CSV. You can ' 'specify any arbitrary string to represent a ' @@ -248,13 +237,10 @@ def register_query_tool_preferences(self): allow_blanks=True ) - # Results grid preferences - results_grid_label = gettext('Results grid') - self.results_grid_quoting = self.preference.register( 'Results_grid', 'results_grid_quoting', gettext("Result copy quoting"), 'options', 'strings', - category_label=results_grid_label, + category_label=PREF_LABEL_RESULTS_GRID, options=[{'label': gettext('None'), 'value': 'none'}, {'label': gettext('All'), 'value': 'all'}, {'label': gettext('Strings'), 'value': 'strings'}], @@ -267,7 +253,7 @@ def register_query_tool_preferences(self): self.results_grid_quote_char = self.preference.register( 'Results_grid', 'results_grid_quote_char', gettext("Result copy quote character"), 'options', '"', - category_label=results_grid_label, + category_label=PREF_LABEL_RESULTS_GRID, options=[{'label': '"', 'value': '"'}, {'label': '\'', 'value': '\''}], select2={ @@ -279,7 +265,7 @@ def register_query_tool_preferences(self): self.results_grid_field_separator = self.preference.register( 'Results_grid', 'results_grid_field_separator', gettext("Result copy field separator"), 'options', '\t', - category_label=results_grid_label, + category_label=PREF_LABEL_RESULTS_GRID, options=[{'label': ';', 'value': ';'}, {'label': ',', 'value': ','}, {'label': '|', 'value': '|'}, @@ -290,15 +276,12 @@ def register_query_tool_preferences(self): } ) - # Display preferences - display_label = gettext('Display') - self.sql_font_size = self.preference.register( 'Editor', 'sql_font_size', gettext("Font size"), 'numeric', '1', min_val=0.1, max_val=10, - category_label=display_label, + category_label=PREF_LABEL_DISPLAY, help_str=gettext( 'The font size to use for the SQL text boxes and editors. ' 'The value specified is in "em" units, in which 1 is the ' @@ -311,7 +294,7 @@ def register_query_tool_preferences(self): self.display_connection_status = self.preference.register( 'display', 'connection_status', gettext("Connection status"), 'boolean', True, - category_label=display_label, + category_label=PREF_LABEL_DISPLAY, help_str=gettext('If set to True, the Query Tool ' 'will monitor and display the connection and ' 'transaction status.') @@ -321,16 +304,13 @@ def register_query_tool_preferences(self): 'display', 'connection_status_fetch_time', gettext("Connection status refresh rate"), 'integer', 2, min_val=1, max_val=600, - category_label=display_label, + category_label=PREF_LABEL_DISPLAY, help_str=gettext( 'The number of seconds between connection/transaction ' 'status polls.' ) ) - # Keyboard shortcuts preferences - keyboard_shortcuts_label = gettext('Keyboard shortcuts') - self.preference.register( 'keyboard_shortcuts', 'execute_query', @@ -345,7 +325,7 @@ def register_query_tool_preferences(self): 'char': 'F5' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=shortcut_fields ) @@ -363,7 +343,7 @@ def register_query_tool_preferences(self): 'char': 'F6' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=shortcut_fields ) @@ -381,7 +361,7 @@ def register_query_tool_preferences(self): 'char': 'F7' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=shortcut_fields ) @@ -399,7 +379,7 @@ def register_query_tool_preferences(self): 'char': 'F7' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=shortcut_fields ) @@ -417,7 +397,7 @@ def register_query_tool_preferences(self): 'char': 'F8' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=shortcut_fields ) @@ -435,7 +415,7 @@ def register_query_tool_preferences(self): 'char': '[' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=shortcut_fields ) @@ -453,7 +433,7 @@ def register_query_tool_preferences(self): 'char': ']' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=shortcut_fields ) @@ -471,7 +451,7 @@ def register_query_tool_preferences(self): 'char': 'Tab' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=shortcut_fields ) @@ -485,7 +465,7 @@ def register_query_tool_preferences(self): 'char': 'o' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=accesskey_fields ) @@ -498,7 +478,7 @@ def register_query_tool_preferences(self): 'char': 's' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=accesskey_fields ) @@ -511,7 +491,7 @@ def register_query_tool_preferences(self): 'char': 'c' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=accesskey_fields ) @@ -524,7 +504,7 @@ def register_query_tool_preferences(self): 'char': 'p' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=accesskey_fields ) @@ -537,7 +517,7 @@ def register_query_tool_preferences(self): 'char': 'd' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=accesskey_fields ) @@ -550,7 +530,7 @@ def register_query_tool_preferences(self): 'char': 'f' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=accesskey_fields ) @@ -563,7 +543,7 @@ def register_query_tool_preferences(self): 'char': 'i' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=accesskey_fields ) @@ -576,7 +556,7 @@ def register_query_tool_preferences(self): 'char': 'r' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=accesskey_fields ) @@ -589,7 +569,7 @@ def register_query_tool_preferences(self): 'char': 'x' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=accesskey_fields ) @@ -602,7 +582,7 @@ def register_query_tool_preferences(self): 'char': 'q' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=accesskey_fields ) @@ -615,7 +595,7 @@ def register_query_tool_preferences(self): 'char': 'l' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=accesskey_fields ) @@ -628,7 +608,7 @@ def register_query_tool_preferences(self): 'char': 't' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=accesskey_fields ) @@ -641,7 +621,7 @@ def register_query_tool_preferences(self): 'char': 'n' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=accesskey_fields ) @@ -659,7 +639,7 @@ def register_query_tool_preferences(self): 'char': 'u' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=shortcut_fields ) @@ -685,7 +665,7 @@ def register_query_tool_preferences(self): 'char': 'm' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=shortcut_fields ) @@ -703,20 +683,17 @@ def register_query_tool_preferences(self): 'char': 'r' } }, - category_label=keyboard_shortcuts_label, + category_label=PREF_LABEL_KEYBOARD_SHORTCUTS, fields=shortcut_fields ) - # Register options for SQL formatting - sql_formatting_label = gettext('SQL formatting') - self.keyword_case = self.preference.register( 'editor', 'keyword_case', gettext("Keyword case"), 'radioModern', 'upper', options=[{'label': 'Upper case', 'value': 'upper'}, {'label': 'Lower case', 'value': 'lower'}, {'label': 'Capitalized', 'value': 'capitalize'}], - category_label=sql_formatting_label, + category_label=PREF_LABEL_SQL_FORMATTING, help_str=gettext( 'Convert keywords to upper, lower, or capitalized casing.' ) @@ -728,7 +705,7 @@ def register_query_tool_preferences(self): options=[{'label': 'Upper case', 'value': 'upper'}, {'label': 'Lower case', 'value': 'lower'}, {'label': 'Capitalized', 'value': 'capitalize'}], - category_label=sql_formatting_label, + category_label=PREF_LABEL_SQL_FORMATTING, help_str=gettext( 'Convert identifiers to upper, lower, or capitalized casing.' ) @@ -737,14 +714,14 @@ def register_query_tool_preferences(self): self.strip_comments = self.preference.register( 'editor', 'strip_comments', gettext("Strip comments?"), 'boolean', False, - category_label=sql_formatting_label, + category_label=PREF_LABEL_SQL_FORMATTING, help_str=gettext('If set to True, comments will be removed.') ) self.reindent = self.preference.register( 'editor', 'reindent', gettext("Re-indent?"), 'boolean', True, - category_label=sql_formatting_label, + category_label=PREF_LABEL_SQL_FORMATTING, help_str=gettext('If set to True, the indentations of the ' 'statements are changed.') ) @@ -752,7 +729,7 @@ def register_query_tool_preferences(self): self.reindent_aligned = self.preference.register( 'editor', 'reindent_aligned', gettext("Re-indent aligned?"), 'boolean', False, - category_label=sql_formatting_label, + category_label=PREF_LABEL_SQL_FORMATTING, help_str=gettext('If set to True, the indentations of the ' 'statements are changed, and statements are ' 'aligned by keywords.') @@ -761,7 +738,7 @@ def register_query_tool_preferences(self): self.spaces_around_operators = self.preference.register( 'editor', 'spaces_around_operators', gettext("Spaces around operators?"), 'boolean', True, - category_label=sql_formatting_label, + category_label=PREF_LABEL_SQL_FORMATTING, help_str=gettext('If set to True, spaces are used around all ' 'operators.') ) @@ -769,7 +746,7 @@ def register_query_tool_preferences(self): self.comma_first = self.preference.register( 'editor', 'comma_first', gettext("Comma-first notation?"), 'boolean', False, - category_label=sql_formatting_label, + category_label=PREF_LABEL_SQL_FORMATTING, help_str=gettext('If set to True, comma-first notation for column ' 'names is used.') ) @@ -777,7 +754,7 @@ def register_query_tool_preferences(self): self.wrap_after = self.preference.register( 'editor', 'wrap_after', gettext("Wrap after N characters"), 'integer', 4, - category_label=sql_formatting_label, + category_label=PREF_LABEL_SQL_FORMATTING, help_str=gettext("The column limit (in characters) for wrapping " "comma-separated lists. If zero, it puts " "every item in the list on its own line.") @@ -788,7 +765,7 @@ def register_query_tool_preferences(self): gettext("Tab size"), 'integer', 4, min_val=2, max_val=8, - category_label=sql_formatting_label, + category_label=PREF_LABEL_SQL_FORMATTING, help_str=gettext( 'The number of spaces per tab. Minimum 2, maximum 8.' ) @@ -797,7 +774,7 @@ def register_query_tool_preferences(self): self.use_spaces = self.preference.register( 'editor', 'use_spaces', gettext("Use spaces?"), 'boolean', False, - category_label=sql_formatting_label, + category_label=PREF_LABEL_SQL_FORMATTING, help_str=gettext( 'Specifies whether or not to insert spaces instead of tabs ' 'when the tab key or auto-indent are used.' diff --git a/web/pgadmin/utils/constants.py b/web/pgadmin/utils/constants.py index 1663b7bcb..18311de1d 100644 --- a/web/pgadmin/utils/constants.py +++ b/web/pgadmin/utils/constants.py @@ -8,8 +8,22 @@ ########################################################################## """Application wide constants.""" +from flask_babelex import gettext + +# Mimetypes +MIMETYPE_APP_HTML = 'text/html' +MIMETYPE_APP_JS = 'application/javascript' + + +# Preference labels +PREF_LABEL_KEYBOARD_SHORTCUTS = gettext('Keyboard shortcuts') +PREF_LABEL_DISPLAY = gettext('Display') +PREF_LABEL_OPTIONS = gettext('Options') +PREF_LABEL_EXPLAIN = gettext('Explain') +PREF_LABEL_EDITOR = gettext('Editor') +PREF_LABEL_CSV_TXT = gettext('CSV/TXT Output') +PREF_LABEL_RESULTS_GRID = gettext('Results grid') +PREF_LABEL_SQL_FORMATTING = gettext('SQL formatting') -APP_JS = 'application/javascript' PGADMIN_NODE = 'pgadmin.node.%s' -KEYBOARD_SHORTCUTS = 'Keyboard shortcuts' UNAUTH_REQ = "Unauthorized request."