diff options
author | Scott Brenstuhl <brenstsr@miamioh.edu> | 2019-02-23 16:37:26 -0800 |
---|---|---|
committer | Irina Truong <i.chernyavska@gmail.com> | 2019-02-23 16:37:26 -0800 |
commit | 1c66dece59d4595eee3fb33d2609e2e288a28ff4 (patch) | |
tree | faf80d9db45795e2ab25bf0aef30482e7423569b | |
parent | bd0aaefdd277b7328ff5948d8621d34fb8f87dfd (diff) |
Add reconnect automatically enhancement (#1009)
* Adding reconnect automatically enhancement
* files for pr checklist
* changelog fixes
* setting auto-reconnect to be the default
* fix issue of getting logged queries instead of most recent
* travisci pep8 check issue
-rw-r--r-- | AUTHORS | 1 | ||||
-rw-r--r-- | changelog.rst | 1 | ||||
-rw-r--r-- | pgcli/main.py | 23 |
3 files changed, 13 insertions, 12 deletions
@@ -90,6 +90,7 @@ Contributors: * Mikhail Elovskikh (wronglink) * Marcin Cieślak (saper) * easteregg + * Scott Brenstuhl (808sAndBR) Creator: -------- diff --git a/changelog.rst b/changelog.rst index e1fbe5c7..e5f50985 100644 --- a/changelog.rst +++ b/changelog.rst @@ -5,6 +5,7 @@ Features: --------- * keybindings for closing the autocomplete list +* reconnect automatically when server closes connection Bug fixes: ---------- diff --git a/pgcli/main.py b/pgcli/main.py index 2e5cffde..856f28e3 100644 --- a/pgcli/main.py +++ b/pgcli/main.py @@ -555,7 +555,7 @@ class PGCli(object): except OperationalError as e: logger.error("sql: %r, error: %r", text, e) logger.error("traceback: %r", traceback.format_exc()) - self._handle_server_closed_connection() + self._handle_server_closed_connection(text) except PgCliQuitError as e: raise except Exception as e: @@ -810,17 +810,16 @@ class PGCli(object): return output, meta_query - def _handle_server_closed_connection(self): - """Used during CLI execution""" - reconnect = click.prompt( - 'Connection reset. Reconnect (Y/n)', - show_default=False, type=bool, default=True) - if reconnect: - try: - self.pgexecute.connect() - click.secho('Reconnected!\nTry the command again.', fg='green') - except OperationalError as e: - click.secho(str(e), err=True, fg='red') + def _handle_server_closed_connection(self, text): + """Used during CLI execution.""" + try: + click.secho('Reconnecting...', fg='green') + self.pgexecute.connect() + click.secho('Reconnected!', fg='green') + self.execute_command(text) + except OperationalError as e: + click.secho('Reconnect Failed', fg='red') + click.secho(str(e), err=True, fg='red') def refresh_completions(self, history=None, persist_priorities='all'): """ Refresh outdated completions |