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
diff --git a/command.py b/command.py index e17f0ab..5a5f468 100644 --- a/command.py +++ b/command.py
@@ -123,6 +123,11 @@ 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 @@ 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.
diff --git a/error.py b/error.py index 783ab7d..2148248 100644 --- a/error.py +++ b/error.py
@@ -25,6 +25,7 @@ """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 @@ """Unspecified internal error from git. """ def __init__(self, command): + super(GitError, self).__init__() self.command = command def __str__(self): @@ -43,6 +45,7 @@ """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 @@ """Cannot download a repository. """ def __init__(self, reason): + super(DownloadError, self).__init__() self.reason = reason def __str__(self): @@ -61,6 +65,7 @@ """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 @@ """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 @@ 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 @@ The common case is that the file wasn't present when we tried to run it. """ - pass
diff --git a/main.py b/main.py index 34dd27d..278fd36 100755 --- a/main.py +++ b/main.py
@@ -45,7 +45,7 @@ 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]"
diff --git a/manifest_xml.py b/manifest_xml.py index 1207244..04cabaa 100644 --- a/manifest_xml.py +++ b/manifest_xml.py
@@ -321,7 +321,8 @@ 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)
diff --git a/project.py b/project.py index 96ab907..472b1d3 100644 --- a/project.py +++ b/project.py
@@ -724,17 +724,25 @@ 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,
diff --git a/subcmds/__init__.py b/subcmds/__init__.py index a2286e7..1fac802 100644 --- a/subcmds/__init__.py +++ b/subcmds/__init__.py
@@ -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 @@ 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
diff --git a/subcmds/abandon.py b/subcmds/abandon.py index 42abb2f..e17ab2b 100644 --- a/subcmds/abandon.py +++ b/subcmds/abandon.py
@@ -42,10 +42,10 @@ 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)
diff --git a/subcmds/branches.py b/subcmds/branches.py index 81aa5b1..a7ba3d6 100644 --- a/subcmds/branches.py +++ b/subcmds/branches.py
@@ -93,17 +93,17 @@ 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 @@ width = len(name) for name in names: - i = all[name] + i = all_branches[name] in_cnt = len(i.projects) if i.IsCurrent:
diff --git a/subcmds/checkout.py b/subcmds/checkout.py index 533d20e..bfbe992 100644 --- a/subcmds/checkout.py +++ b/subcmds/checkout.py
@@ -39,10 +39,10 @@ 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)
diff --git a/subcmds/forall.py b/subcmds/forall.py index 76a0268..2ece95e 100644 --- a/subcmds/forall.py +++ b/subcmds/forall.py
@@ -141,12 +141,16 @@ 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)