mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
committed by
Dave Page
parent
166d42953c
commit
06e881570a
@@ -8,7 +8,7 @@
|
||||
##########################################################################
|
||||
"""Defines views for management of server groups"""
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from abc import ABCMeta, abstractmethod
|
||||
|
||||
import six
|
||||
@@ -156,7 +156,9 @@ class ServerGroupView(NodeView):
|
||||
user_id=current_user.id,
|
||||
id=gid).first()
|
||||
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
if servergroup is None:
|
||||
return make_json_response(
|
||||
@@ -201,7 +203,10 @@ class ServerGroupView(NodeView):
|
||||
)
|
||||
|
||||
def create(self):
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
"""Creates new server-group """
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
if data[u'name'] != '':
|
||||
try:
|
||||
check_sg = ServerGroup.query.filter_by(
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
##########################################################################
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
import traceback
|
||||
|
||||
import pgadmin.browser.server_groups as sg
|
||||
@@ -400,7 +400,9 @@ class ServerNode(PGChildNodeView):
|
||||
}
|
||||
|
||||
idx = 0
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
from pgadmin.utils.driver import get_driver
|
||||
manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(sid)
|
||||
@@ -554,7 +556,9 @@ class ServerNode(PGChildNodeView):
|
||||
u'role'
|
||||
]
|
||||
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
for arg in required_args:
|
||||
if arg not in data:
|
||||
@@ -740,8 +744,9 @@ class ServerNode(PGChildNodeView):
|
||||
if user is None:
|
||||
return unauthorized(gettext("Unauthorized request."))
|
||||
|
||||
data = request.form if request.form else json.loads(request.data) if \
|
||||
request.data else {}
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
) if request.data else {}
|
||||
|
||||
password = None
|
||||
save_password = False
|
||||
@@ -969,7 +974,7 @@ class ServerNode(PGChildNodeView):
|
||||
sid: Server id
|
||||
"""
|
||||
try:
|
||||
data = json.loads(request.form['data'])
|
||||
data = json.loads(request.form['data'], encoding='utf-8')
|
||||
if data and ('password' not in data or
|
||||
data['password'] == '' or
|
||||
'newPassword' not in data or
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
"""Implements the Database Node"""
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
import re
|
||||
from functools import wraps
|
||||
|
||||
@@ -186,11 +186,12 @@ class DatabaseView(PGChildNodeView):
|
||||
return internal_server_error(errormsg=rset)
|
||||
|
||||
for row in rset['rows']:
|
||||
if self.manager.db == row['name']:
|
||||
dbname = row['name']
|
||||
if self.manager.db == dbname:
|
||||
connected = True
|
||||
canDrop = canDisConn = False
|
||||
else:
|
||||
conn = self.manager.connection(row['name'])
|
||||
conn = self.manager.connection(dbname)
|
||||
connected = conn.connected()
|
||||
canDrop = canDisConn = True
|
||||
|
||||
@@ -441,7 +442,9 @@ class DatabaseView(PGChildNodeView):
|
||||
u'name'
|
||||
]
|
||||
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
for arg in required_args:
|
||||
if arg not in data:
|
||||
@@ -516,7 +519,7 @@ class DatabaseView(PGChildNodeView):
|
||||
"""Update the database."""
|
||||
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data.decode()
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
info = "nothing to update."
|
||||
|
||||
@@ -636,7 +639,7 @@ class DatabaseView(PGChildNodeView):
|
||||
data = {}
|
||||
for k, v in request.args.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except ValueError:
|
||||
data[k] = v
|
||||
try:
|
||||
@@ -708,7 +711,7 @@ class DatabaseView(PGChildNodeView):
|
||||
acls = render_template(
|
||||
"/".join([self.template_path, 'allowed_privs.json'])
|
||||
)
|
||||
acls = json.loads(acls)
|
||||
acls = json.loads(acls, encoding='utf-8')
|
||||
except Exception as e:
|
||||
current_app.logger.exception(e)
|
||||
|
||||
@@ -741,7 +744,7 @@ class DatabaseView(PGChildNodeView):
|
||||
acls = render_template(
|
||||
"/".join([self.template_path, 'allowed_privs.json'])
|
||||
)
|
||||
acls = json.loads(acls)
|
||||
acls = json.loads(acls, encoding='utf-8')
|
||||
except Exception as e:
|
||||
current_app.logger.exception(e)
|
||||
|
||||
@@ -864,17 +867,20 @@ class DatabaseView(PGChildNodeView):
|
||||
frmtd_variables = parse_variables_from_db(res1['rows'])
|
||||
result.update(frmtd_variables)
|
||||
|
||||
sql_header = """
|
||||
-- Database: {0}
|
||||
sql_header = "-- Database: {0}\n\n-- ".format(result['name'])
|
||||
if hasattr(str, 'decode'):
|
||||
sql_header = sql_header.decode('utf-8')
|
||||
|
||||
-- DROP DATABASE {0};
|
||||
|
||||
""".format(result['name'])
|
||||
sql_header += render_template(
|
||||
"/".join([self.template_path, 'delete.sql']),
|
||||
datname=result['name'], conn=self.conn
|
||||
)
|
||||
|
||||
SQL = self.get_new_sql(gid, sid, result, did)
|
||||
SQL = re.sub('\n{2,}', '\n\n', SQL)
|
||||
SQL = sql_header + SQL
|
||||
SQL = sql_header + '\n' + SQL
|
||||
SQL = SQL.strip('\n')
|
||||
|
||||
return ajax_response(response=SQL)
|
||||
|
||||
@check_precondition()
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
"""Implements Cast Node"""
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
import pgadmin.browser.server_groups.servers.databases as databases
|
||||
@@ -345,7 +345,9 @@ class CastView(PGChildNodeView):
|
||||
'trgtyp'
|
||||
]
|
||||
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
for arg in required_args:
|
||||
if arg not in data:
|
||||
return make_json_response(
|
||||
@@ -396,7 +398,9 @@ class CastView(PGChildNodeView):
|
||||
:param gid: group id
|
||||
:return:
|
||||
"""
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
sql = self.get_sql(gid, sid, did, data, cid)
|
||||
try:
|
||||
if sql and sql.strip('\n') and sql.strip(' '):
|
||||
@@ -560,7 +564,10 @@ class CastView(PGChildNodeView):
|
||||
:return:
|
||||
"""
|
||||
res = []
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
sql = render_template("/".join([self.template_path, 'functions.sql']),
|
||||
srctyp=data['srctyp'],
|
||||
trgtyp=data['trgtyp'])
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
##########################################################################
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
import re
|
||||
from functools import wraps
|
||||
|
||||
@@ -327,7 +327,10 @@ class EventTriggerView(PGChildNodeView):
|
||||
Returns:
|
||||
|
||||
"""
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
required_args = {
|
||||
'name': 'Name',
|
||||
'eventowner': 'Owner',
|
||||
@@ -390,7 +393,9 @@ class EventTriggerView(PGChildNodeView):
|
||||
Returns:
|
||||
|
||||
"""
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
try:
|
||||
sql = self.get_sql(data, etid)
|
||||
@@ -500,7 +505,7 @@ class EventTriggerView(PGChildNodeView):
|
||||
data = {}
|
||||
for k, v in request.args.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except ValueError:
|
||||
data[k] = v
|
||||
try:
|
||||
@@ -601,6 +606,8 @@ class EventTriggerView(PGChildNodeView):
|
||||
return internal_server_error(errormsg=db_name)
|
||||
|
||||
sql_header = "-- Event Trigger: {0} on database {1}\n\n-- ".format(result['name'], db_name)
|
||||
if hasattr(str, 'decode'):
|
||||
sql_header = sql_header.decode('utf-8')
|
||||
|
||||
sql_header += render_template(
|
||||
"/".join([self.template_path, 'delete.sql']),
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
""" Implements Extension Node """
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
import pgadmin.browser.server_groups.servers.databases as databases
|
||||
@@ -216,8 +216,10 @@ class ExtensionView(PGChildNodeView):
|
||||
'name'
|
||||
]
|
||||
|
||||
data = request.form if request.form else \
|
||||
json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
for arg in required_args:
|
||||
if arg not in data:
|
||||
return make_json_response(
|
||||
@@ -263,8 +265,9 @@ class ExtensionView(PGChildNodeView):
|
||||
"""
|
||||
This function will update an extension object
|
||||
"""
|
||||
data = request.form if request.form else \
|
||||
json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
SQL = self.getSQL(gid, sid, data, did, eid)
|
||||
|
||||
try:
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
"""Implements Foreign Data Wrapper Node"""
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
import pgadmin.browser.server_groups.servers as servers
|
||||
@@ -355,7 +355,9 @@ class ForeignDataWrapperView(PGChildNodeView):
|
||||
'name'
|
||||
]
|
||||
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
for arg in required_args:
|
||||
if arg not in data:
|
||||
return make_json_response(
|
||||
@@ -422,7 +424,9 @@ class ForeignDataWrapperView(PGChildNodeView):
|
||||
did: Database ID
|
||||
fid: foreign data wrapper ID
|
||||
"""
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
sql = self.get_sql(gid, sid, data, did, fid)
|
||||
try:
|
||||
if sql and sql.strip('\n') and sql.strip(' '):
|
||||
@@ -524,7 +528,7 @@ class ForeignDataWrapperView(PGChildNodeView):
|
||||
data = {}
|
||||
for k, v in request.args.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except ValueError:
|
||||
data[k] = v
|
||||
|
||||
@@ -677,6 +681,9 @@ class ForeignDataWrapperView(PGChildNodeView):
|
||||
|
||||
""".format(res['rows'][0]['name'])
|
||||
|
||||
if hasattr(str, 'decode'):
|
||||
sql_header = sql_header.decode('utf-8')
|
||||
|
||||
sql = sql_header + sql
|
||||
|
||||
return ajax_response(response=sql)
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
"""Implements Foreign Server Node"""
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
import pgadmin.browser.server_groups.servers.databases as databases
|
||||
@@ -356,7 +356,9 @@ class ForeignServerView(PGChildNodeView):
|
||||
'name'
|
||||
]
|
||||
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
for arg in required_args:
|
||||
if arg not in data:
|
||||
return make_json_response(
|
||||
@@ -428,7 +430,9 @@ class ForeignServerView(PGChildNodeView):
|
||||
fsid: foreign server ID
|
||||
"""
|
||||
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
sql = self.get_sql(gid, sid, data, did, fid, fsid)
|
||||
try:
|
||||
if sql and sql.strip('\n') and sql.strip(' '):
|
||||
@@ -538,7 +542,7 @@ class ForeignServerView(PGChildNodeView):
|
||||
data = {}
|
||||
for k, v in request.args.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except ValueError:
|
||||
data[k] = v
|
||||
|
||||
@@ -715,6 +719,8 @@ class ForeignServerView(PGChildNodeView):
|
||||
-- DROP SERVER {0}
|
||||
|
||||
""".format(res['rows'][0]['name'])
|
||||
if hasattr(str, 'decode'):
|
||||
sql_header = sql_header.decode('utf-8')
|
||||
|
||||
sql = sql_header + sql
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
"""Implements User Mapping Node"""
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
import pgadmin.browser.server_groups.servers as servers
|
||||
@@ -361,7 +361,9 @@ class UserMappingView(PGChildNodeView):
|
||||
'name'
|
||||
]
|
||||
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
for arg in required_args:
|
||||
if arg not in data:
|
||||
return make_json_response(
|
||||
@@ -435,7 +437,9 @@ class UserMappingView(PGChildNodeView):
|
||||
umid: User mapping ID
|
||||
"""
|
||||
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
sql = self.get_sql(gid, sid, data, did, fid, fsid, umid)
|
||||
try:
|
||||
if sql and sql.strip('\n') and sql.strip(' '):
|
||||
@@ -565,7 +569,7 @@ class UserMappingView(PGChildNodeView):
|
||||
data = {}
|
||||
for k, v in request.args.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except ValueError:
|
||||
data[k] = v
|
||||
|
||||
@@ -725,6 +729,8 @@ class UserMappingView(PGChildNodeView):
|
||||
-- DROP USER MAPPING FOR {0} SERVER {1}
|
||||
|
||||
""".format(res['rows'][0]['name'], fdw_data['name'])
|
||||
if hasattr(str, 'decode'):
|
||||
sql_header = sql_header.decode('utf-8')
|
||||
|
||||
sql = sql_header + sql
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
"""Implements Language Node"""
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
import pgadmin.browser.server_groups.servers.databases as databases
|
||||
@@ -354,7 +354,9 @@ class LanguageView(PGChildNodeView):
|
||||
did: Database ID
|
||||
lid: Language ID
|
||||
"""
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
sql = self.get_sql(data, lid)
|
||||
|
||||
try:
|
||||
@@ -402,7 +404,7 @@ class LanguageView(PGChildNodeView):
|
||||
data = {}
|
||||
for k, v in request.args.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except ValueError:
|
||||
data[k] = v
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
##########################################################################
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
import re
|
||||
from functools import wraps
|
||||
|
||||
@@ -262,7 +262,7 @@ class SchemaView(PGChildNodeView):
|
||||
acls = render_template(
|
||||
"/".join([self.template_path, 'allowed_privs.json'])
|
||||
)
|
||||
acls = json.loads(acls)
|
||||
acls = json.loads(acls, encoding='utf-8')
|
||||
except Exception as e:
|
||||
current_app.logger.exception(e)
|
||||
|
||||
@@ -490,8 +490,9 @@ It may have been removed by another user.
|
||||
sid: Server ID
|
||||
did: Database ID
|
||||
"""
|
||||
data = request.form if request.form else \
|
||||
json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
required_args = {
|
||||
'name': 'Name'
|
||||
@@ -559,7 +560,7 @@ It may have been removed by another user.
|
||||
scid: Schema ID
|
||||
"""
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data.decode()
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
try:
|
||||
SQL = self.get_sql(gid, sid, data, scid)
|
||||
@@ -669,7 +670,7 @@ It may have been removed by another user.
|
||||
data = dict()
|
||||
for k, v in request.args.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except ValueError:
|
||||
data[k] = v
|
||||
|
||||
@@ -769,14 +770,16 @@ It may have been removed by another user.
|
||||
_=gettext, data=data, conn=self.conn
|
||||
)
|
||||
|
||||
sql_header = """
|
||||
-- SCHEMA: {0}
|
||||
sql_header = "-- SCHEMA: {0}\n\n-- ".format(data['name'])
|
||||
if hasattr(str, 'decode'):
|
||||
sql_header = sql_header.decode('utf-8')
|
||||
|
||||
-- DROP SCHEMA {0};
|
||||
# drop schema
|
||||
sql_header += render_template(
|
||||
"/".join([self.template_path, 'sql/delete.sql']),
|
||||
_=gettext, name=data['name'], conn=self.conn, cascade=False)
|
||||
|
||||
""".format(data['name'])
|
||||
|
||||
SQL = sql_header + SQL
|
||||
SQL = sql_header + '\n\n' + SQL
|
||||
|
||||
return ajax_response(response=SQL.strip("\n"))
|
||||
|
||||
@@ -959,6 +962,8 @@ It may have been removed by another user.
|
||||
-- DROP SCHEMA {0};
|
||||
|
||||
""".format(old_data['name'])
|
||||
if hasattr(str, 'decode'):
|
||||
sql_header = sql_header.decode('utf-8')
|
||||
|
||||
SQL = sql_header + SQL
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
""" Implements Collation Node """
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
import pgadmin.browser.server_groups.servers.databases as database
|
||||
@@ -378,7 +378,7 @@ class CollationView(PGChildNodeView):
|
||||
"""
|
||||
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data.decode()
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
required_args = [
|
||||
@@ -502,7 +502,7 @@ class CollationView(PGChildNodeView):
|
||||
coid: Collation ID
|
||||
"""
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data.decode()
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
SQL = self.get_sql(gid, sid, data, scid, coid)
|
||||
try:
|
||||
@@ -549,7 +549,7 @@ class CollationView(PGChildNodeView):
|
||||
data = dict()
|
||||
for k, v in request.args.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except ValueError:
|
||||
data[k] = v
|
||||
|
||||
@@ -622,6 +622,8 @@ class CollationView(PGChildNodeView):
|
||||
data=data, conn=self.conn)
|
||||
|
||||
sql_header = "-- Collation: {0};\n\n-- ".format(data['name'])
|
||||
if hasattr(str, 'decode'):
|
||||
sql_header = sql_header.decode('utf-8')
|
||||
sql_header += render_template("/".join([self.template_path,
|
||||
'delete.sql']),
|
||||
name=data['name'])
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
"""Implements the Domain Node."""
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
import pgadmin.browser.server_groups.servers.databases as databases
|
||||
@@ -189,7 +189,7 @@ class DomainView(PGChildNodeView, DataTypeReader):
|
||||
|
||||
data = {}
|
||||
if request.data:
|
||||
req = json.loads(request.data.decode())
|
||||
req = json.loads(request.data, encoding='utf-8')
|
||||
else:
|
||||
req = request.args or request.form
|
||||
|
||||
@@ -218,7 +218,7 @@ class DomainView(PGChildNodeView, DataTypeReader):
|
||||
if key in list_params and req[key] != '' \
|
||||
and req[key] is not None:
|
||||
# Coverts string into python list as expected.
|
||||
data[key] = json.loads(req[key])
|
||||
data[key] = json.loads(req[key], encoding='utf-8')
|
||||
elif key == 'typnotnull':
|
||||
data[key] = True if req[key] == 'true' or req[key] is \
|
||||
True else \
|
||||
@@ -706,6 +706,8 @@ AND relkind != 'c'))"""
|
||||
-- DROP DOMAIN {0};
|
||||
|
||||
""".format(data['basensp'] + '.' + data['name'])
|
||||
if hasattr(str, 'decode'):
|
||||
sql_header = sql_header.decode('utf-8')
|
||||
|
||||
SQL = sql_header + SQL
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
"""Implements the Domain Constraint Module."""
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
import pgadmin.browser.server_groups.servers.databases.schemas.domains \
|
||||
@@ -193,7 +193,7 @@ class DomainConstraintView(PGChildNodeView):
|
||||
|
||||
data = {}
|
||||
if request.data:
|
||||
req = json.loads(request.data.decode())
|
||||
req = json.loads(request.data, encoding='utf-8')
|
||||
else:
|
||||
req = request.args or request.form
|
||||
|
||||
@@ -571,6 +571,8 @@ class DomainConstraintView(PGChildNodeView):
|
||||
-- ALTER DOMAIN {1} DROP CONSTRAINT {0};
|
||||
|
||||
""".format(data['name'], schema + '.' + domain)
|
||||
if hasattr(str, 'decode'):
|
||||
sql_header = sql_header.decode('utf-8')
|
||||
|
||||
SQL = sql_header + SQL
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
"""Implements the Foreign Table Module."""
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
import sys
|
||||
import traceback
|
||||
from functools import wraps
|
||||
@@ -232,7 +232,7 @@ class ForeignTableView(PGChildNodeView, DataTypeReader):
|
||||
data = {}
|
||||
|
||||
if request.data:
|
||||
req = json.loads(request.data.decode())
|
||||
req = json.loads(request.data, encoding='utf-8')
|
||||
else:
|
||||
req = request.args or request.form
|
||||
|
||||
@@ -267,7 +267,7 @@ class ForeignTableView(PGChildNodeView, DataTypeReader):
|
||||
# Coverts string into python list as expected.
|
||||
data[key] = [] if \
|
||||
type(req[key]) == list and len(req[key]) == 0 else \
|
||||
json.loads(req[key])
|
||||
json.loads(req[key], encoding='utf-8')
|
||||
|
||||
if key == 'inherits':
|
||||
# Convert Table ids from unicode/string to int
|
||||
@@ -833,6 +833,8 @@ AND relkind != 'c'))"""
|
||||
-- DROP {0} {1};
|
||||
|
||||
""".format('FOREIGN TABLE', data['basensp'] + "." + data['name'])
|
||||
if hasattr(str, 'decode'):
|
||||
sql_header = sql_header.decode('utf-8')
|
||||
|
||||
SQL = sql_header + SQL
|
||||
|
||||
@@ -1205,7 +1207,7 @@ AND relkind != 'c'))"""
|
||||
else:
|
||||
columns = '*'
|
||||
|
||||
sql = "SELECT {0}\n\tFROM {1};".format(
|
||||
sql = u"SELECT {0}\n\tFROM {1};".format(
|
||||
columns,
|
||||
self.qtIdent(self.conn, data['basensp'], data['name'])
|
||||
)
|
||||
@@ -1241,7 +1243,7 @@ AND relkind != 'c'))"""
|
||||
if len(columns) > 0:
|
||||
columns = ", ".join(columns)
|
||||
values = ", ".join(values)
|
||||
sql = "INSERT INTO {0}(\n\t{1})\n\tVALUES ({2});".format(
|
||||
sql = u"INSERT INTO {0}(\n\t{1})\n\tVALUES ({2});".format(
|
||||
self.qtIdent(self.conn, data['basensp'], data['name']),
|
||||
columns, values
|
||||
)
|
||||
@@ -1282,7 +1284,7 @@ AND relkind != 'c'))"""
|
||||
columns = "=?, ".join(columns)
|
||||
columns += "=?"
|
||||
|
||||
sql = "UPDATE {0}\n\tSET {1}\n\tWHERE <condition>;".format(
|
||||
sql = u"UPDATE {0}\n\tSET {1}\n\tWHERE <condition>;".format(
|
||||
self.qtIdent(self.conn, data['basensp'], data['name']),
|
||||
columns
|
||||
)
|
||||
@@ -1308,7 +1310,7 @@ AND relkind != 'c'))"""
|
||||
"""
|
||||
data = self._fetch_properties(gid, sid, did, scid, foid)
|
||||
|
||||
sql = "DELETE FROM {0}\n\tWHERE <condition>;".format(
|
||||
sql = u"DELETE FROM {0}\n\tWHERE <condition>;".format(
|
||||
self.qtIdent(self.conn, data['basensp'], data['name'])
|
||||
)
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
"""Defines views for management of Fts Configuration node"""
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
import pgadmin.browser.server_groups.servers.databases as databases
|
||||
@@ -404,7 +404,8 @@ class FtsConfigurationView(PGChildNodeView):
|
||||
]
|
||||
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data.decode())
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
for arg in required_args:
|
||||
if arg not in data:
|
||||
return make_json_response(
|
||||
@@ -484,7 +485,8 @@ class FtsConfigurationView(PGChildNodeView):
|
||||
:param cfgid: fts Configuration id
|
||||
"""
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data.decode())
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
# Fetch sql query to update fts Configuration
|
||||
sql = self.get_sql(gid, sid, did, scid, data, cfgid)
|
||||
@@ -620,7 +622,7 @@ class FtsConfigurationView(PGChildNodeView):
|
||||
data = {}
|
||||
for k, v in request.args.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except ValueError:
|
||||
data[k] = v
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
"""Defines views for management of Fts Dictionary node"""
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
import pgadmin.browser.server_groups.servers.databases as databases
|
||||
@@ -409,7 +409,8 @@ class FtsDictionaryView(PGChildNodeView):
|
||||
]
|
||||
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data.decode())
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
for arg in required_args:
|
||||
if arg not in data:
|
||||
return make_json_response(
|
||||
@@ -475,7 +476,8 @@ class FtsDictionaryView(PGChildNodeView):
|
||||
:param dcid: fts dictionary id
|
||||
"""
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data.decode())
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
# Fetch sql query to update fts dictionary
|
||||
sql = self.get_sql(gid, sid, did, scid, data, dcid)
|
||||
@@ -606,7 +608,7 @@ class FtsDictionaryView(PGChildNodeView):
|
||||
data = {}
|
||||
for k, v in request.args.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except ValueError:
|
||||
data[k] = v
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
"""Defines views for management of FTS Parser node"""
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
from flask import render_template, request, jsonify, current_app
|
||||
@@ -345,7 +345,8 @@ class FtsParserView(PGChildNodeView):
|
||||
]
|
||||
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data.decode())
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
for arg in required_args:
|
||||
if arg not in data:
|
||||
return make_json_response(
|
||||
@@ -413,7 +414,8 @@ class FtsParserView(PGChildNodeView):
|
||||
:param pid: fts parser id
|
||||
"""
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data.decode())
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
# Fetch sql query to update fts parser
|
||||
sql = self.get_sql(gid, sid, did, scid, data, pid)
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
"""Defines views for management of Fts Template node"""
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
from flask import render_template, make_response, request, jsonify
|
||||
@@ -322,7 +322,8 @@ class FtsTemplateView(PGChildNodeView):
|
||||
]
|
||||
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data.decode())
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
for arg in required_args:
|
||||
if arg not in data:
|
||||
return make_json_response(
|
||||
@@ -387,7 +388,8 @@ class FtsTemplateView(PGChildNodeView):
|
||||
:param tid: fts tempate id
|
||||
"""
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data.decode())
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
# Fetch sql query to update fts template
|
||||
sql = self.get_sql(gid, sid, did, scid, data, tid)
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
"""Implements Functions/Procedures Node."""
|
||||
|
||||
import copy
|
||||
import json
|
||||
import simplejson as json
|
||||
import re
|
||||
import sys
|
||||
import traceback
|
||||
@@ -252,7 +252,7 @@ class FunctionView(PGChildNodeView, DataTypeReader):
|
||||
|
||||
data = {}
|
||||
if request.data:
|
||||
req = json.loads(request.data.decode())
|
||||
req = json.loads(request.data, encoding='utf-8')
|
||||
else:
|
||||
req = request.args or request.form
|
||||
|
||||
@@ -280,7 +280,7 @@ class FunctionView(PGChildNodeView, DataTypeReader):
|
||||
if key in list_params and req[key] != '' \
|
||||
and req[key] is not None:
|
||||
# Coverts string into python list as expected.
|
||||
data[key] = json.loads(req[key])
|
||||
data[key] = json.loads(req[key], encoding='utf-8')
|
||||
elif (
|
||||
key == 'proretset' or key == 'proisstrict' or
|
||||
key == 'prosecdef' or key == 'proiswindow' or
|
||||
@@ -971,6 +971,8 @@ class FunctionView(PGChildNodeView, DataTypeReader):
|
||||
-- DROP {0} {1};
|
||||
|
||||
""".format(object_type.upper(), name)
|
||||
if hasattr(str, 'decode'):
|
||||
sql_header = sql_header.decode('utf-8')
|
||||
|
||||
SQL = sql_header + func_def
|
||||
SQL = re.sub('\n{2,}', '\n\n', SQL)
|
||||
@@ -1135,7 +1137,7 @@ class FunctionView(PGChildNodeView, DataTypeReader):
|
||||
if 'acl' in data:
|
||||
data['acl'] = parse_priv_to_db(data['acl'], ["X"])
|
||||
|
||||
args = ''
|
||||
args = u''
|
||||
cnt = 1
|
||||
if 'arguments' in data:
|
||||
for a in data['arguments']:
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
"""Implements Sequence Node"""
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
import pgadmin.browser.server_groups.servers.databases as database
|
||||
@@ -302,7 +302,9 @@ class SequenceView(PGChildNodeView):
|
||||
u'seqowner',
|
||||
]
|
||||
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
for arg in required_args:
|
||||
if arg not in data:
|
||||
@@ -429,7 +431,9 @@ class SequenceView(PGChildNodeView):
|
||||
Returns:
|
||||
|
||||
"""
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
try:
|
||||
SQL = self.getSQL(gid, sid, did, data, scid, seid)
|
||||
SQL = SQL.strip('\n').strip(' ')
|
||||
@@ -481,7 +485,7 @@ class SequenceView(PGChildNodeView):
|
||||
data = {}
|
||||
for k, v in request.args.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except ValueError:
|
||||
data[k] = v
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
""" Implements Table Node """
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
import re
|
||||
from functools import wraps
|
||||
|
||||
@@ -1348,11 +1348,13 @@ class TableView(PGChildNodeView, DataTypeReader, VacuumSettings):
|
||||
did: Database ID
|
||||
scid: Schema ID
|
||||
"""
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
for k, v in data.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except (ValueError, TypeError):
|
||||
data[k] = v
|
||||
|
||||
@@ -1381,7 +1383,9 @@ class TableView(PGChildNodeView, DataTypeReader, VacuumSettings):
|
||||
# We will convert it again to list
|
||||
if 'coll_inherits' in data and \
|
||||
isinstance(data['coll_inherits'], str):
|
||||
data['coll_inherits'] = json.loads(data['coll_inherits'])
|
||||
data['coll_inherits'] = json.loads(
|
||||
data['coll_inherits'], encoding='utf-8'
|
||||
)
|
||||
|
||||
if 'foreign_key' in data:
|
||||
for c in data['foreign_key']:
|
||||
@@ -1434,12 +1438,12 @@ class TableView(PGChildNodeView, DataTypeReader, VacuumSettings):
|
||||
tid: Table ID
|
||||
"""
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data.decode()
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
for k, v in data.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except (ValueError, TypeError):
|
||||
data[k] = v
|
||||
|
||||
@@ -1547,7 +1551,9 @@ class TableView(PGChildNodeView, DataTypeReader, VacuumSettings):
|
||||
tid: Table ID
|
||||
"""
|
||||
# Below will decide if it's simple drop or drop with cascade call
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
# Convert str 'true' to boolean type
|
||||
is_cascade = json.loads(data['cascade'])
|
||||
|
||||
@@ -1593,7 +1599,9 @@ class TableView(PGChildNodeView, DataTypeReader, VacuumSettings):
|
||||
tid: Table ID
|
||||
"""
|
||||
# Below will decide if it's simple drop or drop with cascade call
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
# Convert str 'true' to boolean type
|
||||
is_enable = json.loads(data['enable'])
|
||||
|
||||
@@ -1675,7 +1683,7 @@ class TableView(PGChildNodeView, DataTypeReader, VacuumSettings):
|
||||
data = dict()
|
||||
for k, v in request.args.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except (ValueError, TypeError):
|
||||
data[k] = v
|
||||
|
||||
@@ -2397,9 +2405,10 @@ class TableView(PGChildNodeView, DataTypeReader, VacuumSettings):
|
||||
c['cltype'] = self._cltype_formatter(c['cltype'])
|
||||
c['hasSqrBracket'] = self.hasSqrBracket
|
||||
|
||||
sql_header = "-- Table: {0}\n\n-- ".format(self.qtIdent(self.conn,
|
||||
sql_header = u"-- Table: {0}\n\n-- ".format(self.qtIdent(self.conn,
|
||||
data['schema'],
|
||||
data['name']))
|
||||
|
||||
sql_header += render_template("/".join([self.template_path,
|
||||
'delete.sql']),
|
||||
data=data, conn=self.conn)
|
||||
@@ -2490,6 +2499,9 @@ class TableView(PGChildNodeView, DataTypeReader, VacuumSettings):
|
||||
data['cols'] = ', '.join(cols)
|
||||
|
||||
sql_header = "\n-- Index: {0}\n\n-- ".format(data['name'])
|
||||
if hasattr(str, 'decode'):
|
||||
sql_header = sql_header.decode('utf-8')
|
||||
|
||||
sql_header += render_template("/".join([self.index_template_path,
|
||||
'delete.sql']),
|
||||
data=data, conn=self.conn)
|
||||
@@ -2559,6 +2571,9 @@ class TableView(PGChildNodeView, DataTypeReader, VacuumSettings):
|
||||
data = trigger_definition(data)
|
||||
|
||||
sql_header = "\n-- Trigger: {0}\n\n-- ".format(data['name'])
|
||||
if hasattr(str, 'decode'):
|
||||
sql_header = sql_header.decode('utf-8')
|
||||
|
||||
sql_header += render_template("/".join([self.trigger_template_path,
|
||||
'delete.sql']),
|
||||
data=data, conn=self.conn)
|
||||
@@ -2656,7 +2671,7 @@ class TableView(PGChildNodeView, DataTypeReader, VacuumSettings):
|
||||
else:
|
||||
columns = '*'
|
||||
|
||||
sql = "SELECT {0}\n\tFROM {1};".format(
|
||||
sql = u"SELECT {0}\n\tFROM {1};".format(
|
||||
columns,
|
||||
self.qtIdent(self.conn, data['schema'], data['name'])
|
||||
)
|
||||
@@ -2700,7 +2715,7 @@ class TableView(PGChildNodeView, DataTypeReader, VacuumSettings):
|
||||
if len(columns) > 0:
|
||||
columns = ", ".join(columns)
|
||||
values = ", ".join(values)
|
||||
sql = "INSERT INTO {0}(\n\t{1})\n\tVALUES ({2});".format(
|
||||
sql = u"INSERT INTO {0}(\n\t{1})\n\tVALUES ({2});".format(
|
||||
self.qtIdent(self.conn, data['schema'], data['name']),
|
||||
columns, values
|
||||
)
|
||||
@@ -2749,7 +2764,7 @@ class TableView(PGChildNodeView, DataTypeReader, VacuumSettings):
|
||||
else:
|
||||
columns = "=?, ".join(columns)
|
||||
|
||||
sql = "UPDATE {0}\n\tSET {1}\n\tWHERE <condition>;".format(
|
||||
sql = u"UPDATE {0}\n\tSET {1}\n\tWHERE <condition>;".format(
|
||||
self.qtIdent(self.conn, data['schema'], data['name']),
|
||||
columns
|
||||
)
|
||||
@@ -2783,7 +2798,7 @@ class TableView(PGChildNodeView, DataTypeReader, VacuumSettings):
|
||||
|
||||
data = res['rows'][0]
|
||||
|
||||
sql = "DELETE FROM {0}\n\tWHERE <condition>;".format(
|
||||
sql = u"DELETE FROM {0}\n\tWHERE <condition>;".format(
|
||||
self.qtIdent(self.conn, data['schema'], data['name'])
|
||||
)
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
""" Implements Column Node """
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
import pgadmin.browser.server_groups.servers.databases as database
|
||||
@@ -505,12 +505,12 @@ class ColumnsView(PGChildNodeView, DataTypeReader):
|
||||
tid: Table ID
|
||||
"""
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data.decode()
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
for k, v in data.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except (ValueError, TypeError):
|
||||
data[k] = v
|
||||
|
||||
@@ -642,7 +642,9 @@ class ColumnsView(PGChildNodeView, DataTypeReader):
|
||||
tid: Table ID
|
||||
clid: Column ID
|
||||
"""
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
# Adding parent into data dict, will be using it while creating sql
|
||||
data['schema'] = self.schema
|
||||
@@ -699,7 +701,7 @@ class ColumnsView(PGChildNodeView, DataTypeReader):
|
||||
data = dict()
|
||||
for k, v in request.args.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except ValueError:
|
||||
data[k] = v
|
||||
|
||||
@@ -824,10 +826,11 @@ class ColumnsView(PGChildNodeView, DataTypeReader):
|
||||
|
||||
SQL = self.get_sql(scid, tid, None, data)
|
||||
|
||||
sql_header = "-- Column: {0}\n\n-- ".format(self.qtIdent(self.conn,
|
||||
sql_header = u"-- Column: {0}\n\n-- ".format(self.qtIdent(self.conn,
|
||||
data['schema'],
|
||||
data['table'],
|
||||
data['name']))
|
||||
|
||||
sql_header += render_template("/".join([self.template_path,
|
||||
'delete.sql']),
|
||||
data=data, conn=self.conn)
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
"""Implements the Check Constraint Module."""
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
import pgadmin.browser.server_groups.servers.databases as database
|
||||
@@ -396,11 +396,13 @@ class CheckConstraintView(PGChildNodeView):
|
||||
"""
|
||||
required_args = ['consrc']
|
||||
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
for k, v in data.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except (ValueError, TypeError):
|
||||
data[k] = v
|
||||
|
||||
@@ -556,7 +558,9 @@ class CheckConstraintView(PGChildNodeView):
|
||||
tid: Table Id
|
||||
cid: Check Constraint Id
|
||||
"""
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
try:
|
||||
data['schema'] = self.schema
|
||||
@@ -643,6 +647,8 @@ class CheckConstraintView(PGChildNodeView):
|
||||
data=data)
|
||||
|
||||
sql_header = "-- Constraint: {0}\n\n-- ".format(data['name'])
|
||||
if hasattr(str, 'decode'):
|
||||
sql_header = sql_header.decode('utf-8')
|
||||
|
||||
sql_header += render_template(
|
||||
"/".join([self.template_path, 'delete.sql']),
|
||||
@@ -672,7 +678,7 @@ class CheckConstraintView(PGChildNodeView):
|
||||
data = {}
|
||||
for k, v in request.args.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except ValueError:
|
||||
data[k] = v
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
"""Implements Exclusion constraint Node"""
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
import pgadmin.browser.server_groups.servers.databases as database
|
||||
@@ -441,11 +441,13 @@ class ExclusionConstraintView(PGChildNodeView):
|
||||
"""
|
||||
required_args = ['columns']
|
||||
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
for k, v in data.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except (ValueError, TypeError):
|
||||
data[k] = v
|
||||
|
||||
@@ -546,7 +548,9 @@ class ExclusionConstraintView(PGChildNodeView):
|
||||
Returns:
|
||||
|
||||
"""
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
try:
|
||||
data['schema'] = self.schema
|
||||
@@ -677,7 +681,7 @@ class ExclusionConstraintView(PGChildNodeView):
|
||||
data = {}
|
||||
for k, v in request.args.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except ValueError:
|
||||
data[k] = v
|
||||
|
||||
@@ -800,6 +804,8 @@ class ExclusionConstraintView(PGChildNodeView):
|
||||
"/".join([self.template_path, 'create.sql']), data=data)
|
||||
|
||||
sql_header = "-- Constraint: {0}\n\n-- ".format(data['name'])
|
||||
if hasattr(str, 'decode'):
|
||||
sql_header = sql_header.decode('utf-8')
|
||||
|
||||
sql_header += render_template(
|
||||
"/".join([self.template_path, 'delete.sql']),
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
"""Implements Foreign key constraint Node"""
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
import pgadmin.browser.server_groups.servers.databases as database
|
||||
@@ -464,11 +464,13 @@ class ForeignKeyConstraintView(PGChildNodeView):
|
||||
"""
|
||||
required_args = ['columns']
|
||||
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
for k, v in data.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except (ValueError, TypeError):
|
||||
data[k] = v
|
||||
|
||||
@@ -598,7 +600,9 @@ class ForeignKeyConstraintView(PGChildNodeView):
|
||||
Returns:
|
||||
|
||||
"""
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
try:
|
||||
data['schema'] = self.schema
|
||||
@@ -737,7 +741,7 @@ class ForeignKeyConstraintView(PGChildNodeView):
|
||||
data = {}
|
||||
for k, v in request.args.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except ValueError:
|
||||
data[k] = v
|
||||
|
||||
@@ -903,6 +907,8 @@ class ForeignKeyConstraintView(PGChildNodeView):
|
||||
"/".join([self.template_path, 'create.sql']), data=data)
|
||||
|
||||
sql_header = "-- Constraint: {0}\n\n-- ".format(data['name'])
|
||||
if hasattr(str, 'decode'):
|
||||
sql_header = sql_header.decode('utf-8')
|
||||
|
||||
sql_header += render_template(
|
||||
"/".join([self.template_path, 'delete.sql']),
|
||||
@@ -1055,7 +1061,7 @@ class ForeignKeyConstraintView(PGChildNodeView):
|
||||
index = None
|
||||
try:
|
||||
if data and 'cols' in data:
|
||||
cols = set(json.loads(data['cols']))
|
||||
cols = set(json.loads(data['cols'], encoding='utf-8'))
|
||||
index = self.search_coveringindex(tid, cols)
|
||||
|
||||
return make_json_response(
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
"""Implements Primary key constraint Node"""
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
import pgadmin.browser.server_groups.servers.databases as database
|
||||
@@ -444,11 +444,13 @@ class IndexConstraintView(PGChildNodeView):
|
||||
[u'columns', u'index'] # Either of one should be there.
|
||||
]
|
||||
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
for k, v in data.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except (ValueError, TypeError):
|
||||
data[k] = v
|
||||
|
||||
@@ -563,7 +565,9 @@ class IndexConstraintView(PGChildNodeView):
|
||||
Returns:
|
||||
|
||||
"""
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
try:
|
||||
data['schema'] = self.schema
|
||||
@@ -699,7 +703,7 @@ class IndexConstraintView(PGChildNodeView):
|
||||
data = {}
|
||||
for k, v in request.args.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except ValueError:
|
||||
data[k] = v
|
||||
|
||||
@@ -827,6 +831,8 @@ class IndexConstraintView(PGChildNodeView):
|
||||
constraint_name=self.constraint_name)
|
||||
|
||||
sql_header = "-- Constraint: {0}\n\n-- ".format(data['name'])
|
||||
if hasattr(str, 'decode'):
|
||||
sql_header = sql_header.decode('utf-8')
|
||||
|
||||
sql_header += render_template(
|
||||
"/".join([self.template_path, 'delete.sql']),
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
""" Implements Index Node """
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
import pgadmin.browser.server_groups.servers.databases as database
|
||||
@@ -522,12 +522,12 @@ class IndexesView(PGChildNodeView):
|
||||
tid: Table ID
|
||||
"""
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data.decode()
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
for k, v in data.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except (ValueError, TypeError):
|
||||
data[k] = v
|
||||
|
||||
@@ -683,7 +683,9 @@ class IndexesView(PGChildNodeView):
|
||||
tid: Table ID
|
||||
idx: Index ID
|
||||
"""
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
data['schema'] = self.schema
|
||||
data['table'] = self.table
|
||||
try:
|
||||
@@ -732,7 +734,7 @@ class IndexesView(PGChildNodeView):
|
||||
data = dict()
|
||||
for k, v in request.args.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except ValueError:
|
||||
data[k] = v
|
||||
|
||||
@@ -835,6 +837,9 @@ class IndexesView(PGChildNodeView):
|
||||
SQL = self.get_sql(scid, tid, None, data)
|
||||
|
||||
sql_header = "-- Index: {0}\n\n-- ".format(data['name'])
|
||||
if hasattr(str, 'decode'):
|
||||
sql_header = sql_header.decode('utf-8')
|
||||
|
||||
sql_header += render_template("/".join([self.template_path,
|
||||
'delete.sql']),
|
||||
data=data, conn=self.conn)
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
"""Implements Rule Node"""
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
import pgadmin.browser.server_groups.servers.databases.schemas as schemas
|
||||
@@ -290,8 +290,9 @@ class RuleView(PGChildNodeView):
|
||||
'name',
|
||||
]
|
||||
|
||||
data = request.form if request.form else \
|
||||
json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
for arg in required_args:
|
||||
if arg not in data:
|
||||
return make_json_response(
|
||||
@@ -331,8 +332,9 @@ class RuleView(PGChildNodeView):
|
||||
"""
|
||||
This function will update a rule object
|
||||
"""
|
||||
data = request.form if request.form else \
|
||||
json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
SQL = self.getSQL(gid, sid, data, tid, rid)
|
||||
try:
|
||||
if SQL and SQL.strip('\n') and SQL.strip(' '):
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
""" Implements Trigger Node """
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
import pgadmin.browser.server_groups.servers.databases as database
|
||||
@@ -537,12 +537,12 @@ class TriggerView(PGChildNodeView):
|
||||
tid: Table ID
|
||||
"""
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data.decode()
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
for k, v in data.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except (ValueError, TypeError):
|
||||
data[k] = v
|
||||
|
||||
@@ -668,7 +668,9 @@ class TriggerView(PGChildNodeView):
|
||||
tid: Table ID
|
||||
trid: Trigger ID
|
||||
"""
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
try:
|
||||
SQL = self.get_sql(scid, tid, trid, data)
|
||||
@@ -716,7 +718,7 @@ class TriggerView(PGChildNodeView):
|
||||
data = dict()
|
||||
for k, v in request.args.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except ValueError:
|
||||
data[k] = v
|
||||
|
||||
@@ -826,6 +828,9 @@ class TriggerView(PGChildNodeView):
|
||||
SQL = self.get_sql(scid, tid, None, data)
|
||||
|
||||
sql_header = "-- Trigger: {0}\n\n-- ".format(data['name'])
|
||||
if hasattr(str, 'decode'):
|
||||
sql_header = sql_header.decode('utf-8')
|
||||
|
||||
sql_header += render_template("/".join([self.template_path,
|
||||
'delete.sql']),
|
||||
data=data, conn=self.conn)
|
||||
@@ -858,7 +863,9 @@ class TriggerView(PGChildNodeView):
|
||||
trid: Trigger ID
|
||||
"""
|
||||
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
# Convert str 'true' to boolean type
|
||||
is_enable_flag = json.loads(data['enable'])
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
""" Implements Type Node """
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
import pgadmin.browser.server_groups.servers.databases as database
|
||||
@@ -793,7 +793,9 @@ class TypeView(PGChildNodeView, DataTypeReader):
|
||||
scid: Schema ID
|
||||
tid: Type ID
|
||||
"""
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
required_args = {
|
||||
'name': 'Name',
|
||||
'typtype': 'Type'
|
||||
@@ -898,7 +900,9 @@ class TypeView(PGChildNodeView, DataTypeReader):
|
||||
tid: Type ID
|
||||
"""
|
||||
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
try:
|
||||
SQL = self.get_sql(gid, sid, data, scid, tid)
|
||||
if SQL and SQL.strip('\n') and SQL.strip(' '):
|
||||
@@ -1015,7 +1019,7 @@ class TypeView(PGChildNodeView, DataTypeReader):
|
||||
# converting nested request data in proper json format
|
||||
for key, val in req.items():
|
||||
if key in ['composite', 'enum', 'seclabels', 'typacl']:
|
||||
data[key] = json.loads(val)
|
||||
data[key] = json.loads(val, encoding='utf-8')
|
||||
else:
|
||||
data[key] = val
|
||||
|
||||
@@ -1191,6 +1195,9 @@ class TypeView(PGChildNodeView, DataTypeReader):
|
||||
|
||||
# We are appending headers here for sql panel
|
||||
sql_header = "-- Type: {0}\n\n-- ".format(data['name'])
|
||||
if hasattr(str, 'decode'):
|
||||
sql_header = sql_header.decode('utf-8')
|
||||
|
||||
sql_header += render_template("/".join([self.template_path,
|
||||
'delete.sql']),
|
||||
data=data, conn=self.conn)
|
||||
|
||||
@@ -466,8 +466,9 @@ class ViewNode(PGChildNodeView, VacuumSettings):
|
||||
'definition'
|
||||
]
|
||||
|
||||
data = request.form if request.form else \
|
||||
json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
for arg in required_args:
|
||||
if arg not in data:
|
||||
return make_json_response(
|
||||
@@ -511,8 +512,9 @@ class ViewNode(PGChildNodeView, VacuumSettings):
|
||||
"""
|
||||
This function will update a view object
|
||||
"""
|
||||
data = request.form if request.form else \
|
||||
json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
SQL = self.getSQL(gid, sid, data, vid)
|
||||
try:
|
||||
if SQL and SQL.strip('\n') and SQL.strip(' '):
|
||||
@@ -637,7 +639,7 @@ class ViewNode(PGChildNodeView, VacuumSettings):
|
||||
data = {}
|
||||
for k, v in request.args.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except ValueError:
|
||||
data[k] = v
|
||||
|
||||
@@ -1139,7 +1141,7 @@ class ViewNode(PGChildNodeView, VacuumSettings):
|
||||
else:
|
||||
columns = '*'
|
||||
|
||||
sql = "SELECT {0}\n\tFROM {1};".format(
|
||||
sql = u"SELECT {0}\n\tFROM {1};".format(
|
||||
columns,
|
||||
self.qtIdent(self.conn, data_view['schema'], data_view['name'])
|
||||
)
|
||||
@@ -1196,7 +1198,7 @@ class ViewNode(PGChildNodeView, VacuumSettings):
|
||||
if len(columns) > 0:
|
||||
columns = ", ".join(columns)
|
||||
values = ", ".join(values)
|
||||
sql = "INSERT INTO {0}(\n\t{1})\n\tVALUES ({2});".format(
|
||||
sql = u"INSERT INTO {0}(\n\t{1})\n\tVALUES ({2});".format(
|
||||
self.qtIdent(
|
||||
self.conn, data_view['schema'], data_view['name']
|
||||
),
|
||||
@@ -1607,8 +1609,9 @@ class MViewNode(ViewNode, VacuumSettings):
|
||||
"""
|
||||
|
||||
# Below will decide if it's refresh data or refresh concurrently
|
||||
data = request.form if request.form else \
|
||||
json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
is_concurrent = json.loads(data['concurrent'])
|
||||
with_data = json.loads(data['with_data'])
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
"""Implements Resource Groups for PPAS 9.4 and above"""
|
||||
|
||||
import json
|
||||
import simplejson as json
|
||||
from functools import wraps
|
||||
|
||||
import pgadmin.browser.server_groups.servers as servers
|
||||
@@ -312,7 +312,9 @@ class ResourceGroupView(NodeView):
|
||||
'name'
|
||||
]
|
||||
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
for arg in required_args:
|
||||
if arg not in data:
|
||||
return make_json_response(
|
||||
@@ -370,7 +372,9 @@ class ResourceGroupView(NodeView):
|
||||
required_args = [
|
||||
'name', 'cpu_rate_limit', 'dirty_rate_limit'
|
||||
]
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
try:
|
||||
sql = render_template("/".join([self.template_path, 'properties.sql']), rgid=rg_id)
|
||||
@@ -474,7 +478,7 @@ class ResourceGroupView(NodeView):
|
||||
data = dict()
|
||||
for k, v in request.args.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except ValueError:
|
||||
data[k] = v
|
||||
|
||||
|
||||
@@ -111,7 +111,7 @@ class RoleView(PGChildNodeView):
|
||||
|
||||
data = None
|
||||
if request.data:
|
||||
data = json.loads(request.data)
|
||||
data = json.loads(request.data, encoding='utf-8')
|
||||
else:
|
||||
data = dict()
|
||||
req = request.args or request.form
|
||||
@@ -125,7 +125,7 @@ class RoleView(PGChildNodeView):
|
||||
u'rolcatupdate', u'variables', u'rolmembership',
|
||||
u'seclabels'
|
||||
]:
|
||||
data[key] = json.loads(val)
|
||||
data[key] = json.loads(val, encoding='utf-8')
|
||||
else:
|
||||
data[key] = val
|
||||
|
||||
@@ -685,7 +685,7 @@ rolmembership:{
|
||||
def drop(self, gid, sid, rid):
|
||||
|
||||
status, res = self.conn.execute_2darray(
|
||||
"DROP ROLE {0};".format(self.qtIdent(self.conn, self.role))
|
||||
u"DROP ROLE {0};".format(self.qtIdent(self.conn, self.role))
|
||||
)
|
||||
if not status:
|
||||
return internal_server_error(
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
# This software is released under the PostgreSQL Licence
|
||||
#
|
||||
##########################################################################
|
||||
import json
|
||||
import simplejson as json
|
||||
import re
|
||||
from functools import wraps
|
||||
|
||||
@@ -252,7 +252,9 @@ class TablespaceView(PGChildNodeView):
|
||||
'spclocation': 'Location'
|
||||
}
|
||||
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
for arg in required_args:
|
||||
if arg not in data:
|
||||
@@ -318,7 +320,9 @@ class TablespaceView(PGChildNodeView):
|
||||
"""
|
||||
This function will update tablespace object
|
||||
"""
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = request.form if request.form else json.loads(
|
||||
request.data, encoding='utf-8'
|
||||
)
|
||||
|
||||
try:
|
||||
SQL = self.get_sql(gid, sid, data, tsid)
|
||||
@@ -411,7 +415,7 @@ class TablespaceView(PGChildNodeView):
|
||||
data = dict()
|
||||
for k, v in request.args.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except ValueError as ve:
|
||||
current_app.logger.exception(ve)
|
||||
data[k] = v
|
||||
@@ -527,6 +531,9 @@ class TablespaceView(PGChildNodeView):
|
||||
|
||||
""".format(old_data['name'])
|
||||
|
||||
if hasattr(str, 'decode'):
|
||||
sql_header = sql_header.decode('utf-8')
|
||||
|
||||
SQL = sql_header + SQL
|
||||
SQL = re.sub('\n{2,}', '\n\n', SQL)
|
||||
return ajax_response(response=SQL.strip('\n'))
|
||||
@@ -729,7 +736,7 @@ class TablespaceView(PGChildNodeView):
|
||||
sid: Server ID
|
||||
tsid: Tablespace ID
|
||||
"""
|
||||
data = json.loads(request.form['data'])
|
||||
data = json.loads(request.form['data'], encoding='utf-8')
|
||||
|
||||
try:
|
||||
SQL = render_template("/".join(
|
||||
@@ -768,7 +775,7 @@ class TablespaceView(PGChildNodeView):
|
||||
data = dict()
|
||||
for k, v in request.args.items():
|
||||
try:
|
||||
data[k] = json.loads(v)
|
||||
data[k] = json.loads(v, encoding='utf-8')
|
||||
except ValueError as ve:
|
||||
current_app.logger.exception(ve)
|
||||
data[k] = v
|
||||
|
||||
Reference in New Issue
Block a user