mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Change the following to replace Python 2 code with Python 3:
1) Replace the deprecated unit test method. 2) Wraps filter usage in a list call. 3) Converts the old metaclass syntax to new. 4) Use range instead of xrange method. 5) Change Unicode to str. 6) Several other transformations. 7) Fixed change password test cases. 8) Use simplejson instead of plain JSON.
This commit is contained in:
committed by
Akshay Joshi
parent
11d5613866
commit
5a253f9053
@@ -235,7 +235,7 @@ else:
|
||||
return _path
|
||||
|
||||
def document_dir():
|
||||
return os.path.realpath(os.path.expanduser(u'~/'))
|
||||
return os.path.realpath(os.path.expanduser('~/'))
|
||||
|
||||
|
||||
def get_complete_file_path(file):
|
||||
@@ -257,7 +257,7 @@ def get_complete_file_path(file):
|
||||
if storage_dir:
|
||||
file = os.path.join(
|
||||
storage_dir,
|
||||
file.lstrip(u'/').lstrip(u'\\')
|
||||
file.lstrip('/').lstrip('\\')
|
||||
)
|
||||
if IS_WIN:
|
||||
file = file.replace('\\', '/')
|
||||
@@ -273,8 +273,8 @@ def does_utility_exist(file):
|
||||
"""
|
||||
error_msg = None
|
||||
if not os.path.exists(file):
|
||||
error_msg = gettext(u"'%s' file not found. Please correct the Binary"
|
||||
u" Path in the Preferences dialog" % file)
|
||||
error_msg = gettext("'%s' file not found. Please correct the Binary"
|
||||
" Path in the Preferences dialog" % file)
|
||||
return error_msg
|
||||
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ class ColParamsJSONDecoder(json.JSONDecoder):
|
||||
retval = obj
|
||||
try:
|
||||
retval = json.JSONDecoder.decode(self, obj)
|
||||
if type(retval) == str:
|
||||
if isinstance(retval, str):
|
||||
retval = obj
|
||||
except (ValueError, TypeError, KeyError):
|
||||
retval = obj
|
||||
|
||||
@@ -555,7 +555,7 @@ class Dialect(object):
|
||||
def validate_text(dialect, attr):
|
||||
val = getattr(dialect, attr)
|
||||
if not isinstance(val, str):
|
||||
if type(val) == bytes:
|
||||
if isinstance(val, bytes):
|
||||
raise Error('"{0}" must be string, not bytes'.format(attr))
|
||||
raise Error('"{0}" must be string, not {1}'.format(
|
||||
attr, type(val).__name__))
|
||||
|
||||
@@ -306,20 +306,20 @@ class Driver(BaseDriver):
|
||||
return True
|
||||
# certain types should not be quoted even though it contains a space.
|
||||
# Evilness.
|
||||
elif for_types and value[-2:] == u"[]":
|
||||
elif for_types and value[-2:] == "[]":
|
||||
val_noarray = value[:-2]
|
||||
|
||||
if for_types and val_noarray.lower() in [
|
||||
u'bit varying',
|
||||
u'"char"',
|
||||
u'character varying',
|
||||
u'double precision',
|
||||
u'timestamp without time zone',
|
||||
u'timestamp with time zone',
|
||||
u'time without time zone',
|
||||
u'time with time zone',
|
||||
u'"trigger"',
|
||||
u'"unknown"'
|
||||
'bit varying',
|
||||
'"char"',
|
||||
'character varying',
|
||||
'double precision',
|
||||
'timestamp without time zone',
|
||||
'timestamp with time zone',
|
||||
'time without time zone',
|
||||
'time with time zone',
|
||||
'"trigger"',
|
||||
'"unknown"'
|
||||
]:
|
||||
return False
|
||||
|
||||
@@ -328,12 +328,12 @@ class Driver(BaseDriver):
|
||||
(val_noarray.startswith('"') or val_noarray.endswith('"')):
|
||||
return False
|
||||
|
||||
if u'0' <= val_noarray[0] <= u'9':
|
||||
if '0' <= val_noarray[0] <= '9':
|
||||
return True
|
||||
|
||||
for c in val_noarray:
|
||||
if (not (u'a' <= c <= u'z') and c != u'_' and
|
||||
not (u'0' <= c <= u'9')):
|
||||
if (not ('a' <= c <= 'z') and c != '_' and
|
||||
not ('0' <= c <= '9')):
|
||||
return True
|
||||
|
||||
# check string is keywaord or not
|
||||
@@ -385,7 +385,7 @@ class Driver(BaseDriver):
|
||||
value = None
|
||||
|
||||
for val in args:
|
||||
if type(val) == list:
|
||||
if isinstance(val, list):
|
||||
return map(lambda w: Driver.qtIdent(conn, w), val)
|
||||
|
||||
# DataType doesn't have len function then convert it to string
|
||||
|
||||
@@ -312,9 +312,9 @@ class Connection(BaseConnection):
|
||||
else:
|
||||
msg = str(e)
|
||||
current_app.logger.info(
|
||||
u"Failed to connect to the database server(#{server_id}) for "
|
||||
u"connection ({conn_id}) with error message as below"
|
||||
u":{msg}".format(
|
||||
"Failed to connect to the database server(#{server_id}) for "
|
||||
"connection ({conn_id}) with error message as below"
|
||||
":{msg}".format(
|
||||
server_id=self.manager.sid,
|
||||
conn_id=conn_id,
|
||||
msg=msg
|
||||
@@ -407,7 +407,7 @@ class Connection(BaseConnection):
|
||||
return False, status
|
||||
|
||||
if manager.role:
|
||||
status = _execute(cur, u"SET ROLE TO %s", [manager.role])
|
||||
status = _execute(cur, "SET ROLE TO %s", [manager.role])
|
||||
|
||||
if status is not None:
|
||||
self.conn.close()
|
||||
@@ -519,7 +519,7 @@ WHERE
|
||||
raise ConnectionLost(
|
||||
self.manager.sid,
|
||||
self.db,
|
||||
None if self.conn_id[0:3] == u'DB:' else self.conn_id[5:]
|
||||
None if self.conn_id[0:3] == 'DB:' else self.conn_id[5:]
|
||||
)
|
||||
cur = getattr(g, "{0}#{1}".format(
|
||||
self.manager.sid,
|
||||
@@ -547,7 +547,7 @@ WHERE
|
||||
raise ConnectionLost(
|
||||
self.manager.sid,
|
||||
self.db,
|
||||
None if self.conn_id[0:3] == u'DB:' else self.conn_id[5:]
|
||||
None if self.conn_id[0:3] == 'DB:' else self.conn_id[5:]
|
||||
)
|
||||
|
||||
try:
|
||||
@@ -588,7 +588,7 @@ WHERE
|
||||
raise ConnectionLost(
|
||||
self.manager.sid,
|
||||
self.db,
|
||||
None if self.conn_id[0:3] == u'DB:'
|
||||
None if self.conn_id[0:3] == 'DB:'
|
||||
else self.conn_id[5:]
|
||||
)
|
||||
|
||||
@@ -608,7 +608,7 @@ WHERE
|
||||
if self.conn and \
|
||||
self.conn.encoding in ('SQL_ASCII', 'SQLASCII',
|
||||
'MULE_INTERNAL', 'MULEINTERNAL')\
|
||||
and params is not None and type(params) == dict:
|
||||
and params is not None and isinstance(params, dict):
|
||||
for key, val in params.items():
|
||||
modified_val = val
|
||||
# "unicode_escape" will convert single backslash to double
|
||||
@@ -667,8 +667,8 @@ WHERE
|
||||
|
||||
current_app.logger.log(
|
||||
25,
|
||||
u"Execute (with server cursor) for server #{server_id} - "
|
||||
u"{conn_id} (Query-id: {query_id}):\n{query}".format(
|
||||
"Execute (with server cursor) for server #{server_id} - "
|
||||
"{conn_id} (Query-id: {query_id}):\n{query}".format(
|
||||
server_id=self.manager.sid,
|
||||
conn_id=self.conn_id,
|
||||
query=query,
|
||||
@@ -683,10 +683,10 @@ WHERE
|
||||
cur.close()
|
||||
errmsg = self._formatted_exception_msg(pe, formatted_exception_msg)
|
||||
current_app.logger.error(
|
||||
u"failed to execute query ((with server cursor) "
|
||||
u"for the server #{server_id} - {conn_id} "
|
||||
u"(query-id: {query_id}):\n"
|
||||
u"error message:{errmsg}".format(
|
||||
"failed to execute query ((with server cursor) "
|
||||
"for the server #{server_id} - {conn_id} "
|
||||
"(query-id: {query_id}):\n"
|
||||
"error message:{errmsg}".format(
|
||||
server_id=self.manager.sid,
|
||||
conn_id=self.conn_id,
|
||||
errmsg=errmsg,
|
||||
@@ -805,8 +805,8 @@ WHERE
|
||||
|
||||
current_app.logger.log(
|
||||
25,
|
||||
u"Execute (scalar) for server #{server_id} - {conn_id} (Query-id: "
|
||||
u"{query_id}):\n{query}".format(
|
||||
"Execute (scalar) for server #{server_id} - {conn_id} (Query-id: "
|
||||
"{query_id}):\n{query}".format(
|
||||
server_id=self.manager.sid,
|
||||
conn_id=self.conn_id,
|
||||
query=query,
|
||||
@@ -826,13 +826,13 @@ WHERE
|
||||
raise ConnectionLost(
|
||||
self.manager.sid,
|
||||
self.db,
|
||||
None if self.conn_id[0:3] == u'DB:' else self.conn_id[5:]
|
||||
None if self.conn_id[0:3] == 'DB:' else self.conn_id[5:]
|
||||
)
|
||||
errmsg = self._formatted_exception_msg(pe, formatted_exception_msg)
|
||||
current_app.logger.error(
|
||||
u"Failed to execute query (execute_scalar) for the server "
|
||||
u"#{server_id} - {conn_id} (Query-id: {query_id}):\n"
|
||||
u"Error Message:{errmsg}".format(
|
||||
"Failed to execute query (execute_scalar) for the server "
|
||||
"#{server_id} - {conn_id} (Query-id: {query_id}):\n"
|
||||
"Error Message:{errmsg}".format(
|
||||
server_id=self.manager.sid,
|
||||
conn_id=self.conn_id,
|
||||
errmsg=errmsg,
|
||||
@@ -878,9 +878,9 @@ WHERE
|
||||
dsn = self.conn.get_dsn_parameters()
|
||||
current_app.logger.log(
|
||||
25,
|
||||
u"Execute (async) by {pga_user} on {db_user}@{db_host}/{db_name} "
|
||||
u"#{server_id} - {conn_id} (Query-id: "
|
||||
u"{query_id}):\n{query}".format(
|
||||
"Execute (async) by {pga_user} on {db_user}@{db_host}/{db_name} "
|
||||
"#{server_id} - {conn_id} (Query-id: "
|
||||
"{query_id}):\n{query}".format(
|
||||
pga_user=current_user.username,
|
||||
db_user=dsn['user'],
|
||||
db_host=dsn['host'],
|
||||
@@ -901,9 +901,9 @@ WHERE
|
||||
except psycopg2.Error as pe:
|
||||
errmsg = self._formatted_exception_msg(pe, formatted_exception_msg)
|
||||
current_app.logger.error(
|
||||
u"Failed to execute query (execute_async) for the server "
|
||||
u"#{server_id} - {conn_id}(Query-id: {query_id}):\n"
|
||||
u"Error Message:{errmsg}".format(
|
||||
"Failed to execute query (execute_async) for the server "
|
||||
"#{server_id} - {conn_id}(Query-id: {query_id}):\n"
|
||||
"Error Message:{errmsg}".format(
|
||||
server_id=self.manager.sid,
|
||||
conn_id=self.conn_id,
|
||||
errmsg=errmsg,
|
||||
@@ -918,7 +918,7 @@ WHERE
|
||||
raise ConnectionLost(
|
||||
self.manager.sid,
|
||||
self.db,
|
||||
None if self.conn_id[0:3] == u'DB:' else self.conn_id[5:]
|
||||
None if self.conn_id[0:3] == 'DB:' else self.conn_id[5:]
|
||||
)
|
||||
return False, errmsg
|
||||
|
||||
@@ -946,8 +946,8 @@ WHERE
|
||||
|
||||
current_app.logger.log(
|
||||
25,
|
||||
u"Execute (void) for server #{server_id} - {conn_id} (Query-id: "
|
||||
u"{query_id}):\n{query}".format(
|
||||
"Execute (void) for server #{server_id} - {conn_id} (Query-id: "
|
||||
"{query_id}):\n{query}".format(
|
||||
server_id=self.manager.sid,
|
||||
conn_id=self.conn_id,
|
||||
query=query,
|
||||
@@ -968,13 +968,13 @@ WHERE
|
||||
raise ConnectionLost(
|
||||
self.manager.sid,
|
||||
self.db,
|
||||
None if self.conn_id[0:3] == u'DB:' else self.conn_id[5:]
|
||||
None if self.conn_id[0:3] == 'DB:' else self.conn_id[5:]
|
||||
)
|
||||
errmsg = self._formatted_exception_msg(pe, formatted_exception_msg)
|
||||
current_app.logger.error(
|
||||
u"Failed to execute query (execute_void) for the server "
|
||||
u"#{server_id} - {conn_id}(Query-id: {query_id}):\n"
|
||||
u"Error Message:{errmsg}".format(
|
||||
"Failed to execute query (execute_void) for the server "
|
||||
"#{server_id} - {conn_id}(Query-id: {query_id}):\n"
|
||||
"Error Message:{errmsg}".format(
|
||||
server_id=self.manager.sid,
|
||||
conn_id=self.conn_id,
|
||||
errmsg=errmsg,
|
||||
@@ -1015,7 +1015,7 @@ WHERE
|
||||
raise ConnectionLost(
|
||||
self.manager.sid,
|
||||
self.db,
|
||||
None if self.conn_id[0:3] == u'DB:' else self.conn_id[5:]
|
||||
None if self.conn_id[0:3] == 'DB:' else self.conn_id[5:]
|
||||
)
|
||||
|
||||
def execute_2darray(self, query, params=None,
|
||||
@@ -1029,8 +1029,8 @@ WHERE
|
||||
query_id = random.randint(1, 9999999)
|
||||
current_app.logger.log(
|
||||
25,
|
||||
u"Execute (2darray) for server #{server_id} - {conn_id} "
|
||||
u"(Query-id: {query_id}):\n{query}".format(
|
||||
"Execute (2darray) for server #{server_id} - {conn_id} "
|
||||
"(Query-id: {query_id}):\n{query}".format(
|
||||
server_id=self.manager.sid,
|
||||
conn_id=self.conn_id,
|
||||
query=query,
|
||||
@@ -1049,9 +1049,9 @@ WHERE
|
||||
)
|
||||
errmsg = self._formatted_exception_msg(pe, formatted_exception_msg)
|
||||
current_app.logger.error(
|
||||
u"Failed to execute query (execute_2darray) for the server "
|
||||
u"#{server_id} - {conn_id} (Query-id: {query_id}):\n"
|
||||
u"Error Message:{errmsg}".format(
|
||||
"Failed to execute query (execute_2darray) for the server "
|
||||
"#{server_id} - {conn_id} (Query-id: {query_id}):\n"
|
||||
"Error Message:{errmsg}".format(
|
||||
server_id=self.manager.sid,
|
||||
conn_id=self.conn_id,
|
||||
errmsg=errmsg,
|
||||
@@ -1082,8 +1082,8 @@ WHERE
|
||||
query_id = random.randint(1, 9999999)
|
||||
current_app.logger.log(
|
||||
25,
|
||||
u"Execute (dict) for server #{server_id} - {conn_id} (Query-id: "
|
||||
u"{query_id}):\n{query}".format(
|
||||
"Execute (dict) for server #{server_id} - {conn_id} (Query-id: "
|
||||
"{query_id}):\n{query}".format(
|
||||
server_id=self.manager.sid,
|
||||
conn_id=self.conn_id,
|
||||
query=query,
|
||||
@@ -1103,13 +1103,13 @@ WHERE
|
||||
raise ConnectionLost(
|
||||
self.manager.sid,
|
||||
self.db,
|
||||
None if self.conn_id[0:3] == u'DB:' else self.conn_id[5:]
|
||||
None if self.conn_id[0:3] == 'DB:' else self.conn_id[5:]
|
||||
)
|
||||
errmsg = self._formatted_exception_msg(pe, formatted_exception_msg)
|
||||
current_app.logger.error(
|
||||
u"Failed to execute query (execute_dict) for the server "
|
||||
u"#{server_id}- {conn_id} (Query-id: {query_id}):\n"
|
||||
u"Error Message:{errmsg}".format(
|
||||
"Failed to execute query (execute_dict) for the server "
|
||||
"#{server_id}- {conn_id} (Query-id: {query_id}):\n"
|
||||
"Error Message:{errmsg}".format(
|
||||
server_id=self.manager.sid,
|
||||
conn_id=self.conn_id,
|
||||
query_id=query_id,
|
||||
@@ -1283,7 +1283,7 @@ Failed to reset the connection to the server due to following error:
|
||||
conn: connection object
|
||||
"""
|
||||
|
||||
while 1:
|
||||
while True:
|
||||
state = conn.poll()
|
||||
if state == psycopg2.extensions.POLL_OK:
|
||||
break
|
||||
@@ -1309,7 +1309,7 @@ Failed to reset the connection to the server due to following error:
|
||||
time: wait time
|
||||
"""
|
||||
|
||||
while 1:
|
||||
while True:
|
||||
state = conn.poll()
|
||||
|
||||
if state == psycopg2.extensions.POLL_OK:
|
||||
@@ -1626,12 +1626,12 @@ Failed to reset the connection to the server due to following error:
|
||||
|
||||
# Do not append if error starts with `ERROR:` as most pg related
|
||||
# error starts with `ERROR:`
|
||||
if not errmsg.startswith(u'ERROR:'):
|
||||
errmsg = gettext(u'ERROR: ') + errmsg + u'\n\n'
|
||||
if not errmsg.startswith('ERROR:'):
|
||||
errmsg = gettext('ERROR: ') + errmsg + '\n\n'
|
||||
|
||||
if exception_obj.diag.severity is not None \
|
||||
and exception_obj.diag.message_primary is not None:
|
||||
ex_diag_message = u"{0}: {1}".format(
|
||||
ex_diag_message = "{0}: {1}".format(
|
||||
exception_obj.diag.severity,
|
||||
exception_obj.diag.message_primary
|
||||
)
|
||||
@@ -1796,16 +1796,16 @@ Failed to reset the connection to the server due to following error:
|
||||
)
|
||||
elif psycopg2.__libpq_version__ < 100000:
|
||||
current_app.logger.warning(
|
||||
u"To encrypt passwords the required libpq version is "
|
||||
u"greater than or equal to 100000. Current libpq version "
|
||||
u"is {curr_ver}".format(
|
||||
"To encrypt passwords the required libpq version is "
|
||||
"greater than or equal to 100000. Current libpq version "
|
||||
"is {curr_ver}".format(
|
||||
curr_ver=psycopg2.__libpq_version__
|
||||
)
|
||||
)
|
||||
elif not hasattr(psycopg2.extensions, 'encrypt_password'):
|
||||
current_app.logger.warning(
|
||||
u"The psycopg2.extensions module does not have the"
|
||||
u"'encrypt_password' method."
|
||||
"The psycopg2.extensions module does not have the"
|
||||
"'encrypt_password' method."
|
||||
)
|
||||
|
||||
return enc_password
|
||||
|
||||
@@ -232,7 +232,7 @@ class DictCursor(_cursor):
|
||||
it = _cursor.__iter__(self)
|
||||
try:
|
||||
yield self._dict_tuple(next(it))
|
||||
while 1:
|
||||
while True:
|
||||
yield self._dict_tuple(next(it))
|
||||
except StopIteration:
|
||||
pass
|
||||
|
||||
@@ -41,8 +41,8 @@ if __name__ == '__main__':
|
||||
|
||||
pattern = re.compile(r'"([^"]+)",\s*[^,]*\s*,\s*(.*)$')
|
||||
keyword_types = [
|
||||
u'UNRESERVED_KEYWORD', u'COL_NAME_KEYWORD',
|
||||
u'TYPE_FUNC_NAME_KEYWORD', u'RESERVED_KEYWORD'
|
||||
'UNRESERVED_KEYWORD', 'COL_NAME_KEYWORD',
|
||||
'TYPE_FUNC_NAME_KEYWORD', 'RESERVED_KEYWORD'
|
||||
]
|
||||
|
||||
for line in ins:
|
||||
@@ -54,7 +54,7 @@ if __name__ == '__main__':
|
||||
else:
|
||||
keywords_file.write(" ")
|
||||
keywords_file.write(
|
||||
'"' + match.group(1) + u'": ' +
|
||||
'"' + match.group(1) + '": ' +
|
||||
str(keyword_types.index(match.group(2)))
|
||||
)
|
||||
idx += 1
|
||||
|
||||
@@ -185,7 +185,7 @@ class ServerManager(object):
|
||||
elif did in self.db_info:
|
||||
database = self.db_info[did]['datname']
|
||||
else:
|
||||
maintenance_db_id = u'DB:{0}'.format(self.db)
|
||||
maintenance_db_id = 'DB:{0}'.format(self.db)
|
||||
if maintenance_db_id in self.connections:
|
||||
conn = self.connections[maintenance_db_id]
|
||||
# try to connect maintenance db if not connected
|
||||
@@ -193,7 +193,7 @@ class ServerManager(object):
|
||||
conn.connect()
|
||||
|
||||
if conn.connected():
|
||||
status, res = conn.execute_dict(u"""
|
||||
status, res = conn.execute_dict("""
|
||||
SELECT
|
||||
db.oid as did, db.datname, db.datallowconn,
|
||||
pg_encoding_to_char(db.encoding) AS serverencoding,
|
||||
@@ -223,8 +223,8 @@ WHERE db.oid = {0}""".format(did))
|
||||
else:
|
||||
raise ConnectionLost(self.sid, None, None)
|
||||
|
||||
my_id = (u'CONN:{0}'.format(conn_id)) if conn_id is not None else \
|
||||
(u'DB:{0}'.format(database))
|
||||
my_id = ('CONN:{0}'.format(conn_id)) if conn_id is not None else \
|
||||
('DB:{0}'.format(database))
|
||||
|
||||
self.pinged = datetime.datetime.now()
|
||||
|
||||
@@ -373,9 +373,9 @@ WHERE db.oid = {0}""".format(did))
|
||||
|
||||
my_id = None
|
||||
if conn_id is not None:
|
||||
my_id = u'CONN:{0}'.format(conn_id)
|
||||
my_id = 'CONN:{0}'.format(conn_id)
|
||||
elif database is not None:
|
||||
my_id = u'DB:{0}'.format(database)
|
||||
my_id = 'DB:{0}'.format(database)
|
||||
|
||||
if my_id is not None:
|
||||
if my_id in self.connections:
|
||||
|
||||
@@ -54,7 +54,7 @@ class JavascriptBundlerTestCase(BaseTestGenerator):
|
||||
self.mockSubprocessCall.return_value = 0
|
||||
|
||||
self.mockOs.listdir.return_value = [
|
||||
u'history.js', u'reactComponents.js']
|
||||
'history.js', 'reactComponents.js']
|
||||
|
||||
javascript_bundler.bundle()
|
||||
self.mockSubprocessCall.assert_called_once_with(
|
||||
@@ -100,7 +100,7 @@ class JavascriptBundlerTestCase(BaseTestGenerator):
|
||||
"mock exception behavior")
|
||||
self.mockOs.path.exists.return_value = True
|
||||
self.mockOs.listdir.return_value = [
|
||||
u'history.js', u'reactComponents.js']
|
||||
'history.js', 'reactComponents.js']
|
||||
|
||||
javascript_bundler.bundle()
|
||||
self.mockSubprocessCall.assert_called_once_with(
|
||||
|
||||
@@ -163,7 +163,7 @@ class _Preference(object):
|
||||
|
||||
try:
|
||||
if self._type in ('boolean', 'switch', 'node'):
|
||||
assert type(value) == bool
|
||||
assert isinstance(value, bool)
|
||||
elif self._type == 'options':
|
||||
has_value = next((True for opt in self.options
|
||||
if 'value' in opt and opt['value'] == value),
|
||||
@@ -175,11 +175,12 @@ class _Preference(object):
|
||||
value = parser_map.get(self._type, lambda v: v)(value)
|
||||
if self._type == 'integer':
|
||||
value = self.normalize_range(value)
|
||||
assert type(value) == int
|
||||
assert isinstance(value, int)
|
||||
if self._type == 'numeric':
|
||||
value = self.normalize_range(value)
|
||||
assert (type(value) == int or type(value) == float or
|
||||
type(value) == decimal.Decimal)
|
||||
assert (
|
||||
isinstance(value, int) or isinstance(value, float) or
|
||||
isinstance(value, decimal.Decimal))
|
||||
except Exception as e:
|
||||
current_app.logger.exception(e)
|
||||
return False, gettext(
|
||||
@@ -190,7 +191,7 @@ class _Preference(object):
|
||||
pid=self.pid
|
||||
).filter_by(uid=current_user.id).first()
|
||||
|
||||
value = u"{}".format(value)
|
||||
value = "{}".format(value)
|
||||
if pref is None:
|
||||
pref = UserPrefTable(
|
||||
uid=current_user.id, pid=self.pid, value=value
|
||||
|
||||
@@ -466,7 +466,7 @@ class SQLAutoComplete(object):
|
||||
if sort_key:
|
||||
if display_meta and len(display_meta) > 50:
|
||||
# Truncate meta-text to 50 characters, if necessary
|
||||
display_meta = display_meta[:47] + u'...'
|
||||
display_meta = display_meta[:47] + '...'
|
||||
|
||||
# Lexical order of items in the collection, used for
|
||||
# tiebreaking items with the same match group length and start
|
||||
@@ -572,7 +572,7 @@ class SQLAutoComplete(object):
|
||||
lastword = last_word(word_before_cursor, include='most_punctuations')
|
||||
if lastword == '*':
|
||||
if suggestion.context == 'insert':
|
||||
def filter(col):
|
||||
def is_scoped(col):
|
||||
if not col.has_default:
|
||||
return True
|
||||
return not any(
|
||||
@@ -580,7 +580,7 @@ class SQLAutoComplete(object):
|
||||
for p in self.insert_col_skip_patterns
|
||||
)
|
||||
scoped_cols = \
|
||||
dict((t, [col for col in cols if filter(col)])
|
||||
dict((t, [col for col in cols if is_scoped(col)])
|
||||
for t, cols in scoped_cols.items())
|
||||
if self.asterisk_column_order == 'alphabetic':
|
||||
for cols in scoped_cols.values():
|
||||
|
||||
@@ -87,7 +87,7 @@ def extract_ctes(sql):
|
||||
idx = p.token_index(tok) + 1
|
||||
|
||||
# Collapse everything after the ctes into a remainder query
|
||||
remainder = u''.join(str(tok) for tok in p.tokens[idx:])
|
||||
remainder = ''.join(str(tok) for tok in p.tokens[idx:])
|
||||
|
||||
return ctes, remainder
|
||||
|
||||
|
||||
@@ -36,4 +36,4 @@ class TestCompileTemplateName(BaseTestGenerator):
|
||||
result = compile_template_name(
|
||||
'some/prefix', 'some_file.sql', self.server_type, self.version
|
||||
)
|
||||
self.assertEquals(result, self.expected_return_value)
|
||||
self.assertEqual(result, self.expected_return_value)
|
||||
|
||||
@@ -224,4 +224,4 @@ class TestEncoding(BaseTestGenerator):
|
||||
|
||||
def runTest(self):
|
||||
result = get_encoding(self.db_encoding)
|
||||
self.assertEquals(result, self.expected_return_value)
|
||||
self.assertEqual(result, self.expected_return_value)
|
||||
|
||||
Reference in New Issue
Block a user