)]}'
{"keystone/assignment/backends/ldap.py":[{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"fce3817ecd8175ebea4569e65597f94f5f8472d1","unresolved":false,"context_lines":[{"line_number":405,"context_line":"    def get_role_assignments(self, tenant_dn):"},{"line_number":406,"context_line":"        try:"},{"line_number":407,"context_line":"            roles \u003d self._ldap_get_list(tenant_dn, ldap.SCOPE_ONELEVEL,"},{"line_number":408,"context_line":"                                        attrlist\u003d[self.member_attribute])"},{"line_number":409,"context_line":"        except ldap.NO_SUCH_OBJECT:"},{"line_number":410,"context_line":"            roles \u003d []"},{"line_number":411,"context_line":"        res \u003d []"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_77e1f229","line":408,"updated":"2015-07-31 06:06:56.000000000","message":"ldap are used here and in couple of places..  I think the reason it still works because when ldap.filter is imported, it will implicitly import ldap too.\n\nShould we remove the import on ldap.filter instead?","commit_id":"f7106012745ac4eb9a150eb9f007fa5c6ba04662"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"c43227a0fe368d959dd7ce42b833060b25138048","unresolved":false,"context_lines":[{"line_number":405,"context_line":"    def get_role_assignments(self, tenant_dn):"},{"line_number":406,"context_line":"        try:"},{"line_number":407,"context_line":"            roles \u003d self._ldap_get_list(tenant_dn, ldap.SCOPE_ONELEVEL,"},{"line_number":408,"context_line":"                                        attrlist\u003d[self.member_attribute])"},{"line_number":409,"context_line":"        except ldap.NO_SUCH_OBJECT:"},{"line_number":410,"context_line":"            roles \u003d []"},{"line_number":411,"context_line":"        res \u003d []"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_9f795796","line":408,"in_reply_to":"1a4dcd0f_1bd6bcc5","updated":"2015-08-04 03:04:21.000000000","message":"Ah, I see. thanks for the explanation","commit_id":"f7106012745ac4eb9a150eb9f007fa5c6ba04662"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"5cbc4cc49bb52dd793e4574cf69ff73665804420","unresolved":false,"context_lines":[{"line_number":405,"context_line":"    def get_role_assignments(self, tenant_dn):"},{"line_number":406,"context_line":"        try:"},{"line_number":407,"context_line":"            roles \u003d self._ldap_get_list(tenant_dn, ldap.SCOPE_ONELEVEL,"},{"line_number":408,"context_line":"                                        attrlist\u003d[self.member_attribute])"},{"line_number":409,"context_line":"        except ldap.NO_SUCH_OBJECT:"},{"line_number":410,"context_line":"            roles \u003d []"},{"line_number":411,"context_line":"        res \u003d []"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_1bd6bcc5","line":408,"in_reply_to":"3a50d1a3_77e1f229","updated":"2015-08-04 02:44:45.000000000","message":"Yep, this is just Python\u0027s import semantics. You can\u0027t import and use ldap.filter because the ldap module is not importing filter.","commit_id":"f7106012745ac4eb9a150eb9f007fa5c6ba04662"}]}
