From 8b3878f18b526dc97142c96c92615705a977d763 Mon Sep 17 00:00:00 2001 From: Oleksiy Mishchenko Date: Fri, 11 Apr 2008 16:18:06 +0000 Subject: [PATCH] Fix pylint errors for RAPI --- daemons/ganeti-rapi | 25 +++++++++++++------------ lib/rapi/RESTHTTPServer.py | 27 +++++++++++---------------- lib/rapi/resources.py | 16 ++++++++++++---- 3 files changed, 36 insertions(+), 32 deletions(-) diff --git a/daemons/ganeti-rapi b/daemons/ganeti-rapi index 1136959..9825bbf 100755 --- a/daemons/ganeti-rapi +++ b/daemons/ganeti-rapi @@ -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 diff --git a/lib/rapi/RESTHTTPServer.py b/lib/rapi/RESTHTTPServer.py index 5025140..534874f 100644 --- a/lib/rapi/RESTHTTPServer.py +++ b/lib/rapi/RESTHTTPServer.py @@ -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__": diff --git a/lib/rapi/resources.py b/lib/rapi/resources.py index 31b503c..c5288e8 100644 --- a/lib/rapi/resources.py +++ b/lib/rapi/resources.py @@ -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() -- 1.7.10.4