1) Replace Flask-BabelEx with Flask-Babel. Fixes #6088

2) Upgrade Flask to version 2. Fixes #7010
This commit is contained in:
Akshay Joshi committed 2021-11-24 17:22:57 +05:30
1 parent 3a30f27153
commit d644b4f94e
120 files changed
+211 -199

No files matched your search

+5 -2
View File
@@ -209,8 +209,11 @@ def upgrade():
os.urandom(32)).decode()
db.engine.execute(sql)
sql = "INSERT INTO keys (name, value) VALUES ('SECRET_KEY', '%s')" % base64.urlsafe_b64encode(
os.urandom(32)).decode()
if hasattr(config, 'SECRET_KEY'):
sql = "INSERT INTO keys (name, value) VALUES ('SECRET_KEY', '%s')" % config.SECRET_KEY
else:
sql = "INSERT INTO keys (name, value) VALUES ('SECRET_KEY', '%s')" % base64.urlsafe_b64encode(
os.urandom(32)).decode()
db.engine.execute(sql)
# If SECURITY_PASSWORD_SALT is not in the config, but we're upgrading, then it must (unless the
+12 -2
View File
@@ -22,7 +22,7 @@ import sqlalchemy as sa
from alembic import op
from flask import current_app
from flask_security import Security, SQLAlchemyUserDatastore
from flask_security.utils import encrypt_password
from flask_security.utils import hash_password
from pgadmin.model import db, User, Role
from pgadmin.setup import get_version
from pgadmin.setup import user_info
@@ -116,14 +116,24 @@ VALUES(1, 1, 'Servers')
os.urandom(32)
).decode()
)
secret_key = getattr(
config, 'SECRET_KEY', base64.urlsafe_b64encode(
os.urandom(32)
).decode()
)
if current_app.extensions.get('security') is None:
current_app.config['SECURITY_PASSWORD_SALT'] = current_salt
current_app.config['SECRET_KEY'] = secret_key
user_datastore = SQLAlchemyUserDatastore(db, User, Role)
Security(current_app, user_datastore, register_blueprint=False)
else:
current_app.config['SECURITY_PASSWORD_SALT'] = current_salt
current_app.config['SECRET_KEY'] = secret_key
setattr(config, 'SECURITY_PASSWORD_SALT', current_salt)
password = encrypt_password(password)
setattr(config, 'SECRET_KEY', secret_key)
password = hash_password(password)
db.engine.execute("""
INSERT INTO "user"
+19 -14
View File
@@ -23,8 +23,8 @@ from importlib import import_module
from flask import Flask, abort, request, current_app, session, url_for
from flask_socketio import SocketIO
from werkzeug.exceptions import HTTPException
from flask_babelex import Babel, gettext
from flask_babelex import gettext as _
from flask_babel import Babel, gettext
from flask_babel import gettext as _
from flask_login import user_logged_in, user_logged_out
from flask_mail import Mail
from flask_paranoid import Paranoid
@@ -78,17 +78,21 @@ class PgAdmin(Flask):
super(PgAdmin, self).__init__(*args, **kwargs)
def find_submodules(self, basemodule):
for module_name in find_modules(basemodule, True):
if module_name in self.config['MODULE_BLACKLIST']:
try:
for module_name in find_modules(basemodule, True):
if module_name in self.config['MODULE_BLACKLIST']:
self.logger.info(
'Skipping blacklisted module: %s' % module_name
)
continue
self.logger.info(
'Skipping blacklisted module: %s' % module_name
)
continue
self.logger.info('Examining potential module: %s' % module_name)
module = import_module(module_name)
for key in list(module.__dict__.keys()):
if isinstance(module.__dict__[key], PgAdminModule):
yield module.__dict__[key]
'Examining potential module: %s' % module_name)
module = import_module(module_name)
for key in list(module.__dict__.keys()):
if isinstance(module.__dict__[key], PgAdminModule):
yield module.__dict__[key]
except Exception as _:
return []
@property
def submodules(self):
@@ -704,8 +708,9 @@ def create_app(app_name=None):
##########################################################################
for module in app.find_submodules('pgadmin'):
app.logger.info('Registering blueprint module: %s' % module)
app.register_blueprint(module)
app.register_logout_hook(module)
if app.blueprints.get(module.name) is None:
app.register_blueprint(module)
app.register_logout_hook(module)
@app.before_request
def limit_host_addr():
+1 -1
View File
@@ -11,7 +11,7 @@
import sys
from flask import Response, render_template, __version__, url_for, request
from flask_babelex import gettext
from flask_babel import gettext
from flask_security import current_user, login_required
from pgadmin.utils import PgAdminModule
from pgadmin.utils.menu import MenuItem
+1 -1
View File
@@ -14,7 +14,7 @@ import copy
from flask import current_app, flash, Response, request, url_for, \
session, redirect
from flask_babelex import gettext
from flask_babel import gettext
from flask_security.views import _security
from flask_security.utils import get_post_logout_redirect, \
get_post_login_redirect, logout_user
+1 -1
View File
@@ -13,7 +13,7 @@ import six
from flask import current_app, flash
from flask_security import login_user
from abc import abstractmethod, abstractproperty
from flask_babelex import gettext
from flask_babel import gettext
from .registry import AuthSourceRegistry
from pgadmin.model import User
+3 -3
View File
@@ -13,7 +13,7 @@ import base64
from os import environ, path, remove
from werkzeug.datastructures import Headers, MultiDict
from flask_babelex import gettext
from flask_babel import gettext
from flask import request, Response, session,\
current_app, render_template, flash, url_for
from flask_security.views import _security
@@ -53,10 +53,10 @@ if config.KRB_KTNAME and config.KRB_KTNAME != '<KRB5_KEYTAB_FILE>':
class KerberosModule(PgAdminModule):
def register(self, app, options, first_registration=False):
def register(self, app, options):
# Do not look for the sub_modules,
# instead call blueprint.register(...) directly
super(PgAdminModule, self).register(app, options, first_registration)
super(PgAdminModule, self).register(app, options)
def get_exposed_url_endpoints(self):
return ['kerberos.login',
+1 -1
View File
@@ -16,7 +16,7 @@ from ldap3 import Connection, Server, Tls, ALL, ALL_ATTRIBUTES, ANONYMOUS,\
from ldap3.core.exceptions import LDAPSocketOpenError, LDAPBindError,\
LDAPInvalidScopeError, LDAPAttributeError, LDAPInvalidFilterError,\
LDAPStartTLSError, LDAPSSLConfigurationError
from flask_babelex import gettext
from flask_babel import gettext
from urllib.parse import urlparse
from .internal import BaseAuthentication
+3 -3
View File
@@ -14,7 +14,7 @@ import config
from authlib.integrations.flask_client import OAuth
from flask import current_app, url_for, session, request,\
redirect, Flask, flash
from flask_babelex import gettext
from flask_babel import gettext
from flask_security import login_user, current_user
from flask_security.utils import get_post_logout_redirect, \
get_post_login_redirect, logout_user
@@ -32,10 +32,10 @@ OAUTH2_AUTHORIZE = 'oauth2.authorize'
class Oauth2Module(PgAdminModule):
def register(self, app, options, first_registration=False):
def register(self, app, options):
# Do not look for the sub_modules,
# instead call blueprint.register(...) directly
super(PgAdminModule, self).register(app, options, first_registration)
super(PgAdminModule, self).register(app, options)
def get_exposed_url_endpoints(self):
return [OAUTH2_AUTHORIZE,
+3 -3
View File
@@ -14,7 +14,7 @@ import string
import config
from flask import request, current_app, session, Response, render_template, \
url_for
from flask_babelex import gettext
from flask_babel import gettext
from flask_security import login_user
from .internal import BaseAuthentication
from pgadmin.model import User
@@ -27,10 +27,10 @@ from os import environ, path, remove
class WebserverModule(PgAdminModule):
def register(self, app, options, first_registration=False):
def register(self, app, options):
# Do not look for the sub_modules,
# instead call blueprint.register(...) directly
super(PgAdminModule, self).register(app, options, first_registration)
super(PgAdminModule, self).register(app, options)
def get_exposed_url_endpoints(self):
return ['webserver.login',
+1 -1
View File
@@ -22,7 +22,7 @@ import six
import time
from flask import current_app, render_template, url_for, make_response, \
flash, Response, request, after_this_request, redirect, session
from flask_babelex import gettext
from flask_babel import gettext
from flask_gravatar import Gravatar
from flask_login import current_user, login_required
from flask_security.changeable import change_user_password
+1 -1
View File
@@ -11,7 +11,7 @@ from abc import ABCMeta, abstractmethod
import six
from flask import url_for, render_template
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser import BrowserPluginModule
from pgadmin.browser.utils import PGChildModule
from pgadmin.utils import PgAdminModule
@@ -7,7 +7,7 @@
#
##########################################################################
import sys
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.utils.constants import PREF_LABEL_DISPLAY,\
PREF_LABEL_KEYBOARD_SHORTCUTS, PREF_LABEL_TABS_SETTINGS, \
PREF_LABEL_OPTIONS, QT_DEFAULT_PLACEHOLDER
@@ -14,7 +14,7 @@ from abc import ABCMeta, abstractmethod
import six
from flask import request, jsonify, render_template
from flask_babelex import gettext
from flask_babel import gettext
from flask_security import current_user, login_required
from pgadmin.browser import BrowserPluginModule
from pgadmin.browser.utils import NodeView
@@ -11,7 +11,7 @@ import simplejson as json
import pgadmin.browser.server_groups as sg
from flask import render_template, request, make_response, jsonify, \
current_app, url_for, session
from flask_babelex import gettext
from flask_babel import gettext
from flask_security import current_user, login_required
from pgadmin.browser.server_groups.servers.types import ServerType
from pgadmin.browser.utils import PGChildNodeView
@@ -302,19 +302,18 @@ class ServerModule(sg.ServerGroupPluginModule):
return scripts
def register(self, app, options, first_registration=False):
def register(self, app, options):
"""
Override the default register function to automagically register
sub-modules at once.
"""
if first_registration:
driver = get_driver(PG_DEFAULT_DRIVER, app)
app.jinja_env.filters['qtLiteral'] = driver.qtLiteral
app.jinja_env.filters['qtIdent'] = driver.qtIdent
app.jinja_env.filters['qtTypeIdent'] = driver.qtTypeIdent
app.jinja_env.filters['hasAny'] = has_any
driver = get_driver(PG_DEFAULT_DRIVER, app)
app.jinja_env.filters['qtLiteral'] = driver.qtLiteral
app.jinja_env.filters['qtIdent'] = driver.qtIdent
app.jinja_env.filters['qtTypeIdent'] = driver.qtTypeIdent
app.jinja_env.filters['hasAny'] = has_any
super(ServerModule, self).register(app, options, first_registration)
super(ServerModule, self).register(app, options)
# We do not have any preferences for server node.
def register_preferences(self):
@@ -14,7 +14,7 @@ from functools import wraps
import simplejson as json
from flask import render_template, current_app, request, jsonify
from flask_babelex import gettext as _
from flask_babel import gettext as _
from flask_security import current_user
import pgadmin.browser.server_groups.servers as servers
@@ -14,7 +14,7 @@ from functools import wraps
import pgadmin.browser.server_groups.servers.databases as databases
from flask import render_template, request, jsonify
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.collection import CollectionNodeModule
from pgadmin.browser.utils import PGChildNodeView
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
@@ -13,7 +13,7 @@ from functools import wraps
import pgadmin.browser.server_groups.servers.databases as database
from flask import render_template, request, jsonify
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.collection import CollectionNodeModule
from pgadmin.browser.utils import PGChildNodeView
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
@@ -14,7 +14,7 @@ from functools import wraps
import pgadmin.browser.server_groups.servers.databases as databases
from flask import render_template, request, jsonify
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.collection import CollectionNodeModule
from pgadmin.browser.utils import PGChildNodeView
from pgadmin.utils.ajax import make_json_response, \
@@ -14,7 +14,7 @@ from functools import wraps
import pgadmin.browser.server_groups.servers.databases as databases
from flask import render_template, request, jsonify
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.collection import CollectionNodeModule
from pgadmin.browser.server_groups.servers.utils import parse_priv_from_db, \
parse_priv_to_db, validate_options, tokenize_options
@@ -14,7 +14,7 @@ from functools import wraps
import pgadmin.browser.server_groups.servers.databases as databases
from flask import render_template, make_response, request, jsonify
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.collection import CollectionNodeModule
from pgadmin.browser.server_groups.servers.utils import parse_priv_from_db, \
parse_priv_to_db, validate_options, tokenize_options
@@ -16,7 +16,7 @@ import pgadmin.browser.server_groups.servers as servers
from pgadmin.browser.server_groups.servers.utils import \
validate_options, tokenize_options
from flask import render_template, make_response, request, jsonify
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.collection import CollectionNodeModule
from pgadmin.browser.utils import PGChildNodeView
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
@@ -14,7 +14,7 @@ from functools import wraps
import pgadmin.browser.server_groups.servers.databases as databases
from flask import render_template, request, jsonify
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.collection import CollectionNodeModule
from pgadmin.browser.server_groups.servers.utils import parse_priv_from_db, \
parse_priv_to_db
@@ -13,7 +13,7 @@ from functools import wraps
import pgadmin.browser.server_groups.servers.databases as databases
from flask import render_template, request, jsonify
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.collection import CollectionNodeModule
from pgadmin.browser.utils import PGChildNodeView
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
@@ -12,7 +12,7 @@ from functools import wraps
import simplejson as json
from flask import render_template, request, jsonify, current_app
from flask_babelex import gettext
from flask_babel import gettext
import pgadmin.browser.server_groups.servers as servers
from config import PG_DEFAULT_DRIVER
@@ -12,7 +12,7 @@
from functools import wraps
from flask import render_template
from flask_babelex import gettext
from flask_babel import gettext
import pgadmin.browser.server_groups.servers.databases as database
from config import PG_DEFAULT_DRIVER
@@ -12,7 +12,7 @@
from functools import wraps
from flask import render_template
from flask_babelex import gettext
from flask_babel import gettext
import pgadmin.browser.server_groups.servers.databases as database
from config import PG_DEFAULT_DRIVER
@@ -12,7 +12,7 @@
from functools import wraps
from flask import render_template
from flask_babelex import gettext
from flask_babel import gettext
import pgadmin.browser.server_groups.servers.databases as database
from config import PG_DEFAULT_DRIVER
@@ -13,7 +13,7 @@ from functools import wraps
import simplejson as json
from flask import render_template, request, jsonify
from flask_babelex import gettext
from flask_babel import gettext
import pgadmin.browser.server_groups.servers.databases as database
from config import PG_DEFAULT_DRIVER
@@ -13,7 +13,7 @@ from functools import wraps
import simplejson as json
from flask import render_template, make_response, request, jsonify
from flask_babelex import gettext
from flask_babel import gettext
import pgadmin.browser.server_groups.servers.databases as databases
from config import PG_DEFAULT_DRIVER
@@ -14,7 +14,7 @@ from functools import wraps
import simplejson as json
from flask import render_template, request, jsonify
from flask_babelex import gettext
from flask_babel import gettext
import pgadmin.browser.server_groups.servers.databases.schemas.domains \
as domains
@@ -16,7 +16,7 @@ from functools import wraps
import simplejson as json
from flask import render_template, make_response, request, jsonify, \
current_app
from flask_babelex import gettext
from flask_babel import gettext
import pgadmin.browser.server_groups.servers.databases as databases
from config import PG_DEFAULT_DRIVER
@@ -13,7 +13,7 @@ from functools import wraps
import simplejson as json
from flask import render_template, make_response, current_app, request, jsonify
from flask_babelex import gettext as _
from flask_babel import gettext as _
import pgadmin.browser.server_groups.servers.databases as databases
from config import PG_DEFAULT_DRIVER
@@ -13,7 +13,7 @@ from functools import wraps
import simplejson as json
from flask import render_template, make_response, current_app, request, jsonify
from flask_babelex import gettext as _
from flask_babel import gettext as _
import pgadmin.browser.server_groups.servers.databases as databases
from config import PG_DEFAULT_DRIVER
@@ -13,7 +13,7 @@ from functools import wraps
import simplejson as json
from flask import render_template, request, jsonify, current_app
from flask_babelex import gettext as _
from flask_babel import gettext as _
from config import PG_DEFAULT_DRIVER
from pgadmin.browser.server_groups.servers.databases import DatabaseModule
@@ -13,7 +13,7 @@ from functools import wraps
import simplejson as json
from flask import render_template, make_response, request, jsonify
from flask_babelex import gettext
from flask_babel import gettext
from config import PG_DEFAULT_DRIVER
from pgadmin.browser.server_groups.servers.databases import DatabaseModule
@@ -18,7 +18,7 @@ from functools import wraps
import simplejson as json
from flask import render_template, request, jsonify, \
current_app
from flask_babelex import gettext
from flask_babel import gettext
import pgadmin.browser.server_groups.servers.databases as databases
from config import PG_DEFAULT_DRIVER
@@ -12,7 +12,7 @@
from functools import wraps
from flask import render_template
from flask_babelex import gettext
from flask_babel import gettext
import pgadmin.browser.server_groups.servers.databases as database
from config import PG_DEFAULT_DRIVER
@@ -13,7 +13,7 @@ from functools import wraps
import simplejson as json
from flask import render_template, make_response, request, jsonify
from flask_babelex import gettext as _
from flask_babel import gettext as _
import pgadmin.browser.server_groups.servers.databases as database
from config import PG_DEFAULT_DRIVER
@@ -14,7 +14,7 @@ import re
from functools import wraps
from flask import render_template, make_response
from flask_babelex import gettext
from flask_babel import gettext
import pgadmin.browser.server_groups.servers.databases\
.schemas.packages as packages
@@ -12,7 +12,7 @@
from functools import wraps
from flask import render_template, make_response
from flask_babelex import gettext
from flask_babel import gettext
import pgadmin.browser.server_groups.servers.databases.schemas \
.packages as packages
@@ -13,7 +13,7 @@ from functools import wraps
import simplejson as json
from flask import render_template, request, jsonify
from flask_babelex import gettext as _
from flask_babel import gettext as _
import pgadmin.browser.server_groups.servers.databases as database
from config import PG_DEFAULT_DRIVER
@@ -14,7 +14,7 @@ from functools import wraps
import pgadmin.browser.server_groups.servers.databases as database
from flask import render_template, request, jsonify
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.server_groups.servers.databases.schemas.utils \
import SchemaChildModule
from pgadmin.browser.utils import PGChildNodeView
@@ -14,7 +14,7 @@ import re
import pgadmin.browser.server_groups.servers.databases as database
from flask import render_template, request, jsonify, url_for, current_app
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.server_groups.servers.databases.schemas.utils \
import SchemaChildModule, DataTypeReader, VacuumSettings
from pgadmin.browser.server_groups.servers.utils import parse_priv_to_db
@@ -14,7 +14,7 @@ from functools import wraps
import pgadmin.browser.server_groups.servers.databases as database
from flask import render_template, request, jsonify
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.collection import CollectionNodeModule
from pgadmin.browser.server_groups.servers.databases.schemas.utils \
import DataTypeReader
@@ -10,7 +10,7 @@
""" Implements Utility class for Compound Triggers. """
from flask import render_template
from flask_babelex import gettext as _
from flask_babel import gettext as _
from pgadmin.utils.ajax import internal_server_error
from pgadmin.utils.exception import ExecuteError
from pgadmin.browser.server_groups.servers.databases.schemas.utils \
@@ -14,7 +14,7 @@ from functools import wraps
import pgadmin.browser.server_groups.servers.databases as database
from flask import render_template, request, jsonify, current_app
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.collection import CollectionNodeModule
from pgadmin.browser.utils import PGChildNodeView
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
@@ -10,7 +10,7 @@
""" Implements Utility class for Compound Triggers. """
from flask import render_template
from flask_babelex import gettext as _
from flask_babel import gettext as _
from pgadmin.utils.ajax import internal_server_error
from pgadmin.utils.exception import ObjectGone, ExecuteError
from pgadmin.browser.server_groups.servers.databases.schemas.utils \
@@ -15,7 +15,7 @@ from functools import wraps
from pgadmin.utils.driver import get_driver
import pgadmin.browser.server_groups.servers.databases as database
from flask import render_template, make_response
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.collection import CollectionNodeModule
from pgadmin.utils.ajax import make_json_response, \
make_response as ajax_response, internal_server_error
@@ -14,7 +14,7 @@ from functools import wraps
import pgadmin.browser.server_groups.servers.databases as database
from flask import render_template, make_response, request, jsonify
from flask_babelex import gettext as _
from flask_babel import gettext as _
from pgadmin.browser.collection import CollectionNodeModule
from pgadmin.browser.server_groups.servers.databases.schemas.tables.\
constraints.type import ConstraintRegistry
@@ -10,7 +10,7 @@
""" Implements Utility class for Check Constraint. """
from flask import render_template
from flask_babelex import gettext as _
from flask_babel import gettext as _
from pgadmin.utils.ajax import internal_server_error
from pgadmin.utils.exception import ObjectGone, ExecuteError
from functools import wraps
@@ -14,7 +14,7 @@ from functools import wraps
import pgadmin.browser.server_groups.servers.databases as database
from flask import render_template, make_response, request, jsonify
from flask_babelex import gettext as _
from flask_babel import gettext as _
from pgadmin.browser.server_groups.servers.databases.schemas.tables.\
constraints.type import ConstraintRegistry, ConstraintTypeModule
from pgadmin.browser.utils import PGChildNodeView
@@ -10,7 +10,7 @@
""" Implements Utility class for Exclusion Constraint. """
from flask import render_template
from flask_babelex import gettext as _
from flask_babel import gettext as _
from pgadmin.utils.ajax import internal_server_error
from pgadmin.utils.exception import ObjectGone, ExecuteError
from functools import wraps
@@ -14,7 +14,7 @@ from functools import wraps
import pgadmin.browser.server_groups.servers.databases as database
from flask import render_template, request, jsonify
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.server_groups.servers.databases.schemas.tables.\
constraints.type import ConstraintRegistry, ConstraintTypeModule
from pgadmin.browser.utils import PGChildNodeView
@@ -10,7 +10,7 @@
""" Implements Utility class for Foreign Keys. """
from flask import render_template
from flask_babelex import gettext as _
from flask_babel import gettext as _
from pgadmin.utils.ajax import internal_server_error
from pgadmin.utils.exception import ObjectGone, ExecuteError
from functools import wraps
@@ -14,7 +14,7 @@ from functools import wraps
import pgadmin.browser.server_groups.servers.databases as database
from flask import render_template, make_response, request, jsonify
from flask_babelex import gettext as _
from flask_babel import gettext as _
from pgadmin.browser.server_groups.servers.databases.schemas.tables.\
constraints.type import ConstraintRegistry, ConstraintTypeModule
from pgadmin.browser.utils import PGChildNodeView
@@ -10,7 +10,7 @@
""" Implements Utility class for Index Constraint. """
from flask import render_template
from flask_babelex import gettext as _
from flask_babel import gettext as _
from pgadmin.utils.ajax import internal_server_error
from pgadmin.utils.exception import ObjectGone, ExecuteError
from functools import wraps
@@ -14,7 +14,7 @@ from functools import wraps
import pgadmin.browser.server_groups.servers.databases as database
from flask import render_template, request, jsonify, current_app
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.collection import CollectionNodeModule
from pgadmin.browser.server_groups.servers.databases.schemas.tables.\
partitions import backend_supported
@@ -10,7 +10,7 @@
""" Implements Utility class for Indexes. """
from flask import render_template
from flask_babelex import gettext as _
from flask_babel import gettext as _
from pgadmin.utils.ajax import internal_server_error
from pgadmin.utils.exception import ObjectGone, ExecuteError
from functools import wraps
@@ -14,7 +14,7 @@ import random
import simplejson as json
import pgadmin.browser.server_groups.servers.databases.schemas as schema
from flask import render_template, request, current_app
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.server_groups.servers.databases.schemas.utils \
import DataTypeReader, VacuumSettings
from pgadmin.utils.ajax import internal_server_error, \
@@ -116,34 +116,28 @@ class PartitionsModule(CollectionNodeModule):
"""
return backend_supported(self, manager, **kwargs)
def register(self, app, options, first_registration=False):
def register(self, app, options):
"""
Override the default register function to automatically register
sub-modules of table node under partition table node.
"""
if first_registration:
self.submodules = list(app.find_submodules(self.import_name))
super(CollectionNodeModule, self).register(
app, options, first_registration
)
self.submodules = list(app.find_submodules(self.import_name))
super(CollectionNodeModule, self).register(app, options)
for module in self.submodules:
if first_registration:
module.parentmodules.append(self)
module.parentmodules.append(self)
app.register_blueprint(module)
# Now add sub modules of table node to partition table node.
if first_registration:
# Exclude 'partition' module for now to avoid cyclic import issue.
modules_to_skip = ['partition', 'column']
for parent in self.parentmodules:
if parent.node_type == 'table':
self.submodules += [
submodule for submodule in parent.submodules
if submodule.node_type not in modules_to_skip
]
# Exclude 'partition' module for now to avoid cyclic import issue.
modules_to_skip = ['partition', 'column']
for parent in self.parentmodules:
if parent.node_type == 'table':
self.submodules += [
submodule for submodule in parent.submodules
if submodule.node_type not in modules_to_skip
]
@property
def module_use_template_javascript(self):
@@ -14,7 +14,7 @@ from functools import wraps
import pgadmin.browser.server_groups.servers.databases as databases
from flask import render_template, request, jsonify, current_app
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.collection import CollectionNodeModule
from pgadmin.browser.utils import PGChildNodeView
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
@@ -10,7 +10,7 @@
""" Implements Utility class for row level security. """
from flask import render_template
from flask_babelex import gettext as _
from flask_babel import gettext as _
from pgadmin.utils.ajax import internal_server_error
from pgadmin.utils.exception import ObjectGone, ExecuteError
from functools import wraps
@@ -15,7 +15,7 @@ from functools import wraps
import pgadmin.browser.server_groups.servers.databases.schemas as schemas
from flask import render_template, make_response, request, jsonify,\
current_app
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.collection import CollectionNodeModule
from pgadmin.browser.server_groups.servers.databases.schemas.utils import \
parse_rule_definition
@@ -14,7 +14,7 @@ from functools import wraps
import pgadmin.browser.server_groups.servers.databases as database
from flask import render_template, request, jsonify, current_app
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.collection import CollectionNodeModule
from pgadmin.browser.utils import PGChildNodeView
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
@@ -10,7 +10,7 @@
""" Implements Utility class for Triggers. """
from flask import render_template
from flask_babelex import gettext as _
from flask_babel import gettext as _
from pgadmin.utils.ajax import internal_server_error
from pgadmin.utils.exception import ObjectGone, ExecuteError
from pgadmin.browser.server_groups.servers.databases.schemas.utils \
@@ -14,7 +14,7 @@ import copy
from functools import wraps
import simplejson as json
from flask import render_template, jsonify, request
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.server_groups.servers.databases.schemas\
.tables.base_partition_table import BasePartitionTable
@@ -13,7 +13,7 @@ from functools import wraps
import simplejson as json
from flask import render_template, request, jsonify
from flask_babelex import gettext
from flask_babel import gettext
import re
import pgadmin.browser.server_groups.servers.databases as database
@@ -15,7 +15,7 @@ from functools import wraps
import simplejson as json
from flask import render_template, request, jsonify, current_app
from flask_babelex import gettext
from flask_babel import gettext
from flask_security import current_user
import pgadmin.browser.server_groups.servers.databases as databases
from config import PG_DEFAULT_DRIVER
@@ -14,7 +14,7 @@ from functools import wraps
import pgadmin.browser.server_groups.servers.databases as databases
from flask import render_template, request, jsonify
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.collection import CollectionNodeModule
from pgadmin.browser.utils import PGChildNodeView
from pgadmin.utils.ajax import make_json_response, internal_server_error, \
@@ -13,7 +13,7 @@ import simplejson as json
from datetime import datetime, time
from flask import render_template, request, jsonify
from flask_babelex import gettext as _
from flask_babel import gettext as _
from config import PG_DEFAULT_DRIVER
@@ -13,7 +13,7 @@ import simplejson as json
from functools import wraps
from flask import render_template, request, jsonify
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.collection import CollectionNodeModule
from pgadmin.browser.utils import PGChildNodeView
from pgadmin.utils.ajax import make_json_response, gone, \
@@ -13,7 +13,7 @@ import simplejson as json
from functools import wraps
from flask import render_template, request, jsonify
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.collection import CollectionNodeModule
from pgadmin.browser.utils import PGChildNodeView
from pgadmin.utils.ajax import make_json_response, gone, \
@@ -7,7 +7,7 @@
#
##########################################################################
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.server_groups.servers.types import ServerType
@@ -14,7 +14,7 @@ from functools import wraps
import pgadmin.browser.server_groups.servers as servers
from flask import render_template, make_response, request, jsonify
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.collection import CollectionNodeModule
from pgadmin.browser.utils import NodeView
from pgadmin.utils.ajax import make_json_response, \
@@ -12,7 +12,7 @@ from functools import wraps
import pgadmin.browser.server_groups as sg
import simplejson as json
from flask import render_template, request, jsonify, current_app
from flask_babelex import gettext as _
from flask_babel import gettext as _
import dateutil.parser as dateutil_parser
from pgadmin.browser.collection import CollectionNodeModule
from pgadmin.browser.utils import PGChildNodeView
@@ -23,7 +23,7 @@ from pgadmin.utils.driver import get_driver
from pgadmin.utils.constants import ERROR_FETCHING_ROLE_INFORMATION
from config import PG_DEFAULT_DRIVER
from flask_babelex import gettext
from flask_babel import gettext
_REASSIGN_OWN_SQL = 'reassign_own.sql'
@@ -12,7 +12,7 @@ from functools import wraps
import pgadmin.browser.server_groups.servers as servers
from flask import render_template, make_response, request, jsonify, current_app
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.browser.collection import CollectionNodeModule
from pgadmin.browser.server_groups.servers.utils import parse_priv_from_db, \
parse_priv_to_db
@@ -13,7 +13,7 @@ import config
import copy
from flask import render_template
from flask_babelex import gettext as _
from flask_babel import gettext as _
from pgadmin.utils.preferences import Preferences
from werkzeug.exceptions import InternalServerError
from pgadmin.utils.constants import BINARY_PATHS
+3 -3
View File
@@ -13,8 +13,8 @@ from abc import abstractmethod
import flask
from flask import render_template, current_app
from flask.views import View, MethodViewType, with_metaclass
from flask_babelex import gettext
from flask.views import View, MethodViewType
from flask_babel import gettext
from config import PG_DEFAULT_DRIVER
from pgadmin.utils.ajax import make_json_response, precondition_required,\
@@ -139,7 +139,7 @@ class PGChildModule(object):
pass
class NodeView(with_metaclass(MethodViewType, View)):
class NodeView(View, metaclass=MethodViewType):
"""
A PostgreSQL Object has so many operaions/functions apart from CRUD
(Create, Read, Update, Delete):
+1 -1
View File
@@ -11,7 +11,7 @@
import math
from functools import wraps
from flask import render_template, url_for, Response, g, request
from flask_babelex import gettext
from flask_babel import gettext
from flask_security import login_required
import simplejson as json
from pgadmin.utils import PgAdminModule
+1 -1
View File
@@ -9,7 +9,7 @@
"""A blueprint module implementing the pgAdmin help system."""
from flask import url_for
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.utils import PgAdminModule
from pgadmin.utils.menu import MenuItem, Panel
from pgadmin.utils.preferences import Preferences
+1 -1
View File
@@ -11,7 +11,7 @@
import pgadmin.utils.driver as driver
from flask import url_for, render_template, Response, request
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.utils import PgAdminModule, replace_binary_path
from pgadmin.utils.csrf import pgCSRFProtect
from pgadmin.utils.session import cleanup_session_files
+1 -1
View File
@@ -29,7 +29,7 @@ from pgadmin.utils.constants import KERBEROS
import pytz
from dateutil import parser
from flask import current_app, session
from flask_babelex import gettext as _
from flask_babel import gettext as _
from flask_security import current_user
import config
+1 -1
View File
@@ -24,7 +24,7 @@ from werkzeug.exceptions import InternalServerError
import simplejson as json
from flask import render_template, Response, session, request as req, \
url_for, current_app, send_from_directory
from flask_babelex import gettext
from flask_babel import gettext
from flask_security import login_required
from pgadmin.utils import PgAdminModule
from pgadmin.utils import get_storage_directory
+1 -1
View File
@@ -15,7 +15,7 @@ side and for getting/setting preferences.
import config
import simplejson as json
from flask import render_template, url_for, Response, request, session
from flask_babelex import gettext
from flask_babel import gettext
from flask_security import login_required
from pgadmin.utils import PgAdminModule
from pgadmin.utils.ajax import success_return, \
+1 -1
View File
@@ -13,7 +13,7 @@ import traceback
import json
from flask import Response, request, render_template, url_for, current_app
from flask_babelex import gettext
from flask_babel import gettext
from flask_login import current_user
from flask_security import login_required
from pgadmin.utils import PgAdminModule
+1 -1
View File
@@ -11,7 +11,7 @@
from flask import render_template, Response
from flask import url_for
from flask_babelex import Domain, gettext
from flask_babel import Domain, gettext
from pgadmin.utils import PgAdminModule
from pgadmin.utils.ajax import bad_request
+1 -1
View File
@@ -16,7 +16,7 @@ import operator
from flask import render_template, request, current_app, \
url_for, Response
from flask_babelex import gettext as _
from flask_babel import gettext as _
from flask_security import login_required, current_user
from pgadmin.misc.bgprocess.processes import BatchProcess, IProcessDesc
from pgadmin.utils import PgAdminModule, get_storage_directory, html, \
+1 -1
View File
@@ -17,7 +17,7 @@ from threading import Lock
from flask import Response, url_for, session, request, make_response
from werkzeug.useragents import UserAgent
from flask import current_app as app, render_template
from flask_babelex import gettext
from flask_babel import gettext
from flask_security import login_required, current_user
from pgadmin.tools.sqleditor.command import ObjectRegistry, SQLFilter
from pgadmin.tools.sqleditor import check_transaction_status
+1 -1
View File
@@ -15,7 +15,7 @@ import re
from flask import url_for, Response, render_template, request, \
current_app
from flask_babelex import gettext
from flask_babel import gettext
from flask_security import login_required
from werkzeug.useragents import UserAgent
+1 -1
View File
@@ -13,7 +13,7 @@ import simplejson as json
from flask import url_for, request
from flask import render_template, current_app as app
from flask_security import login_required
from flask_babelex import gettext
from flask_babel import gettext
from werkzeug.useragents import UserAgent
from pgadmin.utils import PgAdminModule, \
SHORTCUT_FIELDS as shortcut_fields
+1 -1
View File
@@ -12,7 +12,7 @@
import simplejson as json
from flask import Response, url_for
from flask import render_template, request, current_app
from flask_babelex import gettext
from flask_babel import gettext
from flask_security import login_required
from urllib.parse import unquote
+1 -1
View File
@@ -13,7 +13,7 @@ import simplejson as json
import os
from flask import url_for, Response, render_template, request, current_app
from flask_babelex import gettext as _
from flask_babel import gettext as _
from flask_security import login_required, current_user
from pgadmin.misc.bgprocess.processes import BatchProcess, IProcessDesc
from pgadmin.utils import PgAdminModule, get_storage_directory, html, \
+1 -1
View File
@@ -12,7 +12,7 @@
import simplejson as json
from flask import url_for, Response, render_template, request, current_app
from flask_babelex import gettext as _
from flask_babel import gettext as _
from flask_security import login_required, current_user
from pgadmin.misc.bgprocess.processes import BatchProcess, IProcessDesc
from pgadmin.utils import PgAdminModule, html, does_utility_exist, get_server
+1 -1
View File
@@ -18,7 +18,7 @@ from config import PG_DEFAULT_DRIVER
from flask import Response, url_for, request
from flask import render_template, copy_current_request_context, \
current_app as app
from flask_babelex import gettext
from flask_babel import gettext
from flask_security import login_required, current_user
from pgadmin.browser.utils import underscore_unescape, underscore_escape
from pgadmin.utils import PgAdminModule
+1 -1
View File
@@ -14,7 +14,7 @@ import os
from flask import render_template, request, current_app, \
url_for, Response
from flask_babelex import gettext as _
from flask_babel import gettext as _
from flask_security import login_required, current_user
from pgadmin.misc.bgprocess.processes import BatchProcess, IProcessDesc
from pgadmin.utils import PgAdminModule, get_storage_directory, html, \
+1 -1
View File
@@ -16,7 +16,7 @@ import copy
from flask import Response, session, url_for, request
from flask import render_template, current_app as app
from flask_security import current_user, login_required
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.utils import PgAdminModule
from pgadmin.utils.ajax import make_json_response, bad_request, \
make_response as ajax_response, internal_server_error
+1 -1
View File
@@ -7,7 +7,7 @@
#
##########################################################################
from flask_babelex import gettext
from flask_babel import gettext
class SchemaDiffModel(object):
+1 -1
View File
@@ -10,7 +10,7 @@
"""Implements Search Object feature"""
from flask import request
from flask_babelex import gettext
from flask_babel import gettext
from flask_security import login_required
from pgadmin.utils import PgAdminModule
+1 -1
View File
@@ -8,7 +8,7 @@
##########################################################################
from flask import current_app, render_template
from flask_babelex import gettext
from flask_babel import gettext
from pgadmin.utils.driver import get_driver
from config import PG_DEFAULT_DRIVER
+1 -1
View File
@@ -17,7 +17,7 @@ import simplejson as json
from config import PG_DEFAULT_DRIVER, ON_DEMAND_RECORD_COUNT
from flask import Response, url_for, render_template, session, current_app
from flask import request, jsonify
from flask_babelex import gettext
from flask_babel import gettext
from flask_security import login_required, current_user
from pgadmin.misc.file_manager import Filemanager
from pgadmin.tools.sqleditor.command import QueryToolCommand
Loaded 100 of 120 files, more files were not shown because too many files have changed in this diff. Show more