From f1cfa9ab5d79198671275cea2c9864ce0cbcb9f0 Mon Sep 17 00:00:00 2001 From: "Klauer, Daniel" Date: Tue, 17 May 2016 12:59:25 +0000 Subject: python-smartpm: Remove unnecessary error reporting improvement patch The error reporting improvements were merged upstream (smartpm 406541f569) and refactored later (smartpm 20af0aac33), yet a part of the patch was kept here (oe-core 5fc580fc44). Due to the upstream refactoring the patch still applies cleanly, but it isn't actually needed. The added changes are duplicate or dead code. Signed-off-by: Daniel Klauer Signed-off-by: Richard Purdie --- .../smart-improve-error-reporting.patch | 91 ---------------------- meta/recipes-devtools/python/python-smartpm_git.bb | 1 - 2 files changed, 92 deletions(-) delete mode 100644 meta/recipes-devtools/python/python-smartpm/smart-improve-error-reporting.patch (limited to 'meta/recipes-devtools/python') diff --git a/meta/recipes-devtools/python/python-smartpm/smart-improve-error-reporting.patch b/meta/recipes-devtools/python/python-smartpm/smart-improve-error-reporting.patch deleted file mode 100644 index b82265b3ff..0000000000 --- a/meta/recipes-devtools/python/python-smartpm/smart-improve-error-reporting.patch +++ /dev/null @@ -1,91 +0,0 @@ -Improve error reporting in smart - -Add code to check proper command line arguments for various -smart commands. Exit with error if erroneous/additional arguments -are given in the command line. - -Upstream-Status: Pending - -Signed-off-by: Bogdan Marinescu - -diff --git a/smart/util/optparse.py b/smart/util/optparse.py -index 6fff1bc..f445a3b 100644 ---- a/smart/util/optparse.py -+++ b/smart/util/optparse.py -@@ -70,6 +70,8 @@ import sys, os - import types - import textwrap - from gettext import gettext as _ -+from smart import Error -+import re - - def _repr(self): - return "<%s at 0x%x: %s>" % (self.__class__.__name__, id(self), self) -@@ -710,6 +712,12 @@ class Option: - self.action, self.dest, opt, value, values, parser) - - def take_action(self, action, dest, opt, value, values, parser): -+ # Keep all the options in the command line in the '_given_opts' array -+ # This will be used later to validate the command line -+ given_opts = getattr(parser.values, "_given_opts", []) -+ user_opt = re.sub(r"^\-*", "", opt).replace("-", "_") -+ given_opts.append(user_opt) -+ setattr(parser.values, "_given_opts", given_opts) - if action == "store": - setattr(values, dest, value) - elif action == "store_const": -@@ -821,6 +829,54 @@ class Values: - setattr(self, attr, value) - return getattr(self, attr) - -+ # Check if the given option has the specified number of arguments -+ # Raise an error if the option has an invalid number of arguments -+ # A negative number for 'nargs' means "at least |nargs| arguments are needed" -+ def check_args_of_option(self, opt, nargs, err=None): -+ given_opts = getattr(self, "_given_opts", []) -+ if not opt in given_opts: -+ return -+ values = getattr(self, opt, []) -+ if type(values) != type([]): -+ return -+ if nargs < 0: -+ nargs = -nargs -+ if len(values) >= nargs: -+ return -+ if not err: -+ if nargs == 1: -+ err = _("Option '%s' requires at least one argument") % opt -+ else: -+ err = _("Option '%s' requires at least %d arguments") % (opt, nargs) -+ raise Error, err -+ elif nargs == 0: -+ if len( values ) == 0: -+ return -+ raise Error, err -+ else: -+ if len(values) == nargs: -+ return -+ if not err: -+ if nargs == 1: -+ err = _("Option '%s' requires one argument") % opt -+ else: -+ err = _("Option '%s' requires %d arguments") % (opt, nargs) -+ raise Error, err -+ -+ # Check that at least one of the options in 'actlist' was given as an argument -+ # to the command 'cmdname' -+ def ensure_action(self, cmdname, actlist): -+ given_opts = getattr(self, "_given_opts", []) -+ for action in actlist: -+ if action in given_opts: -+ return -+ raise Error, _("No action specified for command '%s'") % cmdname -+ -+ # Check if there are any other arguments left after parsing the command line and -+ # raise an error if such arguments are found -+ def check_remaining_args(self): -+ if self.args: -+ raise Error, _("Invalid argument(s) '%s'" % str(self.args)) - - class OptionContainer: - diff --git a/meta/recipes-devtools/python/python-smartpm_git.bb b/meta/recipes-devtools/python/python-smartpm_git.bb index 0d37dae3cb..5acfb0aa09 100644 --- a/meta/recipes-devtools/python/python-smartpm_git.bb +++ b/meta/recipes-devtools/python/python-smartpm_git.bb @@ -15,7 +15,6 @@ SRC_URI = "\ git://github.com/smartpm/smart.git \ file://smartpm-rpm5-nodig.patch \ file://smart-recommends.patch \ - file://smart-improve-error-reporting.patch \ file://smart-channelsdir.patch \ file://smart-rpm-transaction-failure-check.patch \ file://smart-attempt.patch \ -- cgit 1.2.3-korg