)]}'
{"neutron_lib/api/extensions.py":[{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"8af81b7afcfebe0da1205183b7072daa38d130f1","unresolved":false,"context_lines":[{"line_number":114,"context_line":"        \"\"\""},{"line_number":115,"context_line":"        return []"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def update_attributes_map(self, extended_attributes,"},{"line_number":118,"context_line":"                              extension_attrs_map\u003dNone):"},{"line_number":119,"context_line":"        \"\"\"Update attributes map for this extension."},{"line_number":120,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_d20ae620","line":117,"range":{"start_line":117,"start_character":8,"end_line":117,"end_character":29},"updated":"2016-10-25 12:26:07.000000000","message":"IMO this method has enough logic to warrant a unit test.","commit_id":"e496f783a3c6e5c0397ecd547cb9bc6798976569"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"a15287738bfafffecae4af2a563b0f158171ae5d","unresolved":false,"context_lines":[{"line_number":114,"context_line":"        \"\"\""},{"line_number":115,"context_line":"        return []"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def update_attributes_map(self, extended_attributes,"},{"line_number":118,"context_line":"                              extension_attrs_map\u003dNone):"},{"line_number":119,"context_line":"        \"\"\"Update attributes map for this extension."},{"line_number":120,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_cb394843","line":117,"range":{"start_line":117,"start_character":8,"end_line":117,"end_character":29},"in_reply_to":"da6895a0_d20ae620","updated":"2016-10-25 18:04:05.000000000","message":"Added a couple of unit tests.","commit_id":"e496f783a3c6e5c0397ecd547cb9bc6798976569"},{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"8af81b7afcfebe0da1205183b7072daa38d130f1","unresolved":false,"context_lines":[{"line_number":129,"context_line":"        if not extension_attrs_map:"},{"line_number":130,"context_line":"            return"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        for resource, attrs in six.iteritems(extension_attrs_map):"},{"line_number":133,"context_line":"            extended_attrs \u003d extended_attributes.get(resource)"},{"line_number":134,"context_line":"            if extended_attrs:"},{"line_number":135,"context_line":"                attrs.update(extended_attrs)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_37095432","line":132,"range":{"start_line":132,"start_character":31,"end_line":132,"end_character":44},"updated":"2016-10-25 12:26:07.000000000","message":"Nit: couldn\u0027t we just use extension_attrs_map.items() ?","commit_id":"e496f783a3c6e5c0397ecd547cb9bc6798976569"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"a15287738bfafffecae4af2a563b0f158171ae5d","unresolved":false,"context_lines":[{"line_number":129,"context_line":"        if not extension_attrs_map:"},{"line_number":130,"context_line":"            return"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        for resource, attrs in six.iteritems(extension_attrs_map):"},{"line_number":133,"context_line":"            extended_attrs \u003d extended_attributes.get(resource)"},{"line_number":134,"context_line":"            if extended_attrs:"},{"line_number":135,"context_line":"                attrs.update(extended_attrs)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_ab36d44f","line":132,"range":{"start_line":132,"start_character":31,"end_line":132,"end_character":44},"in_reply_to":"da6895a0_37095432","updated":"2016-10-25 18:04:05.000000000","message":"Done.","commit_id":"e496f783a3c6e5c0397ecd547cb9bc6798976569"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"77990f72028992638e4741dd6313c84796bc3b3a","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        Resources define new nouns, and are accessible through URLs."},{"line_number":57,"context_line":"        \"\"\""},{"line_number":58,"context_line":"        resources \u003d []"},{"line_number":59,"context_line":"        return resources"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def get_actions(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_3bb15190","line":58,"updated":"2016-10-30 08:29:00.000000000","message":"why not return [] not clear why we need the local var","commit_id":"9df3d40a2d520fbaf17c9fd287707f57fbea4e92"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"0ddce9d57e4cc9869c318b1ea9dc3b6864fcfcc0","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        Resources define new nouns, and are accessible through URLs."},{"line_number":57,"context_line":"        \"\"\""},{"line_number":58,"context_line":"        resources \u003d []"},{"line_number":59,"context_line":"        return resources"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def get_actions(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_741f166c","line":58,"in_reply_to":"ba5da102_3bb15190","updated":"2016-11-01 21:33:50.000000000","message":"Done","commit_id":"9df3d40a2d520fbaf17c9fd287707f57fbea4e92"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"77990f72028992638e4741dd6313c84796bc3b3a","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        Actions are verbs callable from the API."},{"line_number":65,"context_line":"        \"\"\""},{"line_number":66,"context_line":"        actions \u003d []"},{"line_number":67,"context_line":"        return actions"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    def get_request_extensions(self):"},{"line_number":70,"context_line":"        \"\"\"List of extensions.RequestException extension objects."}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_5bac4535","line":67,"updated":"2016-10-30 08:29:00.000000000","message":"why not return [] not clear why we need the local var","commit_id":"9df3d40a2d520fbaf17c9fd287707f57fbea4e92"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"0ddce9d57e4cc9869c318b1ea9dc3b6864fcfcc0","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        Actions are verbs callable from the API."},{"line_number":65,"context_line":"        \"\"\""},{"line_number":66,"context_line":"        actions \u003d []"},{"line_number":67,"context_line":"        return actions"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    def get_request_extensions(self):"},{"line_number":70,"context_line":"        \"\"\"List of extensions.RequestException extension objects."}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_94102a5b","line":67,"in_reply_to":"ba5da102_5bac4535","updated":"2016-11-01 21:33:50.000000000","message":"Done","commit_id":"9df3d40a2d520fbaf17c9fd287707f57fbea4e92"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"77990f72028992638e4741dd6313c84796bc3b3a","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        Request extensions are used to handle custom request data."},{"line_number":73,"context_line":"        \"\"\""},{"line_number":74,"context_line":"        request_exts \u003d []"},{"line_number":75,"context_line":"        return request_exts"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def get_extended_resources(self, version):"},{"line_number":78,"context_line":"        \"\"\"Retrieve extended resources or attributes for core resources."}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_7babc91d","line":75,"updated":"2016-10-30 08:29:00.000000000","message":"why not return [] not clear why we need the local var","commit_id":"9df3d40a2d520fbaf17c9fd287707f57fbea4e92"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"0ddce9d57e4cc9869c318b1ea9dc3b6864fcfcc0","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        Request extensions are used to handle custom request data."},{"line_number":73,"context_line":"        \"\"\""},{"line_number":74,"context_line":"        request_exts \u003d []"},{"line_number":75,"context_line":"        return request_exts"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def get_extended_resources(self, version):"},{"line_number":78,"context_line":"        \"\"\"Retrieve extended resources or attributes for core resources."}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_b4152e4a","line":75,"in_reply_to":"ba5da102_7babc91d","updated":"2016-11-01 21:33:50.000000000","message":"Done","commit_id":"9df3d40a2d520fbaf17c9fd287707f57fbea4e92"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"77990f72028992638e4741dd6313c84796bc3b3a","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        The abstract class should inherit from extensions.PluginInterface,"},{"line_number":98,"context_line":"        Methods in this abstract class  should be decorated as abstractmethod"},{"line_number":99,"context_line":"        \"\"\""},{"line_number":100,"context_line":"        return None"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def get_required_extensions(self):"},{"line_number":103,"context_line":"        \"\"\"Returns a list of extensions to be processed before this one.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_9ba6dd51","line":100,"updated":"2016-10-30 08:29:00.000000000","message":"by default None is returned","commit_id":"9df3d40a2d520fbaf17c9fd287707f57fbea4e92"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"0ddce9d57e4cc9869c318b1ea9dc3b6864fcfcc0","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        The abstract class should inherit from extensions.PluginInterface,"},{"line_number":98,"context_line":"        Methods in this abstract class  should be decorated as abstractmethod"},{"line_number":99,"context_line":"        \"\"\""},{"line_number":100,"context_line":"        return None"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def get_required_extensions(self):"},{"line_number":103,"context_line":"        \"\"\"Returns a list of extensions to be processed before this one.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_d40e223a","line":100,"in_reply_to":"ba5da102_9ba6dd51","updated":"2016-11-01 21:33:50.000000000","message":"Done","commit_id":"9df3d40a2d520fbaf17c9fd287707f57fbea4e92"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"c4442e900a844141245dea6f477e901fa7bd01c9","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import abc"},{"line_number":17,"context_line":"import six"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"@six.add_metaclass(abc.ABCMeta)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba5da102_367f3f67","line":17,"updated":"2016-11-02 17:17:54.000000000","message":"Super-nit: six is a 3rd party lib and abc is a system lib, so the imports should be separated by a blank line.","commit_id":"bbd71c45c611af33a2bf038f1b9c97db38feada2"}]}
