)]}'
{"openstack/auth/identity/authenticator.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"b7133e9d7bb30d3a3afeb70b8b82b480a8f18c7a","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    version \u003d version.split(\u0027.\u0027)[0]"},{"line_number":40,"context_line":"    if version \u003d\u003d \u00273\u0027:"},{"line_number":41,"context_line":"        args \u003d {\u0027user_name\u0027: username, \u0027password\u0027: password}"},{"line_number":42,"context_line":"        if project_name:"},{"line_number":43,"context_line":"            args[\u0027project_name\u0027] \u003d project_name"},{"line_number":44,"context_line":"        if domain_name:"},{"line_number":45,"context_line":"            args[\u0027domain_name\u0027] \u003d domain_name"}],"source_content_type":"text/x-python","patch_set":7,"id":"da9df570_cea2b6ad","line":42,"updated":"2014-09-24 14:58:52.000000000","message":"The rest of this looks like it wants to be a loop.\n\n  args.update( (n, v) for (n, v) in [(\u0027project_name\u0027, project_name),...] if v )\n\nIt might also just make sense to define a little class to be a container for auth args. It wouldn\u0027t do anything except define which args are valid anywhere at all, and would let us pass a single thing around instead of a bunch of **kwds.","commit_id":"5d7a01f02ddc11529a6e029c867b59f881946170"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"bf0f1b9797c56805890a17f1f3ffc7551d02ae97","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    version \u003d version.split(\u0027.\u0027)[0]"},{"line_number":40,"context_line":"    if version \u003d\u003d \u00273\u0027:"},{"line_number":41,"context_line":"        args \u003d {\u0027user_name\u0027: username, \u0027password\u0027: password}"},{"line_number":42,"context_line":"        if project_name:"},{"line_number":43,"context_line":"            args[\u0027project_name\u0027] \u003d project_name"},{"line_number":44,"context_line":"        if domain_name:"},{"line_number":45,"context_line":"            args[\u0027domain_name\u0027] \u003d domain_name"}],"source_content_type":"text/x-python","patch_set":7,"id":"baa201ad_79f34d9e","line":42,"in_reply_to":"da9df570_cea2b6ad","updated":"2014-10-02 21:43:02.000000000","message":"This is sine throw away code here \"Temporary code for creating an authenticator\".  This stuff gets cleaned up in a dependent review.","commit_id":"5d7a01f02ddc11529a6e029c867b59f881946170"}],"openstack/auth/identity/v2.py":[{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"1c8412de6a5e1522d354c187ae30b52c044fbf55","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class Auth(base.BaseIdentityPlugin):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    valid_options \u003d ["},{"line_number":27,"context_line":"        \u0027auth_url\u0027,"},{"line_number":28,"context_line":"        \u0027user_name\u0027,"},{"line_number":29,"context_line":"        \u0027user_id\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"da9df570_77effb87","line":26,"updated":"2014-09-23 18:54:04.000000000","message":"Where does this come into play? (same with this in v3)","commit_id":"5d7a01f02ddc11529a6e029c867b59f881946170"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"667ead72d09db94017f7379d1cd531ce1d3ed910","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class Auth(base.BaseIdentityPlugin):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    valid_options \u003d ["},{"line_number":27,"context_line":"        \u0027auth_url\u0027,"},{"line_number":28,"context_line":"        \u0027user_name\u0027,"},{"line_number":29,"context_line":"        \u0027user_id\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"da9df570_d73fc7d4","line":26,"in_reply_to":"da9df570_77effb87","updated":"2014-09-23 18:58:33.000000000","message":"Never mind, found it in the dependent review.","commit_id":"5d7a01f02ddc11529a6e029c867b59f881946170"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"7a519efda3a27e6bb97ef6e57f6c4c9b8f1b7490","unresolved":false,"context_lines":[{"line_number":102,"context_line":"            auth \u003d {\u0027password\u0027: self.password}"},{"line_number":103,"context_line":"            if self.user_name:"},{"line_number":104,"context_line":"                auth[\u0027username\u0027] \u003d self.user_name"},{"line_number":105,"context_line":"            elif self.user_id:"},{"line_number":106,"context_line":"                auth[\u0027userId\u0027] \u003d self.user_id"},{"line_number":107,"context_line":"            return {\u0027passwordCredentials\u0027: auth}"},{"line_number":108,"context_line":"        headers[\u0027X-Auth-Token\u0027] \u003d self.token"}],"source_content_type":"text/x-python","patch_set":7,"id":"da9df570_1a88e121","line":105,"updated":"2014-09-20 00:36:55.000000000","message":"by userId is an untested branch, also the orientation of this branch is inverted -- all other cases use id before name.","commit_id":"5d7a01f02ddc11529a6e029c867b59f881946170"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"bf0f1b9797c56805890a17f1f3ffc7551d02ae97","unresolved":false,"context_lines":[{"line_number":102,"context_line":"            auth \u003d {\u0027password\u0027: self.password}"},{"line_number":103,"context_line":"            if self.user_name:"},{"line_number":104,"context_line":"                auth[\u0027username\u0027] \u003d self.user_name"},{"line_number":105,"context_line":"            elif self.user_id:"},{"line_number":106,"context_line":"                auth[\u0027userId\u0027] \u003d self.user_id"},{"line_number":107,"context_line":"            return {\u0027passwordCredentials\u0027: auth}"},{"line_number":108,"context_line":"        headers[\u0027X-Auth-Token\u0027] \u003d self.token"}],"source_content_type":"text/x-python","patch_set":7,"id":"baa201ad_fc21eb9f","line":105,"in_reply_to":"da9df570_1a88e121","updated":"2014-10-02 21:43:02.000000000","message":"It looks like there are a lot of changes here, this wasn\u0027t changed.  I\u0027d like to make this change in a follow up for more discussion:\n\nhttps://review.openstack.org/#/c/125799/","commit_id":"5d7a01f02ddc11529a6e029c867b59f881946170"}],"openstack/tests/auth/identity/test_v2.py":[{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"f75ac7fa1613a3cd60ba8d53344d66c31e10c369","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"        self.assertRaises(exceptions.InvalidResponse, sot.authorize, xport)"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    def test_invalidate(self):"},{"line_number":144,"context_line":"        kargs \u003d {"},{"line_number":145,"context_line":"            \u0027password\u0027: common.TEST_PASS,"},{"line_number":146,"context_line":"            \u0027token\u0027: common.TEST_TOKEN,"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_044c66c7","line":143,"updated":"2014-09-03 17:11:41.000000000","message":"Switches from token auth to user/pass","commit_id":"2e895492ab71837112749c536b6c94422b856796"}],"openstack/tests/auth/identity/test_v3.py":[{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"f75ac7fa1613a3cd60ba8d53344d66c31e10c369","unresolved":false,"context_lines":[{"line_number":312,"context_line":""},{"line_number":313,"context_line":"        self.assertRaises(exceptions.InvalidResponse, sot.authorize, xport)"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"    def test_invalidate(self):"},{"line_number":316,"context_line":"        kargs \u003d {"},{"line_number":317,"context_line":"            \u0027user_name\u0027: common.TEST_USER,"},{"line_number":318,"context_line":"            \u0027password\u0027: common.TEST_PASS,"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_8458568b","line":315,"updated":"2014-09-03 17:11:41.000000000","message":"Switches from token auth to user/pass","commit_id":"2e895492ab71837112749c536b6c94422b856796"}]}
