)]}'
{"keystone/assignment/backends/ldap.py":[{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"a420041da04b98f1cd1df386517887a87839bc59","unresolved":false,"context_lines":[{"line_number":555,"context_line":"    def list_role_assignments(self):"},{"line_number":556,"context_line":"        conn \u003d self.get_connection()"},{"line_number":557,"context_line":"        query \u003d \u0027(objectClass\u003d%s)\u0027 % self.object_class"},{"line_number":558,"context_line":"        replaceArg1 \u003d self.DEFAULT_OU[:2].upper() + self.DEFAULT_OU[2:] + \",\""},{"line_number":559,"context_line":"        raiz \u003d self.tree_dn.replace(replaceArg1, \"\")"},{"line_number":560,"context_line":"        try:"},{"line_number":561,"context_line":"            objects \u003d conn.search_s(raiz, ldap.SCOPE_SUBTREE, query)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2FWwM%3D","line":558,"updated":"2013-11-08 11:36:25.000000000","message":"I\u0027d better not use camelcase for this variable. Also, Why the \"1\"?\n\nAlso, use single quotes (\u0027) instead of double quotes (\"): https://github.com/openstack/keystone/blob/master/HACKING.rst","commit_id":"ef15620f568786d2f1c12b4e0cfff709059bbea2"},{"author":{"_account_id":8533,"name":"Marcos Fermín Lobo","email":"lobo@lukos.org","username":"mlobo"},"change_message_id":"13e64637f9735f6dc2f2007f18b61c097bb79e78","unresolved":false,"context_lines":[{"line_number":555,"context_line":"    def list_role_assignments(self):"},{"line_number":556,"context_line":"        conn \u003d self.get_connection()"},{"line_number":557,"context_line":"        query \u003d \u0027(objectClass\u003d%s)\u0027 % self.object_class"},{"line_number":558,"context_line":"        replaceArg1 \u003d self.DEFAULT_OU[:2].upper() + self.DEFAULT_OU[2:] + \",\""},{"line_number":559,"context_line":"        raiz \u003d self.tree_dn.replace(replaceArg1, \"\")"},{"line_number":560,"context_line":"        try:"},{"line_number":561,"context_line":"            objects \u003d conn.search_s(raiz, ldap.SCOPE_SUBTREE, query)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2FWpo%3D","line":558,"in_reply_to":"AAAATn%2F%2FWwM%3D","updated":"2014-08-14 12:07:19.000000000","message":"Done","commit_id":"ef15620f568786d2f1c12b4e0cfff709059bbea2"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"a420041da04b98f1cd1df386517887a87839bc59","unresolved":false,"context_lines":[{"line_number":556,"context_line":"        conn \u003d self.get_connection()"},{"line_number":557,"context_line":"        query \u003d \u0027(objectClass\u003d%s)\u0027 % self.object_class"},{"line_number":558,"context_line":"        replaceArg1 \u003d self.DEFAULT_OU[:2].upper() + self.DEFAULT_OU[2:] + \",\""},{"line_number":559,"context_line":"        raiz \u003d self.tree_dn.replace(replaceArg1, \"\")"},{"line_number":560,"context_line":"        try:"},{"line_number":561,"context_line":"            objects \u003d conn.search_s(raiz, ldap.SCOPE_SUBTREE, query)"},{"line_number":562,"context_line":"        except ldap.NO_SUCH_OBJECT:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2FWxo%3D","line":559,"updated":"2013-11-08 11:36:25.000000000","message":"What is \"raiz\"? I think that you should change it to \"root\" ;-)","commit_id":"ef15620f568786d2f1c12b4e0cfff709059bbea2"},{"author":{"_account_id":8533,"name":"Marcos Fermín Lobo","email":"lobo@lukos.org","username":"mlobo"},"change_message_id":"13e64637f9735f6dc2f2007f18b61c097bb79e78","unresolved":false,"context_lines":[{"line_number":556,"context_line":"        conn \u003d self.get_connection()"},{"line_number":557,"context_line":"        query \u003d \u0027(objectClass\u003d%s)\u0027 % self.object_class"},{"line_number":558,"context_line":"        replaceArg1 \u003d self.DEFAULT_OU[:2].upper() + self.DEFAULT_OU[2:] + \",\""},{"line_number":559,"context_line":"        raiz \u003d self.tree_dn.replace(replaceArg1, \"\")"},{"line_number":560,"context_line":"        try:"},{"line_number":561,"context_line":"            objects \u003d conn.search_s(raiz, ldap.SCOPE_SUBTREE, query)"},{"line_number":562,"context_line":"        except ldap.NO_SUCH_OBJECT:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2FWpk%3D","line":559,"in_reply_to":"AAAATn%2F%2FWxo%3D","updated":"2014-08-14 12:07:19.000000000","message":"Done","commit_id":"ef15620f568786d2f1c12b4e0cfff709059bbea2"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"4f1fbe141ff70913b450a76cf2ee357b0e5cda03","unresolved":false,"context_lines":[{"line_number":555,"context_line":"    def list_role_assignments(self):"},{"line_number":556,"context_line":"        conn \u003d self.get_connection()"},{"line_number":557,"context_line":"        query \u003d \u0027(objectClass\u003d%s)\u0027 % self.object_class"},{"line_number":558,"context_line":"        replace_arg \u003d self.DEFAULT_OU[:2].upper() + self.DEFAULT_OU[2:] + \u0027,\u0027"},{"line_number":559,"context_line":"        root \u003d self.tree_dn.replace(replace_arg, \u0027\u0027)"},{"line_number":560,"context_line":"        try:"},{"line_number":561,"context_line":"            objects \u003d conn.search_s(root, ldap.SCOPE_SUBTREE, query)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FP4M%3D","line":558,"updated":"2013-11-12 09:46:20.000000000","message":"This line is intended to put the \"OU\" part in uppercase, isn\u0027t it? I am not an LDAP expert, but what if DEFAULT_OU\u003d\"ou\u003dsubgroup,ou\u003dgroup\"?","commit_id":"d8e48e0aaf29971816e9aaefe1c5f01189a49ed7"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"4f1fbe141ff70913b450a76cf2ee357b0e5cda03","unresolved":false,"context_lines":[{"line_number":563,"context_line":"            return []"},{"line_number":564,"context_line":"        assignment_list \u003d []"},{"line_number":565,"context_line":"        prj \u003d ProjectApi(CONF)"},{"line_number":566,"context_line":"        default_ou_project \u003d prj.DEFAULT_OU[:2].upper() + prj.DEFAULT_OU[2:]"},{"line_number":567,"context_line":"        for object_dn, attrs in objects:"},{"line_number":568,"context_line":"            if self.member_attribute in attrs:"},{"line_number":569,"context_line":"                role_id \u003d self._dn_to_id(object_dn)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FP34%3D","line":566,"updated":"2013-11-12 09:46:20.000000000","message":"Same here.","commit_id":"d8e48e0aaf29971816e9aaefe1c5f01189a49ed7"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"17e74661ebcffe367cfeb39f86292c9c77ebf18b","unresolved":false,"context_lines":[{"line_number":552,"context_line":"            conn.unbind_s()"},{"line_number":553,"context_line":"        super(RoleApi, self).delete(id)"},{"line_number":554,"context_line":""},{"line_number":555,"context_line":"    def list_role_assignments(self, project_tree_dn):"},{"line_number":556,"context_line":"        conn \u003d self.get_connection()"},{"line_number":557,"context_line":"        query \u003d \u0027(objectClass\u003d%s)\u0027 % (self.object_class)"},{"line_number":558,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2B5Q8%3D","line":555,"updated":"2013-11-18 21:34:13.000000000","message":"Python docstrings?","commit_id":"260feb08e593c267384f3f2472b08171f59fc9bb"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"17e74661ebcffe367cfeb39f86292c9c77ebf18b","unresolved":false,"context_lines":[{"line_number":560,"context_line":"                                  ldap.SCOPE_SUBTREE,"},{"line_number":561,"context_line":"                                  query)"},{"line_number":562,"context_line":"        except ldap.NO_SUCH_OBJECT:"},{"line_number":563,"context_line":"            return []"},{"line_number":564,"context_line":"        finally:"},{"line_number":565,"context_line":"            conn.unbind_s()"},{"line_number":566,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2B5RA%3D","line":563,"updated":"2013-11-18 21:34:13.000000000","message":"We should probably log something here. Informing the user we didn\u0027t find the role they were trying to delete.","commit_id":"260feb08e593c267384f3f2472b08171f59fc9bb"}]}
