Pylint for common/gerrit.py
authorLingchaox Xin <lingchaox.xin@intel.com>
Thu, 20 Jun 2013 07:32:06 +0000 (15:32 +0800)
committerLingchaox Xin <lingchaox.xin@intel.com>
Fri, 21 Jun 2013 07:44:47 +0000 (15:44 +0800)
Change-Id: I756344890766eafbbebe382f78a28f6418600471

common/gerrit.py

index ba9873e..bdbeac4 100644 (file)
@@ -1,5 +1,7 @@
 #!/usr/bin/env python
 
+"""A Gerrit related operations wrapper"""
+
 import getpass
 import os
 import sys
@@ -10,23 +12,31 @@ def is_ref_deleted(oldrev, newrev):
        'ref updated' Gerrit event.
     """
     # 0000*0 is a special git hash code in gerrit for deleted git object
-    return oldrev != newrev and newrev == '0000000000000000000000000000000000000000'
+    return oldrev != newrev and newrev == '0' * 40
+
+class GerritError(Exception):
+    """Handle with local Gerrit Error"""
+    pass
 
 class Gerrit:
     """ Gerrit ssh client command line warper """
-    def __init__(self, host, username = getpass.getuser(), port = 29418):
+    def __init__(self, host, username=getpass.getuser(), port=29418):
 
         self.host = host
         self.username = username
         self.port = port
 
         if not 'Welcome to Gerrit Code Review' in ''.join(self._cmd_run('')):
-            raise Exception, "Init Error to Gerrit Service host: %s port: %s" %(self.host, self.port)
+            raise GerritError("Init Error to Gerrit Service host: %s port: %s"
+                    % (self.host, self.port))
+
+    def _cmd_run(self, cmd, args=()):
+        """A cmd running wrapper"""
 
-    def _cmd_run(self, cmd, args = []):
+        args = list(args)
 
-        print "ssh -p %s %s@%s gerrit %s %s" %(self.port, self.username, self.host,
-                                               cmd, ' '.join(args))
+        print "ssh -p %s %s@%s gerrit %s %s" % (self.port, self.username, \
+                self.host, cmd, ' '.join(args))
         if cmd:
             sys.stdin, out = os.popen2("ssh -p %s %s@%s gerrit %s %s"
                                    %(self.port, self.username, self.host,
@@ -38,6 +48,7 @@ class Gerrit:
             return err.readlines()
 
     def query(self, query):
+        """Execute Gerrit query operation"""
 
         ret_list = []
 
@@ -54,6 +65,7 @@ class Gerrit:
         return ret_list
 
     def ls_projects(self, args=()):
+        """List Gerrit projects"""
 
         ret_list = []
 
@@ -65,12 +77,14 @@ class Gerrit:
         return ret_list
 
     def create_project(self, project, *keys):
+        """Create Gerrit project"""
 
         args = [project] + list(keys)
 
         self._cmd_run('create-project', args)
 
     def set_project_parent(self, project, parent, *keys):
+        """Set Gerrit project parent"""
 
         args = []
 
@@ -80,29 +94,32 @@ class Gerrit:
 
         self._cmd_run('set-project-parent', args)
 
-    def review(self, commit = None, project = None, change_id_set = None, message = '',
-               verified = 0, codereview = 0):
+    def review(self, commit=None, project=None, change_id_set=None, \
+            message='', verified=0, codereview=0):
+        """A wrapper method used to execute gerrit review operation"""
 
         args = []
 
         if project:
-            args.append('--project %s ' %project)
+            args.append('--project %s ' % project)
 
         if message:
-            args.append('--message \'"%s"\'' %message.replace('"', '\\"').replace("'", ""))
+            args.append('--message \'"%s"\'' % \
+                    message.replace('"', '\\"').replace("'", ""))
 
         if verified:
-            args.append('--verified %s ' %verified)
+            args.append('--verified %s ' % verified)
 
         if codereview:
-            args.append('--codereview %s ' %codereview)
+            args.append('--codereview %s ' % codereview)
 
         if commit or change_id_set:
             if commit:
-                args.append('%s' %commit)
+                args.append('%s' % commit)
             elif change_id_set:
-                args.append('%s' %change_id_set)
+                args.append('%s' % change_id_set)
         else:
-            raise Exception, 'Error: either commit or changeid,patchset is needed'
+            raise GerritError, \
+                    'Error: either commit or changeid, patchset is needed'
 
         self._cmd_run('review', args)