diff options
author | François Pietka <francois@pietka.fr> | 2017-07-15 00:57:37 +0200 |
---|---|---|
committer | François Pietka <francois@pietka.fr> | 2017-07-15 01:18:32 +0200 |
commit | e8e7e41d703ee32dbdabb4f67831958e79b97de3 (patch) | |
tree | 49bed426788310ed7b2c139621b4be7afdeba1f7 | |
parent | ce88f56107bba7c2d5d93459da453a42db4e4d25 (diff) |
Add option to list databases from command line
-rwxr-xr-x | pgcli/main.py | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/pgcli/main.py b/pgcli/main.py index 70bd749e..3d826f81 100755 --- a/pgcli/main.py +++ b/pgcli/main.py @@ -787,11 +787,13 @@ class PGCli(object): default=False, help='Skip intro on startup and goodbye on exit.') @click.option('--prompt', help='Prompt format (Default: "\\u@\\h:\\d> ").') +@click.option('-l', '--list', 'list_databases', is_flag=True, help='list ' + 'available databases, then exit.') @click.argument('database', default=lambda: None, envvar='PGDATABASE', nargs=1) @click.argument('username', default=lambda: None, envvar='PGUSER', nargs=1) def cli(database, username_opt, host, port, prompt_passwd, never_prompt, - single_connection, dbname, username, version, pgclirc, dsn, row_limit, - less_chatty, prompt): + single_connection, dbname, username, version, pgclirc, dsn, row_limit, + less_chatty, prompt, list_databases): if version: print('Version:', __version__) @@ -840,6 +842,19 @@ def cli(database, username_opt, host, port, prompt_passwd, never_prompt, else: pgcli.connect(database, host, user, port) + if list_databases: + cur, headers, status = pgcli.pgexecute.full_databases() + + title = 'List of databases' + settings = OutputSettings( + table_format='ascii', + missingval='<null>' + ) + formatted = format_output(title, cur, headers, status, settings) + click.echo_via_pager('\n'.join(formatted)) + + sys.exit(0) + pgcli.logger.debug('Launch Params: \n' '\tdatabase: %r' '\tuser: %r' |