Example #1
0
 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",
     })
Example #2
0
 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",
     })
Example #3
0
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))
Example #4
0
 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)