Fix pylint errors for RAPI
authorOleksiy Mishchenko <oleksiy@google.com>
Fri, 11 Apr 2008 16:18:06 +0000 (16:18 +0000)
committerOleksiy Mishchenko <oleksiy@google.com>
Fri, 11 Apr 2008 16:18:06 +0000 (16:18 +0000)
daemons/ganeti-rapi
lib/rapi/RESTHTTPServer.py
lib/rapi/resources.py

index 1136959..9825bbf 100755 (executable)
@@ -49,7 +49,7 @@ def ParseOptions():
                     default=False, action="store_true")
   parser.add_option("-p", "--port", dest="port",
                     help="Port to run API",
-                    default=API_PORT)
+                    default=API_PORT, type="int")
   parser.add_option("-S", "--https", dest="ssl",
                     help="Secure HTTP protocol with SSL",
                     default=False, action="store_true")
@@ -62,12 +62,12 @@ def ParseOptions():
   options, args = parser.parse_args()
 
   if len(args) != 1 or args[0] not in ("start", "stop"):
-    print >>sys.stderr, "Usage: %s [-d] [-p port] start|stop\n" % sys.argv[0]
+    print >> sys.stderr, "Usage: %s [-d] [-p port] start|stop\n" % sys.argv[0]
     sys.exit(1)
 
   if options.ssl:
     if not (options.ssl_cert and options.ssl_key):
-      print >>sys.stderr, "For secure mode please provide " \
+      print >> sys.stderr, "For secure mode please provide " \
                         "--ssl-key and --ssl-cert arguments"
       sys.exit(1)
 
@@ -128,7 +128,6 @@ def StartAPI(options):
   Return:
     Exit code.
   """
-  port = int(options.port)
   # do the UNIX double-fork magic
   try:
     pid = os.fork()
@@ -136,7 +135,7 @@ def StartAPI(options):
       # exit first parent
       sys.exit(0)
   except OSError, e:
-    print >>sys.stderr, "fork #1 failed: %d (%s)" % (e.errno, e.strerror)
+    print >> sys.stderr, "fork #1 failed: %d (%s)" % (e.errno, e.strerror)
     return 1
 
   # decouple from parent environment
@@ -149,10 +148,10 @@ def StartAPI(options):
     pid = os.fork()
     if pid > 0:
       # exit from second parent, print eventual PID before
-      print "Ganeti-RAPI PID: %d port: %d" % (pid, port)
+      print "Ganeti-RAPI PID: %d port: %d" % (pid, options.port)
       return 0
   except OSError, e:
-    print >>sys.stderr, "fork #2 failed: %d (%s)" % (e.errno, e.strerror)
+    print >> sys.stderr, "fork #2 failed: %d (%s)" % (e.errno, e.strerror)
     return 1
 
   # start the daemon main loop
@@ -161,17 +160,19 @@ def StartAPI(options):
 
 def StopAPI(options):
   """Stop the API."""
-  port = int(options.port)
   try:
-    pid = Port2PID(port)
+    pid = Port2PID(options.port)
     if pid:
-      print "Stopping Ganeti-RAPI PID: %d, port: %d.... " % (pid, port),
+      print "Stopping Ganeti-RAPI PID: %d, port: %d... " \
+          % (pid, options.port),
       os.kill(pid, 9)
       print "done."
     else:
-      print >>sys.stderr, "Unable to locate running Ganeti-RAPI on port: %d" % port
+      print >> sys.stderr, "Unable to locate running Ganeti-RAPI on port: %d" \
+          % options.port
+
   except Exception, ex:
-    print >>sys.stderr, ex
+    print >> sys.stderr, ex
     return 1
   return 0
 
index 5025140..534874f 100644 (file)
@@ -1,6 +1,5 @@
 #!/usr/bin/python
 #
-
 # Copyright (C) 2006, 2007 Google Inc.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -26,10 +25,7 @@ import BaseHTTPServer
 import OpenSSL
 import logging
 import logging.handlers
-import sys
-import os
 
-from optparse import OptionParser
 from ganeti.rapi import resources
 
 """RESTfull HTTPS Server module.
@@ -38,6 +34,7 @@ from ganeti.rapi import resources
 
 def OpenLog():
   """Set up logging to the syslog.
+
   """
   log = logging.getLogger('ganeti-rapi')
   slh = logging.handlers.SysLogHandler('/dev/log',
@@ -52,19 +49,20 @@ def OpenLog():
 
 
 class RESTHTTPServer(BaseHTTPServer.HTTPServer):
+  """The class to provide HTTP/HTTPS server.
+
+  """
   def __init__(self, server_address, HandlerClass, options):
-    """ REST Server Constructor.
+    """REST Server Constructor.
 
     Args:
       server_address - a touple with pair:
         ip - a string with IP address, localhost if null-string
         port - port number, integer
-      HandlerClass - HTTPRequestHandler object.
-      options: command-line options.
+      HandlerClass - HTTPRequestHandler object
+      options - Command-line options
     """
-
-
-    SocketServer.BaseServer.__init__(self, server_address, HandlerClass)
+    BaseHTTPServer.HTTPServer.__init__(self,server_address, HandlerClass)
     if options.ssl:
       # Set up SSL
       context = OpenSSL.SSL.Context(OpenSSL.SSL.SSLv23_METHOD)
@@ -158,20 +156,17 @@ class RESTRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
     """
     controller = self.map.getController(uri)
     if controller:
-        return eval("resources.%s(self, %s, %s)" % controller)
+      return eval("resources.%s(self, %s, %s)" % controller)
     else:
       raise exceptions.AttribureError
 
 
 def start(options):
-  port = int(options.port)
-  httpd = RESTHTTPServer(("", port), RESTRequestHandler, options)
+  httpd = RESTHTTPServer(("", options.port), RESTRequestHandler, options)
   try:
     httpd.serve_forever()
   finally:
-    httpd.close()
-    del httpd
-    return 1
+    httpd.server_close()
 
 
 if __name__ == "__main__":
index 31b503c..c5288e8 100644 (file)
@@ -101,7 +101,9 @@ class Mapper:
 
 
 class R_Generic(object):
-  """ Generic class for resources. """
+  """ Generic class for resources.
+
+  """
 
   def __init__(self, dispatcher, items, args):
     """ Gentric resource constructor.
@@ -115,9 +117,12 @@ class R_Generic(object):
     self.items = items
     self.args = args
     self.code = 200
+    self.result = None
 
   def do_GET(self):
-    """Default GET flow."""
+    """Default GET flow.
+
+    """
     try:
       self._get()
       self.send(self.code, self.result)
@@ -131,6 +136,9 @@ class R_Generic(object):
       self.send_error(500, 'Internal Server Error: %s' % msg)
 
   def _get(self):
+    """ GET Stub.
+
+    """
     raise AttributeError("GET method is not implemented")
 
 
@@ -277,8 +285,8 @@ class R_os(R_Generic):
         if os.name not in self.valid_os_list:
           self.valid_os_list.append(os.name)
       else:
-        if os.name in valid_os_list:
-          self.valid_oslist.remove(os.name)
+        if os.name in self.valid_os_list:
+          self.valid_os_list.remove(os.name)
 
   def _get(self):
     request = ganeti.opcodes.OpDiagnoseOS()