commit bce7a726cafa305e754fa31ed15a2d661f805242
Author: S.Çağlar Onur <caglar@cs.princeton.edu>
Date:   Wed Jul 21 13:52:30 2010 -0400

    Solve "AttributeError: Show instance has no attribute 'conffile'" error
    
    [www.planet-lab.org-rc18] /var/lib/func # func "*" show hardware systemMemory
    Traceback (most recent call last):
      File "/usr/bin/func", line 28, in <module>
        sys.exit(cli.parse(argv))
      File "/usr/lib/python2.5/site-packages/func/overlord/command.py", line 252, in parse
        return self.subCommands[command].parse(args[1:])
      File "/usr/lib/python2.5/site-packages/func/overlord/cmd_modules/show.py", line 44, in parse
        return base_command.BaseCommand.parse(self, argv)
      File "/usr/lib/python2.5/site-packages/func/overlord/command.py", line 252, in parse
        return self.subCommands[command].parse(args[1:])
      File "/usr/lib/python2.5/site-packages/func/overlord/cmd_modules/show_hardware.py", line 40, in parse
        return base_command.BaseCommand.parse(self,argv)
      File "/usr/lib/python2.5/site-packages/func/overlord/command.py", line 233, in parse
        ret = self.do(args)
      File "/usr/lib/python2.5/site-packages/func/overlord/cmd_modules/show_hardware.py", line 45, in do
        self.getOverlord()
      File "/usr/lib/python2.5/site-packages/func/overlord/base_command.py", line 44, in getOverlord
        if self.parentCommand.conffile:
    AttributeError: Show instance has no attribute 'conffile'

diff --git a/func/overlord/cmd_modules/show.py b/func/overlord/cmd_modules/show.py
index 005080a..f63573b 100644
--- a/func/overlord/cmd_modules/show.py
+++ b/func/overlord/cmd_modules/show.py
@@ -31,12 +31,28 @@ class Show(base_command.BaseCommand):
     def addOptions(self):
         self.parser.add_option("-v", "--verbose", dest="verbose",
                                action="store_true")
+        self.parser.add_option('-t', '--timeout', dest="timeout", type="float",
+                               help="Set default socket timeout in seconds")
+        self.parser.add_option('-e', '--exclude', dest="exclude",
+                               help="exclude some of minions",
+                               action="store",
+                               type="string")
+        self.parser.add_option('-c', '--conf', dest="conffile",
+                               help="specify an overlord.conf file for func to use")
 
     def handleOptions(self, options):
         self.options = options
 
         self.verbose = options.verbose
 
+        if options.timeout:
+            self.socket_timeout = options.timeout
+
+        if options.exclude:
+            self.exclude_spec = options.exclude
+
+        if options.conffile:
+            self.conffile = options.conffile
 
     def parse(self, argv):
         self.argv = argv
