def test_select_dict(self): d = { 1: "one", 2: "two", 3: "three", 8: "eight", } self.assertDictEqual(select_dict(None, dict(a="a", b="b", c=None)), dict(a="a", b="b")) self.assertDictEqual(select_dict(lambda k, v: is_even(k), d), { 2: "two", 8: "eight", })
def test_select_dict(self): d = { 1: "one", 2: "two", 3: "three", 8: "eight", } self.assertDictEqual(functional.select_dict(None, dict(a="a", b="b", c=None)), dict(a="a", b="b")) self.assertDictEqual(functional.select_dict(lambda k, v: builtins.is_even(k), d), { 2: "two", 8: "eight", })
def query_select(query, predicate): """ Filters query parameters out of a query parameter dictionary or query string. Example:: query_select(query, lambda k, v: k.startswith("oauth_")) :param query: Query parameter dictionary or query string. :param predicate: A callback that will be called for each query parameter and should return ``False`` or a falsy value if that parameter should not be included. By default, all query parameters are included. The function takes the following method signature:: def predicate(name, value): return is_name_allowed(name) and is_value_allowed(value) :returns: A filtered dictionary of query parameters. """ return select_dict(predicate, query_unflatten(query))
def _get_ax_args(cls, request_arguments, ax_ns): if not ax_ns: return {} prefix = "openid." + ax_ns + ".type." return select_dict(lambda k, v: k.startswith(prefix), request_arguments)