diff options
Diffstat (limited to 'pgcli/main.py')
-rw-r--r-- | pgcli/main.py | 37 |
1 files changed, 17 insertions, 20 deletions
diff --git a/pgcli/main.py b/pgcli/main.py index 446470e3..86a86b1e 100644 --- a/pgcli/main.py +++ b/pgcli/main.py @@ -534,13 +534,10 @@ class PGCli(object): raise RuntimeError(message) while True: try: - text = self.prompt_app.prompt( - default=sql, - vi_mode=self.vi_mode - ) + text = self.prompt_app.prompt(default=sql) break except KeyboardInterrupt: - sql = None + sql = "" editor_command = special.editor_command(text) return text @@ -638,7 +635,7 @@ class PGCli(object): try: while True: try: - text = self.prompt_app.prompt(vi_mode=self.vi_mode) + text = self.prompt_app.prompt() except KeyboardInterrupt: continue @@ -943,20 +940,17 @@ class PGCli(object): help='Host address of the postgres database.') @click.option('-p', '--port', default=5432, help='Port number at which the ' 'postgres instance is listening.', envvar='PGPORT', type=click.INT) -@click.option('-U', '--username', 'username_opt', envvar='PGUSER', - help='Username to connect to the postgres database.') -@click.option('--user', 'username_opt', envvar='PGUSER', - help='Username to connect to the postgres database.') +@click.option('-U', '--username', 'username_opt', help='Username to connect to the postgres database.') +@click.option('--user', 'username_opt', help='Username to connect to the postgres database.') @click.option('-W', '--password', 'prompt_passwd', is_flag=True, default=False, - help='Force password prompt.') + help='Force password prompt.') @click.option('-w', '--no-password', 'never_prompt', is_flag=True, - default=False, help='Never prompt for password.') + default=False, help='Never prompt for password.') @click.option('--single-connection', 'single_connection', is_flag=True, - default=False, - help='Do not use a separate connection for completions.') + default=False, + help='Do not use a separate connection for completions.') @click.option('-v', '--version', is_flag=True, help='Version of pgcli.') -@click.option('-d', '--dbname', default='', envvar='PGDATABASE', - help='database name to connect to.') +@click.option('-d', '--dbname', 'dbname_opt', help='database name to connect to.') @click.option('--pgclirc', default=config_location() + 'config', envvar='PGCLIRC', help='Location of pgclirc file.', type=click.Path(dir_okay=False)) @click.option('-D', '--dsn', default='', envvar='DSN', @@ -976,10 +970,10 @@ class PGCli(object): help='Automatically switch to vertical output mode if the result is wider than the terminal width.') @click.option('--warn/--no-warn', default=None, help='Warn before running a destructive query.') -@click.argument('database', default=lambda: None, envvar='PGDATABASE', nargs=1) +@click.argument('dbname', 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, +def cli(dbname, username_opt, host, port, prompt_passwd, never_prompt, + single_connection, dbname_opt, username, version, pgclirc, dsn, row_limit, less_chatty, prompt, prompt_dsn, list_databases, auto_vertical_output, list_dsn, warn): @@ -1020,7 +1014,10 @@ def cli(database, username_opt, host, port, prompt_passwd, never_prompt, auto_vertical_output=auto_vertical_output, warn=warn) # Choose which ever one has a valid value. - database = database or dbname + if dbname_opt and dbname: + # work as psql: when database is given as option and argument use the argument as user + username = dbname + database = dbname_opt or dbname or '' user = username_opt or username # because option --list or -l are not supposed to have a db name |