From 31554d0a900075e4be1275d5fb845e24bb091b37 Mon Sep 17 00:00:00 2001 From: Michael Hanselmann <hansmi@google.com> Date: Fri, 11 Mar 2011 15:57:37 +0100 Subject: [PATCH] qlang: Remove unused ReadSimpleFilter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michael Hanselmann <hansmi@google.com> Reviewed-by: RenΓ© Nussbaumer <rn@google.com> --- lib/qlang.py | 49 +---------------------------------- test/ganeti.qlang_unittest.py | 27 ------------------- 2 files changed, 1 insertion(+), 75 deletions(-) diff --git a/lib/qlang.py b/lib/qlang.py index 02cdef1c2..ad9c9498c 100644 --- a/lib/qlang.py +++ b/lib/qlang.py @@ -54,55 +54,8 @@ OP_REGEXP = "=~" OP_CONTAINS = "=[]" -def ReadSimpleFilter(namefield, filter_): - """Function extracting wanted names from restricted filter. - - This should only be used until proper filtering is implemented. The filter - must either be empty or of the format C{["|", ["=", field, "name1"], ["=", - field, "name2"], ...]}. - - """ - if filter_ is None: - return [] - - if not isinstance(filter_, list): - raise errors.ParameterError("Filter should be list") - - if not filter_ or filter_[0] != OP_OR: - raise errors.ParameterError("Filter should start with OR operator") - - if len(filter_) < 2: - raise errors.ParameterError("Invalid filter, OR operator should have" - " operands") - - result = [] - - for idx, item in enumerate(filter_[1:]): - if not isinstance(item, list): - raise errors.ParameterError("Invalid OR operator, operand %s not a" - " list" % idx) - - if len(item) != 3 or item[0] != OP_EQUAL: - raise errors.ParameterError("Invalid OR operator, operand %s is not an" - " equality filter" % idx) - - (_, name, value) = item - - if not isinstance(value, basestring): - raise errors.ParameterError("Operand %s for OR should compare against a" - " string" % idx) - - if name != namefield: - raise errors.ParameterError("Operand %s for OR should filter field '%s'," - " not '%s'" % (idx, namefield, name)) - - result.append(value) - - return result - - def MakeSimpleFilter(namefield, values): - """Builds a filter for use with L{ReadSimpleFilter}. + """Builds simple a filter. @param namefield: Name of field containing item name @param values: List of names diff --git a/test/ganeti.qlang_unittest.py b/test/ganeti.qlang_unittest.py index 72c5558bd..5bf3c2502 100755 --- a/test/ganeti.qlang_unittest.py +++ b/test/ganeti.qlang_unittest.py @@ -30,32 +30,6 @@ from ganeti import qlang import testutils -class TestReadSimpleFilter(unittest.TestCase): - def _Test(self, filter_, expected): - self.assertEqual(qlang.ReadSimpleFilter("name", filter_), expected) - - def test(self): - self._Test(None, []) - self._Test(["|", ["=", "name", "xyz"]], ["xyz"]) - - for i in [1, 3, 10, 25, 140]: - self._Test(["|"] + [["=", "name", "node%s" % j] for j in range(i)], - ["node%s" % j for j in range(i)]) - - def testErrors(self): - for i in [123, True, False, "", "Hello World", "a==b", - [], ["x"], ["x", "y", "z"], ["|"], - ["|", ["="]], ["|", "x"], ["|", 123], - ["|", ["=", "otherfield", "xyz"]], - ["|", ["=", "name", "xyz"], "abc"], - ["|", ["=", "name", "xyz", "too", "long"]], - ["|", ["=", "name", []]], - ["|", ["=", "name", 999]], - ["|", ["=", "name", "abc"], ["=", "otherfield", "xyz"]]]: - self.assertRaises(errors.ParameterError, qlang.ReadSimpleFilter, - "name", i) - - class TestMakeSimpleFilter(unittest.TestCase): def _Test(self, field, names, expected, parse_exp=None): if parse_exp is None: @@ -63,7 +37,6 @@ class TestMakeSimpleFilter(unittest.TestCase): filter_ = qlang.MakeSimpleFilter(field, names) self.assertEqual(filter_, expected) - self.assertEqual(qlang.ReadSimpleFilter(field, filter_), parse_exp) def test(self): self._Test("name", None, None, parse_exp=[]) -- GitLab