More coding style cleanup

Fixing more issues found with pylint.  Some that were supposed to
have been fixed in the previous sweep (Ie0db839e) but were missed:

C0321: More than one statement on a single line
W0622: Redefining built-in 'name'

And some more:

W0631: Using possibly undefined loop variable 'name'
W0223: Method 'name' is abstract in class 'name' but is not overridden
W0231: __init__ method from base class 'name' is not called

Change-Id: Ie119183708609d6279e973057a385fde864230c3
This commit is contained in:
David Pursehouse 2012-10-11 16:44:48 +09:00
parent e98607248e
commit 5c6eeac8f0
10 changed files with 54 additions and 28 deletions

View File

@ -123,6 +123,11 @@ class Command(object):
result.sort(key=_getpath)
return result
# pylint: disable-msg=W0223
# Pylint warns that the `InteractiveCommand` and `PagedCommand` classes do not
# override method `Execute` which is abstract in `Command`. Since that method
# is always implemented in classes derived from `InteractiveCommand` and
# `PagedCommand`, this warning can be suppressed.
class InteractiveCommand(Command):
"""Command which requires user interaction on the tty and
must not run within a pager, even if the user asks to.
@ -137,6 +142,8 @@ class PagedCommand(Command):
def WantPager(self, opt):
return True
# pylint: enable-msg=W0223
class MirrorSafeCommand(object):
"""Command permits itself to run within a mirror,
and does not require a working directory.

View File

@ -25,6 +25,7 @@ class EditorError(Exception):
"""Unspecified error from the user's text editor.
"""
def __init__(self, reason):
super(EditorError, self).__init__()
self.reason = reason
def __str__(self):
@ -34,6 +35,7 @@ class GitError(Exception):
"""Unspecified internal error from git.
"""
def __init__(self, command):
super(GitError, self).__init__()
self.command = command
def __str__(self):
@ -43,6 +45,7 @@ class UploadError(Exception):
"""A bundle upload to Gerrit did not succeed.
"""
def __init__(self, reason):
super(UploadError, self).__init__()
self.reason = reason
def __str__(self):
@ -52,6 +55,7 @@ class DownloadError(Exception):
"""Cannot download a repository.
"""
def __init__(self, reason):
super(DownloadError, self).__init__()
self.reason = reason
def __str__(self):
@ -61,6 +65,7 @@ class NoSuchProjectError(Exception):
"""A specified project does not exist in the work tree.
"""
def __init__(self, name=None):
super(NoSuchProjectError, self).__init__()
self.name = name
def __str__(self):
@ -73,6 +78,7 @@ class InvalidProjectGroupsError(Exception):
"""A specified project is not suitable for the specified groups
"""
def __init__(self, name=None):
super(InvalidProjectGroupsError, self).__init__()
self.name = name
def __str__(self):
@ -86,6 +92,7 @@ class RepoChangedException(Exception):
use exec to re-execute repo with the new code and manifest.
"""
def __init__(self, extra_args=None):
super(RepoChangedException, self).__init__()
self.extra_args = extra_args or []
class HookError(Exception):
@ -93,4 +100,3 @@ class HookError(Exception):
The common case is that the file wasn't present when we tried to run it.
"""
pass

View File

@ -45,7 +45,7 @@ from error import RepoChangedException
from manifest_xml import XmlManifest
from pager import RunPager
from subcmds import all as all_commands
from subcmds import all_commands
global_options = optparse.OptionParser(
usage="repo [-p|--paginate|--no-pager] COMMAND [ARGS]"

View File

@ -321,7 +321,8 @@ class XmlManifest(object):
raise ManifestParseError("no <manifest> in %s" % (path,))
nodes = []
for node in manifest.childNodes:
for node in manifest.childNodes: # pylint:disable-msg=W0631
# We only get here if manifest is initialised
if node.nodeName == 'include':
name = self._reqatt(node, 'name')
fp = os.path.join(include_root, name)

View File

@ -724,17 +724,25 @@ class Project(object):
paths.sort()
for p in paths:
try: i = di[p]
except KeyError: i = None
try:
i = di[p]
except KeyError:
i = None
try: f = df[p]
except KeyError: f = None
try:
f = df[p]
except KeyError:
f = None
if i: i_status = i.status.upper()
else: i_status = '-'
if i:
i_status = i.status.upper()
else:
i_status = '-'
if f: f_status = f.status.lower()
else: f_status = '-'
if f:
f_status = f.status.lower()
else:
f_status = '-'
if i and i.src_path:
line = ' %s%s\t%s => %s (%s%%)' % (i_status, f_status,

View File

@ -15,7 +15,7 @@
import os
all = {}
all_commands = {}
my_dir = os.path.dirname(__file__)
for py in os.listdir(my_dir):
@ -43,7 +43,7 @@ for py in os.listdir(my_dir):
name = name.replace('_', '-')
cmd.NAME = name
all[name] = cmd
all_commands[name] = cmd
if 'help' in all:
all['help'].commands = all
if 'help' in all_commands:
all_commands['help'].commands = all_commands

View File

@ -42,10 +42,10 @@ It is equivalent to "git branch -D <branchname>".
nb = args[0]
err = []
success = []
all = self.GetProjects(args[1:])
all_projects = self.GetProjects(args[1:])
pm = Progress('Abandon %s' % nb, len(all))
for project in all:
pm = Progress('Abandon %s' % nb, len(all_projects))
for project in all_projects:
pm.update()
status = project.AbandonBranch(nb)

View File

@ -93,17 +93,17 @@ is shown, then the branch appears in all projects.
def Execute(self, opt, args):
projects = self.GetProjects(args)
out = BranchColoring(self.manifest.manifestProject.config)
all = {}
all_branches = {}
project_cnt = len(projects)
for project in projects:
for name, b in project.GetBranches().iteritems():
b.project = project
if name not in all:
all[name] = BranchInfo(name)
all[name].add(b)
if name not in all_branches:
all_branches[name] = BranchInfo(name)
all_branches[name].add(b)
names = all.keys()
names = all_branches.keys()
names.sort()
if not names:
@ -116,7 +116,7 @@ is shown, then the branch appears in all projects.
width = len(name)
for name in names:
i = all[name]
i = all_branches[name]
in_cnt = len(i.projects)
if i.IsCurrent:

View File

@ -39,10 +39,10 @@ The command is equivalent to:
nb = args[0]
err = []
success = []
all = self.GetProjects(args[1:])
all_projects = self.GetProjects(args[1:])
pm = Progress('Checkout %s' % nb, len(all))
for project in all:
pm = Progress('Checkout %s' % nb, len(all_projects))
for project in all_projects:
pm.update()
status = project.CheckoutBranch(nb)

View File

@ -141,12 +141,16 @@ terminal and are not redirected.
for cn in cmd[1:]:
if not cn.startswith('-'):
break
if cn in _CAN_COLOR:
else:
cn = None
# pylint: disable-msg=W0631
if cn and cn in _CAN_COLOR:
class ColorCmd(Coloring):
def __init__(self, config, cmd):
Coloring.__init__(self, config, cmd)
if ColorCmd(self.manifest.manifestProject.config, cn).is_on:
cmd.insert(cmd.index(cn) + 1, '--color')
# pylint: enable-msg=W0631
mirror = self.manifest.IsMirror
out = ForallColoring(self.manifest.manifestProject.config)