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

Reply via email to