Michael Pasternak has uploaded a new change for review. Change subject: cli: add option to define auto conenct #918908 ......................................................................
cli: add option to define auto conenct #918908 Change-Id: I0637e9f53661f1f427c24e06c3ca631ec808c6d8 Signed-off-by: Michael pasternak <[email protected]> Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=918908 --- M src/cli/context.py M src/cli/settings.py M src/ovirtcli/main.py M src/ovirtcli/settings.py M src/ovirtcli/shell/engineshell.py 5 files changed, 24 insertions(+), 3 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine-cli refs/changes/39/16439/1 diff --git a/src/cli/context.py b/src/cli/context.py index 2f7cac4..f5397d0 100644 --- a/src/cli/context.py +++ b/src/cli/context.py @@ -123,7 +123,9 @@ return False def __is_auto_connect(self): - return self.args and ('-c' in self.args or '--connect' in self.args) + return (self.args and \ + ('-c' in self.args or '--connect' in self.args)) or \ + self.settings.get('cli:autoconnect') def _load_settings(self): """Load settings.""" diff --git a/src/cli/settings.py b/src/cli/settings.py index 53c58b3..d3e633b 100644 --- a/src/cli/settings.py +++ b/src/cli/settings.py @@ -72,6 +72,7 @@ ('cli:debug', boolean, False), ('cli:verbosity', int, 0), ('cli:autopage', boolean, True), + ('cli:autoconnect', boolean, True), ('cli:pager', str, None) ] diff --git a/src/ovirtcli/main.py b/src/ovirtcli/main.py index 24b6838..7df4e7f 100644 --- a/src/ovirtcli/main.py +++ b/src/ovirtcli/main.py @@ -37,7 +37,7 @@ args = ' '.join(sys.argv[1:]) shell.onecmd_loop(args) else: - shell.cmdloop() + shell.onecmd_loop('') ########################### __main__ ################################# if __name__ == '__main__': main() diff --git a/src/ovirtcli/settings.py b/src/ovirtcli/settings.py index 3e48fc0..974b2bf 100644 --- a/src/ovirtcli/settings.py +++ b/src/ovirtcli/settings.py @@ -79,6 +79,7 @@ # config file white list config_items = [ 'cli:autopage', + 'cli:autoconnect', 'ovirt-shell:url', 'ovirt-shell:username', 'ovirt-shell:password', diff --git a/src/ovirtcli/shell/engineshell.py b/src/ovirtcli/shell/engineshell.py index e269208..c74fbec 100644 --- a/src/ovirtcli/shell/engineshell.py +++ b/src/ovirtcli/shell/engineshell.py @@ -168,9 +168,25 @@ } return self.context.settings.get('ovirt-shell:ps2.connected') + + def __persistCmdOptions(self, opts): + """ + Overrides config file options with cmdline's. + """ + if opts: + for k, v in opts.__dict__.items(): + if v: + if self.context.settings.has_key('ovirt-shell:' + k): + self.context.settings['ovirt-shell:' + k] = v + elif self.context.settings.has_key('cli:' + k): + self.context.settings['cli:' + k] = v + + def onecmd_loop(self, s): opts, args = self.parser.parse_args() - if opts.connect or len(args) == 0: + del args + self.__persistCmdOptions(opts) + if opts.connect or self.context.settings.get('cli:autoconnect'): self.do_clear('') self.do_connect(s) if opts.file: @@ -254,6 +270,7 @@ if begidx > 0: cmd, args, foo = self.parseline(line) + del args, foo if cmd == '': compfunc = self.completedefault else: -- To view, visit http://gerrit.ovirt.org/16439 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I0637e9f53661f1f427c24e06c3ca631ec808c6d8 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine-cli Gerrit-Branch: master Gerrit-Owner: Michael Pasternak <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
