)]}'
{"openstackclient/api/api.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"63d1a50c9ee1b49f6958f89d2af53ebf7a225b35","unresolved":false,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":"        if body:"},{"line_number":185,"context_line":"            ret \u003d self._request("},{"line_number":186,"context_line":"                \u0027POST\u0027,"},{"line_number":187,"context_line":"                path,"},{"line_number":188,"context_line":"                # service\u003dself.service_type,"},{"line_number":189,"context_line":"                json\u003dbody,"}],"source_content_type":"text/x-python","patch_set":7,"id":"baa201ad_b608d02e","line":186,"updated":"2014-09-29 05:50:55.000000000","message":"why would a list need to support a POST? do we have an example of this?","commit_id":"82bc0d87ea59aedc2e82b7667c88610e05e395bb"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"338c235c8e9cf60e78acb8a3e33bb3a4ab913339","unresolved":false,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":"        if body:"},{"line_number":185,"context_line":"            ret \u003d self._request("},{"line_number":186,"context_line":"                \u0027POST\u0027,"},{"line_number":187,"context_line":"                path,"},{"line_number":188,"context_line":"                # service\u003dself.service_type,"},{"line_number":189,"context_line":"                json\u003dbody,"}],"source_content_type":"text/x-python","patch_set":7,"id":"baa201ad_d954a7cc","line":186,"in_reply_to":"baa201ad_b608d02e","updated":"2014-09-29 06:32:08.000000000","message":"Yes, actually...now if I can remember where...I haven\u0027t re-written one yet, but the base Managers all have it and I know I\u0027ve seen it used.  I think it\u0027s an alternate way to set a filter.","commit_id":"82bc0d87ea59aedc2e82b7667c88610e05e395bb"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"63d1a50c9ee1b49f6958f89d2af53ebf7a225b35","unresolved":false,"context_lines":[{"line_number":265,"context_line":"        msg \u003d \"No %s with a %s or ID of \u0027%s\u0027 found\""},{"line_number":266,"context_line":"        raise exceptions.CommandError(msg % (resource, attr, value))"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"    def find_bulk("},{"line_number":269,"context_line":"        self,"},{"line_number":270,"context_line":"        url,"},{"line_number":271,"context_line":"        **kwargs"}],"source_content_type":"text/x-python","patch_set":7,"id":"baa201ad_5909972b","line":268,"updated":"2014-09-29 05:50:55.000000000","message":"nit: i prefer when the signature is on as few lines as possible, same for all of these. not sure why you\u0027ve been going against the convention lately ;)","commit_id":"82bc0d87ea59aedc2e82b7667c88610e05e395bb"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"338c235c8e9cf60e78acb8a3e33bb3a4ab913339","unresolved":false,"context_lines":[{"line_number":265,"context_line":"        msg \u003d \"No %s with a %s or ID of \u0027%s\u0027 found\""},{"line_number":266,"context_line":"        raise exceptions.CommandError(msg % (resource, attr, value))"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"    def find_bulk("},{"line_number":269,"context_line":"        self,"},{"line_number":270,"context_line":"        url,"},{"line_number":271,"context_line":"        **kwargs"}],"source_content_type":"text/x-python","patch_set":7,"id":"baa201ad_b9f523cd","line":268,"in_reply_to":"baa201ad_5909972b","updated":"2014-09-29 06:32:08.000000000","message":"As long as we\u0027re hamstrung by the infernal PEP8 79-char lines then I\u0027m going to make it easy to read.  Bunched-up keyword argument lists are hard to read.  And consistency, some fit and some don\u0027t, and my A-R mind wants them to be the same.","commit_id":"82bc0d87ea59aedc2e82b7667c88610e05e395bb"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"63d1a50c9ee1b49f6958f89d2af53ebf7a225b35","unresolved":false,"context_lines":[{"line_number":317,"context_line":"            raise RuntimeError(msg)"},{"line_number":318,"context_line":"        return bulk_list[0]"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    def find("},{"line_number":321,"context_line":"        self,"},{"line_number":322,"context_line":"        path,"},{"line_number":323,"context_line":"        value\u003dNone,"}],"source_content_type":"text/x-python","patch_set":7,"id":"baa201ad_361dc074","line":320,"updated":"2014-09-29 05:50:55.000000000","message":"why not call this get() ?","commit_id":"82bc0d87ea59aedc2e82b7667c88610e05e395bb"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"338c235c8e9cf60e78acb8a3e33bb3a4ab913339","unresolved":false,"context_lines":[{"line_number":317,"context_line":"            raise RuntimeError(msg)"},{"line_number":318,"context_line":"        return bulk_list[0]"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    def find("},{"line_number":321,"context_line":"        self,"},{"line_number":322,"context_line":"        path,"},{"line_number":323,"context_line":"        value\u003dNone,"}],"source_content_type":"text/x-python","patch_set":7,"id":"baa201ad_79e2db04","line":320,"in_reply_to":"baa201ad_361dc074","updated":"2014-09-29 06:32:08.000000000","message":"Uh, get isn\u0027t an OSC verb, that would be show, but show doesn\u0027t make sense here. Yeah, that\u0027s weak.  The find*() methods are still somewhat fuzzy in my mind and I don\u0027t think I know enough from all of the APIs yet to know which ones we really need.  For example, find_bulk() came before find_attr() and may be able to be replaced by it.\n\nI could be convinced to change as we go along...","commit_id":"82bc0d87ea59aedc2e82b7667c88610e05e395bb"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"63d1a50c9ee1b49f6958f89d2af53ebf7a225b35","unresolved":false,"context_lines":[{"line_number":325,"context_line":"    ):"},{"line_number":326,"context_line":"        \"\"\"Find a single resource by name or ID"},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"        :param string url:"},{"line_number":329,"context_line":"            The API-specific portion of the URL path"},{"line_number":330,"context_line":"        :param string search:"},{"line_number":331,"context_line":"            search expression"}],"source_content_type":"text/x-python","patch_set":7,"id":"baa201ad_f602580a","line":328,"updated":"2014-09-29 05:50:55.000000000","message":"the params in the docstring don\u0027t match up with the ones in the signature","commit_id":"82bc0d87ea59aedc2e82b7667c88610e05e395bb"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"338c235c8e9cf60e78acb8a3e33bb3a4ab913339","unresolved":false,"context_lines":[{"line_number":325,"context_line":"    ):"},{"line_number":326,"context_line":"        \"\"\"Find a single resource by name or ID"},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"        :param string url:"},{"line_number":329,"context_line":"            The API-specific portion of the URL path"},{"line_number":330,"context_line":"        :param string search:"},{"line_number":331,"context_line":"            search expression"}],"source_content_type":"text/x-python","patch_set":7,"id":"baa201ad_99e69f15","line":328,"in_reply_to":"baa201ad_f602580a","updated":"2014-09-29 06:32:08.000000000","message":"dang, missed one. ;)","commit_id":"82bc0d87ea59aedc2e82b7667c88610e05e395bb"}]}
