def search_groups(self, **kwargs):
        """
        Returns a list of restclients.GroupReference objects matching the
        passed parameters. Valid parameters are:
            name: parts_of_name
                name may include the wild-card (*) character.
            stem: group_stem
            member: member netid
            owner: admin netid
            instructor: instructor netid
                stem="course" will be set when this parameter is passed.
            student: student netid
                stem="course" will be set when this parameter is passed.
            affiliate: affiliate_name
            type: search_type
                Values are 'direct' to search for direct membership and
                'effective' to search for effective memberships. Default is
                direct membership.
            scope: search_scope
                Values are 'one' to limit results to one level of stem name
                and 'all' to return all groups.
        """
        kwargs = dict((k.lower(), kwargs[k].lower()) for k in kwargs)
        if 'type' in kwargs and (
                kwargs['type'] != 'direct' and kwargs['type'] != 'effective'):
            del(kwargs['type'])

        if 'scope' in kwargs and (
                kwargs['scope'] != 'one' and kwargs['scope'] != 'all'):
            del(kwargs['scope'])

        if "instructor" in kwargs or "student" in kwargs:
            kwargs["stem"] = "course"

        url = "{}/search?{}".format(self.API, urlencode(kwargs))

        data = self._get_resource(url)

        groups = []
        for datum in data.get('data', []):
            group = GroupReference()
            group.uwregid = datum.get('regid')
            group.display_name = datum.get('displayName')
            group.name = datum.get('id')
            group.url = datum.get('url')
            groups.append(group)

        return groups
def search_groups(self, **kwargs):
        """
        Returns a list of restclients.GroupReference objects matching the
        passed parameters. Valid parameters are:
            name: parts_of_name
                name may include the wild-card (*) character.
            stem: group_stem
            member: member netid
            owner: admin netid
            instructor: instructor netid
                stem="course" will be set when this parameter is passed.
            student: student netid
                stem="course" will be set when this parameter is passed.
            affiliate: affiliate_name
            type: search_type
                Values are 'direct' to search for direct membership and
                'effective' to search for effective memberships. Default is
                direct membership.
            scope: search_scope
                Values are 'one' to limit results to one level of stem name
                and 'all' to return all groups.
        """
        kwargs = dict((k.lower(), kwargs[k].lower()) for k in kwargs)
        if 'type' in kwargs and (
                kwargs['type'] != 'direct' and kwargs['type'] != 'effective'):
            del(kwargs['type'])

        if 'scope' in kwargs and (
                kwargs['scope'] != 'one' and kwargs['scope'] != 'all'):
            del(kwargs['scope'])

        if "instructor" in kwargs or "student" in kwargs:
            kwargs["stem"] = "course"

        url = "{}/search?{}".format(self.API, urlencode(kwargs))

        data = self._get_resource(url)

        groups = []
        for datum in data.get('data', []):
            group = GroupReference()
            group.uwregid = datum.get('regid')
            group.display_name = datum.get('displayName')
            group.name = datum.get('id')
            group.url = datum.get('url')
            groups.append(group)

        return groups
def search_groups ( self , * * kwargs ) : kwargs = dict ( ( k . lower ( ) , kwargs [ k ] . lower ( ) ) for k in kwargs ) if 'type' in kwargs and ( kwargs [ 'type' ] != 'direct' and kwargs [ 'type' ] != 'effective' ) : del ( kwargs [ 'type' ] ) if 'scope' in kwargs and ( kwargs [ 'scope' ] != 'one' and kwargs [ 'scope' ] != 'all' ) : del ( kwargs [ 'scope' ] ) if "instructor" in kwargs or "student" in kwargs : kwargs [ "stem" ] = "course" url = "{}/search?{}" . format ( self . API , urlencode ( kwargs ) ) data = self . _get_resource ( url ) groups = [ ] for datum in data . get ( 'data' , [ ] ) : group = GroupReference ( ) group . uwregid = datum . get ( 'regid' ) group . display_name = datum . get ( 'displayName' ) group . name = datum . get ( 'id' ) group . url = datum . get ( 'url' ) groups . append ( group ) return groups
Returns a list of restclients.GroupReference objects matching the
        passed parameters. Valid parameters are:
            name: parts_of_name
                name may include the wild-card (*) character.
            stem: group_stem
            member: member netid
            owner: admin netid
            instructor: instructor netid
                stem="course" will be set when this parameter is passed.
            student: student netid
                stem="course" will be set when this parameter is passed.
            affiliate: affiliate_name
            type: search_type
                Values are 'direct' to search for direct membership and
                'effective' to search for effective memberships. Default is
                direct membership.
            scope: search_scope
                Values are 'one' to limit results to one level of stem name
                and 'all' to return all groups.
Returns a list of restclients . GroupReference objects matching the passed parameters . Valid parameters are : name : parts_of_name name may include the wild - card ( * ) character . stem : group_stem member : member netid owner : admin netid instructor : instructor netid stem = course will be set when this parameter is passed . student : student netid stem = course will be set when this parameter is passed . affiliate : affiliate_name type : search_type Values are direct to search for direct membership and effective to search for effective memberships . Default is direct membership . scope : search_scope Values are one to limit results to one level of stem name and all to return all groups .