environment/lib/python2.7/site-packages/IPython/utils/wildcard.py
def list_namespace(namespace, type_pattern, filter, ignore_case=False, show_all=False):
    """Return dictionary of all objects in a namespace dictionary that match
    type_pattern and filter."""
    pattern_list=filter.split(".")
    if len(pattern_list) == 1:
       return filter_ns(namespace, name_pattern=pattern_list[0],
                        type_pattern=type_pattern,
                        ignore_case=ignore_case, show_all=show_all)
    else:
        # This is where we can change if all objects should be searched or
        # only modules. Just change the type_pattern to module to search only
        # modules
        filtered = filter_ns(namespace, name_pattern=pattern_list[0],
                            type_pattern="all",
                            ignore_case=ignore_case, show_all=show_all)
        results = {}
        for name, obj in filtered.iteritems():
            ns = list_namespace(dict_dir(obj), type_pattern,
                                ".".join(pattern_list[1:]),
                                ignore_case=ignore_case, show_all=show_all)
            for inner_name, inner_obj in ns.iteritems():
                results["%s.%s"%(name,inner_name)] = inner_obj
        return results
def list_namespace(namespace, type_pattern, filter, ignore_case=False, show_all=False):
    """Return dictionary of all objects in a namespace dictionary that match
    type_pattern and filter."""
    pattern_list=filter.split(".")
    if len(pattern_list) == 1:
       return filter_ns(namespace, name_pattern=pattern_list[0],
                        type_pattern=type_pattern,
                        ignore_case=ignore_case, show_all=show_all)
    else:
        # This is where we can change if all objects should be searched or
        # only modules. Just change the type_pattern to module to search only
        # modules
        filtered = filter_ns(namespace, name_pattern=pattern_list[0],
                            type_pattern="all",
                            ignore_case=ignore_case, show_all=show_all)
        results = {}
        for name, obj in filtered.iteritems():
            ns = list_namespace(dict_dir(obj), type_pattern,
                                ".".join(pattern_list[1:]),
                                ignore_case=ignore_case, show_all=show_all)
            for inner_name, inner_obj in ns.iteritems():
                results["%s.%s"%(name,inner_name)] = inner_obj
        return results
Return dictionary of all objects in a namespace dictionary that match
    type_pattern and filter.