summaryrefslogtreecommitdiffstats
path: root/pgcli
diff options
context:
space:
mode:
authorGeorgy Frolov <gosha@fro.lv>2020-03-12 15:01:19 +0300
committer赖信涛 <laixintao@users.noreply.github.com>2020-03-14 10:53:43 +0800
commit61c81b05f50a073f62629bdcf8eb4317d7a2084c (patch)
treecdbb70cef765e06ff281d12b381175174a2a1253 /pgcli
parent0f3d4602efa2eda4cf5056d237cac36b2cc012ea (diff)
removed py2-related stuff
Diffstat (limited to 'pgcli')
-rw-r--r--pgcli/config.py7
-rw-r--r--pgcli/encodingutils.py28
-rw-r--r--pgcli/key_bindings.py2
-rw-r--r--pgcli/main.py19
-rw-r--r--pgcli/packages/parseutils/ctes.py2
-rw-r--r--pgcli/packages/parseutils/meta.py1
-rw-r--r--pgcli/packages/parseutils/tables.py2
-rw-r--r--pgcli/packages/parseutils/utils.py1
-rw-r--r--pgcli/packages/prioritization.py2
-rw-r--r--pgcli/packages/prompt_utils.py3
-rw-r--r--pgcli/packages/sqlcompletion.py12
-rw-r--r--pgcli/pgbuffer.py1
-rw-r--r--pgcli/pgcompleter.py1
-rw-r--r--pgcli/pgexecute.py10
-rw-r--r--pgcli/pgstyle.py2
-rw-r--r--pgcli/pgtoolbar.py2
16 files changed, 12 insertions, 83 deletions
diff --git a/pgcli/config.py b/pgcli/config.py
index a2c0b0b2..0fc42dde 100644
--- a/pgcli/config.py
+++ b/pgcli/config.py
@@ -26,12 +26,7 @@ def load_config(usr_cfg, def_cfg=None):
def ensure_dir_exists(path):
parent_dir = expanduser(dirname(path))
- try:
- os.makedirs(parent_dir)
- except OSError as exc:
- # ignore existing destination (py2 has no exist_ok arg to makedirs)
- if exc.errno != errno.EEXIST:
- raise
+ os.makedirs(parent_dir, exist_ok=True)
def write_default_config(source, destination, overwrite=False):
diff --git a/pgcli/encodingutils.py b/pgcli/encodingutils.py
deleted file mode 100644
index 279da3a8..00000000
--- a/pgcli/encodingutils.py
+++ /dev/null
@@ -1,28 +0,0 @@
-import sys
-
-PY2 = sys.version_info[0] == 2
-PY3 = sys.version_info[0] == 3
-
-text_type = unicode if PY2 else str
-
-
-def unicode2utf8(arg):
- """
- Only in Python 2. Psycopg2 expects the args as bytes not unicode.
- In Python 3 the args are expected as unicode.
- """
-
- if PY2 and isinstance(arg, unicode):
- return arg.encode("utf-8")
- return arg
-
-
-def utf8tounicode(arg):
- """
- Only in Python 2. Psycopg2 returns the error message as utf-8.
- In Python 3 the errors are returned as unicode.
- """
-
- if PY2 and isinstance(arg, str):
- return arg.decode("utf-8")
- return arg
diff --git a/pgcli/key_bindings.py b/pgcli/key_bindings.py
index db783855..23174b6b 100644
--- a/pgcli/key_bindings.py
+++ b/pgcli/key_bindings.py
@@ -1,5 +1,3 @@
-from __future__ import unicode_literals
-
import logging
from prompt_toolkit.enums import EditingMode
from prompt_toolkit.key_binding import KeyBindings
diff --git a/pgcli/main.py b/pgcli/main.py
index fb3b3546..08c6c491 100644
--- a/pgcli/main.py
+++ b/pgcli/main.py
@@ -1,6 +1,3 @@
-from __future__ import print_function
-from __future__ import unicode_literals
-
import warnings
from pgspecial.namedqueries import NamedQueries
@@ -63,8 +60,6 @@ from .config import (
get_config,
)
from .key_bindings import pgcli_bindings
-from .encodingutils import utf8tounicode
-from .encodingutils import text_type
from .packages.prompt_utils import confirm_destructive_query
from .__init__ import __version__
@@ -538,7 +533,7 @@ class PGCli(object):
# fails. Don't prompt if the -w flag is supplied
if self.never_passwd_prompt:
return False
- error_msg = utf8tounicode(exc.args[0])
+ error_msg = exc.args[0]
if "no password supplied" in error_msg:
return True
if "password authentication failed" in error_msg:
@@ -1365,7 +1360,7 @@ def is_select(status):
def exception_formatter(e):
- return click.style(utf8tounicode(str(e)), fg="red")
+ return click.style(str(e), fg="red")
def format_output(title, cur, headers, status, settings):
@@ -1381,7 +1376,7 @@ def format_output(title, cur, headers, status, settings):
return settings.missingval
if not isinstance(val, list):
return val
- return "{" + ",".join(text_type(format_array(e)) for e in val) + "}"
+ return "{" + ",".join(str(format_array(e)) for e in val) + "}"
def format_arrays(data, headers, **_):
data = list(data)
@@ -1411,7 +1406,7 @@ def format_output(title, cur, headers, status, settings):
output.append(title)
if cur:
- headers = [case_function(utf8tounicode(x)) for x in headers]
+ headers = [case_function(x) for x in headers]
if max_width is not None:
cur = list(cur)
column_types = None
@@ -1429,10 +1424,10 @@ def format_output(title, cur, headers, status, settings):
):
column_types.append(int)
else:
- column_types.append(text_type)
+ column_types.append(str)
formatted = formatter.format_output(cur, headers, **output_kwargs)
- if isinstance(formatted, (text_type)):
+ if isinstance(formatted, str):
formatted = iter(formatted.splitlines())
first_line = next(formatted)
formatted = itertools.chain([first_line], formatted)
@@ -1440,7 +1435,7 @@ def format_output(title, cur, headers, status, settings):
formatted = formatter.format_output(
cur, headers, format_name="vertical", column_types=None, **output_kwargs
)
- if isinstance(formatted, (text_type)):
+ if isinstance(formatted, str):
formatted = iter(formatted.splitlines())
output = itertools.chain(output, formatted)
diff --git a/pgcli/packages/parseutils/ctes.py b/pgcli/packages/parseutils/ctes.py
index 4b8786dc..75e4e40f 100644
--- a/pgcli/packages/parseutils/ctes.py
+++ b/pgcli/packages/parseutils/ctes.py
@@ -1,5 +1,3 @@
-from __future__ import unicode_literals
-
from sqlparse import parse
from sqlparse.tokens import Keyword, CTE, DML
from sqlparse.sql import Identifier, IdentifierList, Parenthesis
diff --git a/pgcli/packages/parseutils/meta.py b/pgcli/packages/parseutils/meta.py
index a892b880..108c01a3 100644
--- a/pgcli/packages/parseutils/meta.py
+++ b/pgcli/packages/parseutils/meta.py
@@ -1,4 +1,3 @@
-from __future__ import unicode_literals
from collections import namedtuple
_ColumnMetadata = namedtuple(
diff --git a/pgcli/packages/parseutils/tables.py b/pgcli/packages/parseutils/tables.py
index ac4c1b9d..55b65b00 100644
--- a/pgcli/packages/parseutils/tables.py
+++ b/pgcli/packages/parseutils/tables.py
@@ -1,5 +1,3 @@
-from __future__ import print_function, unicode_literals
-
import sqlparse
from collections import namedtuple
from sqlparse.sql import IdentifierList, Identifier, Function
diff --git a/pgcli/packages/parseutils/utils.py b/pgcli/packages/parseutils/utils.py
index 1d6c45b8..594cabfd 100644
--- a/pgcli/packages/parseutils/utils.py
+++ b/pgcli/packages/parseutils/utils.py
@@ -1,4 +1,3 @@
-from __future__ import print_function
import re
import sqlparse
from sqlparse.sql import Identifier
diff --git a/pgcli/packages/prioritization.py b/pgcli/packages/prioritization.py
index b692b75a..e92dcbb6 100644
--- a/pgcli/packages/prioritization.py
+++ b/pgcli/packages/prioritization.py
@@ -1,5 +1,3 @@
-from __future__ import unicode_literals
-
import re
import sqlparse
from sqlparse.tokens import Name
diff --git a/pgcli/packages/prompt_utils.py b/pgcli/packages/prompt_utils.py
index 63b5e059..3c584908 100644
--- a/pgcli/packages/prompt_utils.py
+++ b/pgcli/packages/prompt_utils.py
@@ -1,6 +1,3 @@
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
import sys
import click
from .parseutils import is_destructive
diff --git a/pgcli/packages/sqlcompletion.py b/pgcli/packages/sqlcompletion.py
index 2828b175..93736e34 100644
--- a/pgcli/packages/sqlcompletion.py
+++ b/pgcli/packages/sqlcompletion.py
@@ -1,5 +1,3 @@
-from __future__ import print_function, unicode_literals
-
import sys
import re
import sqlparse
@@ -10,14 +8,6 @@ from .parseutils.tables import extract_tables
from .parseutils.ctes import isolate_query_ctes
from pgspecial.main import parse_special_command
-PY2 = sys.version_info[0] == 2
-PY3 = sys.version_info[0] == 3
-
-if PY3:
- string_types = str
-else:
- string_types = basestring
-
Special = namedtuple("Special", [])
Database = namedtuple("Database", [])
@@ -301,7 +291,7 @@ def suggest_special(text):
def suggest_based_on_last_token(token, stmt):
- if isinstance(token, string_types):
+ if isinstance(token, str):
token_v = token.lower()
elif isinstance(token, Comparison):
# If 'token' is a Comparison type such as
diff --git a/pgcli/pgbuffer.py b/pgcli/pgbuffer.py
index 8e842c97..706ed25f 100644
--- a/pgcli/pgbuffer.py
+++ b/pgcli/pgbuffer.py
@@ -1,4 +1,3 @@
-from __future__ import unicode_literals
import logging
from prompt_toolkit.enums import DEFAULT_BUFFER
diff --git a/pgcli/pgcompleter.py b/pgcli/pgcompleter.py
index 14ae4fa2..b2a57834 100644
--- a/pgcli/pgcompleter.py
+++ b/pgcli/pgcompleter.py
@@ -1,4 +1,3 @@
-from __future__ import print_function, unicode_literals
import logging
import re
from itertools import count, repeat, chain
diff --git a/pgcli/pgexecute.py b/pgcli/pgexecute.py
index a33afe6f..776c9628 100644
--- a/pgcli/pgexecute.py
+++ b/pgcli/pgexecute.py
@@ -9,7 +9,6 @@ import pgspecial as special
import select
from psycopg2.extensions import POLL_OK, POLL_READ, POLL_WRITE, make_dsn
from .packages.parseutils.meta import FunctionMetadata, ForeignKey
-from .encodingutils import unicode2utf8, PY2, utf8tounicode
_logger = logging.getLogger(__name__)
@@ -250,7 +249,7 @@ class PGExecute(object):
new_params["dsn"], password=new_params.pop("password")
)
- conn_params.update({k: unicode2utf8(v) for k, v in new_params.items() if v})
+ conn_params.update({k: v for k, v in new_params.items() if v})
conn = psycopg2.connect(**conn_params)
cursor = conn.cursor()
@@ -333,10 +332,7 @@ class PGExecute(object):
See http://initd.org/psycopg/docs/connection.html#connection.encoding
"""
- if PY2:
- return json_data.decode(self.conn.encoding)
- else:
- return json_data
+ return json_data
def failed_transaction(self):
status = self.conn.get_transaction_status()
@@ -450,7 +446,7 @@ class PGExecute(object):
# conn.notices persist between queies, we use pop to clear out the list
title = ""
while len(self.conn.notices) > 0:
- title = utf8tounicode(self.conn.notices.pop()) + title
+ title = self.conn.notices.pop() + title
# cur.description will be None for operations that do not return
# rows.
diff --git a/pgcli/pgstyle.py b/pgcli/pgstyle.py
index 0355599b..a2f29737 100644
--- a/pgcli/pgstyle.py
+++ b/pgcli/pgstyle.py
@@ -1,5 +1,3 @@
-from __future__ import unicode_literals
-
import logging
import pygments.styles
diff --git a/pgcli/pgtoolbar.py b/pgcli/pgtoolbar.py
index fc3bb3b9..f4e7f141 100644
--- a/pgcli/pgtoolbar.py
+++ b/pgcli/pgtoolbar.py
@@ -1,5 +1,3 @@
-from __future__ import unicode_literals
-
from prompt_toolkit.key_binding.vi_state import InputMode
from prompt_toolkit.application import get_app