)]}'
{"glance/api/v1/images.py":[{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"9411f1429521b645933d48b8953dcfbd7a8b5977","unresolved":false,"context_lines":[{"line_number":1094,"context_line":"        result[\u0027image_data\u0027] \u003d data"},{"line_number":1095,"context_line":"        return result"},{"line_number":1096,"context_line":""},{"line_number":1097,"context_line":"    def create(self, request):"},{"line_number":1098,"context_line":"        return self._deserialize(request)"},{"line_number":1099,"context_line":""},{"line_number":1100,"context_line":"    def update(self, request):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2F0Yc%3D","line":1097,"updated":"2014-01-08 04:43:17.000000000","message":"I prefer to fix this issue from glance.common.utils.get_image_meta_from_headers() approach, two advantage points to me:\n\n1. it will be better if we do the similar image meta paramater checkings all at the same place, for example on image size case: https://github.com/openstack/glance/blob/master/glance/common/utils.py#L266\n\n2. For all image meta parameter illegal issues, we will always use an unified exception: exception.InvalidParameterValue\n\nA related change https://review.openstack.org/#/c/64079/ can be used to your reference.","commit_id":"5ab4710f94567bd7daa972b5639cc3000caaba34"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"5655e12ebe72fde295b3cfefc53d5fe5309b0645","unresolved":false,"context_lines":[{"line_number":1094,"context_line":"        result[\u0027image_data\u0027] \u003d data"},{"line_number":1095,"context_line":"        return result"},{"line_number":1096,"context_line":""},{"line_number":1097,"context_line":"    def create(self, request):"},{"line_number":1098,"context_line":"        return self._deserialize(request)"},{"line_number":1099,"context_line":""},{"line_number":1100,"context_line":"    def update(self, request):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2F0FA%3D","line":1097,"in_reply_to":"AAAAUH%2F%2F0Yc%3D","updated":"2014-01-08 06:36:18.000000000","message":"+1","commit_id":"5ab4710f94567bd7daa972b5639cc3000caaba34"}],"glance/api/v2/images.py":[{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"9411f1429521b645933d48b8953dcfbd7a8b5977","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        self.gateway \u003d glance.gateway.Gateway(self.db_api, self.store_api,"},{"line_number":50,"context_line":"                                              self.notifier, self.policy)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def validate_metadata_changes(self, image_meta):"},{"line_number":53,"context_line":"        _positive_properties \u003d [\u0027min_disk\u0027, \u0027min_ram\u0027]"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        for meta, value in image_meta.iteritems():"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2F0Xo%3D","line":52,"updated":"2014-01-08 04:43:17.000000000","message":"I prefer do this checking in image domain object:\n\nFor example: https://github.com/openstack/glance/blob/master/glance/domain/__init__.py#L148","commit_id":"5ab4710f94567bd7daa972b5639cc3000caaba34"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"5655e12ebe72fde295b3cfefc53d5fe5309b0645","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        self.gateway \u003d glance.gateway.Gateway(self.db_api, self.store_api,"},{"line_number":50,"context_line":"                                              self.notifier, self.policy)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def validate_metadata_changes(self, image_meta):"},{"line_number":53,"context_line":"        _positive_properties \u003d [\u0027min_disk\u0027, \u0027min_ram\u0027]"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        for meta, value in image_meta.iteritems():"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2F0FM%3D","line":52,"in_reply_to":"AAAAUH%2F%2F0Xo%3D","updated":"2014-01-08 06:36:18.000000000","message":"+1","commit_id":"5ab4710f94567bd7daa972b5639cc3000caaba34"}],"glance/common/utils.py":[{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"8b6e3014fca8546826223454415ebafce6590f39","unresolved":false,"context_lines":[{"line_number":261,"context_line":"                result[key] \u003d int(result[key])"},{"line_number":262,"context_line":"            except ValueError:"},{"line_number":263,"context_line":"                extra \u003d (_(\"Cannot convert image %s \u0027%s\u0027 to an integer.\")"},{"line_number":264,"context_line":"                         % (key, result[key]))"},{"line_number":265,"context_line":"                raise exception.InvalidParameterValue(value\u003dresult[key],"},{"line_number":266,"context_line":"                                                      param\u003dkey,"},{"line_number":267,"context_line":"                                                      extra_msg\u003dextra)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FkGs%3D","line":264,"updated":"2014-01-11 02:34:09.000000000","message":"Nit: I prefer using dict here.","commit_id":"267fdfda18bdb334dc819864eb329ee84e221379"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"f946d4305c4aaca32670a023cfa3b69f39b7cee3","unresolved":false,"context_lines":[{"line_number":261,"context_line":"                result[key] \u003d int(result[key])"},{"line_number":262,"context_line":"            except ValueError:"},{"line_number":263,"context_line":"                extra \u003d (_(\"Cannot convert image %s \u0027%s\u0027 to an integer.\")"},{"line_number":264,"context_line":"                         % (key, result[key]))"},{"line_number":265,"context_line":"                raise exception.InvalidParameterValue(value\u003dresult[key],"},{"line_number":266,"context_line":"                                                      param\u003dkey,"},{"line_number":267,"context_line":"                                                      extra_msg\u003dextra)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FkDE%3D","line":264,"in_reply_to":"AAAAUH%2F%2FkDw%3D","updated":"2014-01-11 03:19:24.000000000","message":"extra \u003d (_(\"Cannot convert image %(key)s \u0027%(value)s\u0027 to an integer.\") % {\u0027key\u0027: key, \u0027value\u0027: result[key]})","commit_id":"267fdfda18bdb334dc819864eb329ee84e221379"},{"author":{"_account_id":9410,"name":"Yanis Guenane","email":"yguenane@redhat.com","username":"yguenane"},"change_message_id":"f28a147ecee43a91df32931f9d918a67f3ada7fd","unresolved":false,"context_lines":[{"line_number":261,"context_line":"                result[key] \u003d int(result[key])"},{"line_number":262,"context_line":"            except ValueError:"},{"line_number":263,"context_line":"                extra \u003d (_(\"Cannot convert image %s \u0027%s\u0027 to an integer.\")"},{"line_number":264,"context_line":"                         % (key, result[key]))"},{"line_number":265,"context_line":"                raise exception.InvalidParameterValue(value\u003dresult[key],"},{"line_number":266,"context_line":"                                                      param\u003dkey,"},{"line_number":267,"context_line":"                                                      extra_msg\u003dextra)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FkDw%3D","line":264,"in_reply_to":"AAAAUH%2F%2FkGs%3D","updated":"2014-01-11 03:15:39.000000000","message":"What do you mean by *using the dict* ?\nHow should value be retrieved ?","commit_id":"267fdfda18bdb334dc819864eb329ee84e221379"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"8b6e3014fca8546826223454415ebafce6590f39","unresolved":false,"context_lines":[{"line_number":267,"context_line":"                                                      extra_msg\u003dextra)"},{"line_number":268,"context_line":"            if result[key] \u003c 0:"},{"line_number":269,"context_line":"                extra \u003d (_(\"Image %s must be \u003e\u003d 0 (\u0027%s\u0027 specified).\")"},{"line_number":270,"context_line":"                         % (key, result[key]))"},{"line_number":271,"context_line":"                raise exception.InvalidParameterValue(value\u003dresult[key],"},{"line_number":272,"context_line":"                                                      param\u003dkey,"},{"line_number":273,"context_line":"                                                      extra_msg\u003dextra)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FkGo%3D","line":270,"updated":"2014-01-11 02:34:09.000000000","message":"Ditto","commit_id":"267fdfda18bdb334dc819864eb329ee84e221379"}],"glance/domain/__init__.py":[{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"8b6e3014fca8546826223454415ebafce6590f39","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    @min_disk.setter"},{"line_number":189,"context_line":"    def min_disk(self, value):"},{"line_number":190,"context_line":"        if value \u003c 0 and value is not None:"},{"line_number":191,"context_line":"            extra_msg \u003d \u0027Cannot be a negative value\u0027"},{"line_number":192,"context_line":"            raise exception.InvalidParameterValue(value\u003dvalue,"},{"line_number":193,"context_line":"                                                  param\u003d\u0027min_disk\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FkGg%3D","line":190,"updated":"2014-01-11 02:34:09.000000000","message":"What about: if value and value \u003c 0:  ?","commit_id":"267fdfda18bdb334dc819864eb329ee84e221379"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"8b6e3014fca8546826223454415ebafce6590f39","unresolved":false,"context_lines":[{"line_number":200,"context_line":""},{"line_number":201,"context_line":"    @min_ram.setter"},{"line_number":202,"context_line":"    def min_ram(self, value):"},{"line_number":203,"context_line":"        if value \u003c 0 and value is not None:"},{"line_number":204,"context_line":"            extra_msg \u003d \u0027Cannot be a negative value\u0027"},{"line_number":205,"context_line":"            raise exception.InvalidParameterValue(value\u003dvalue,"},{"line_number":206,"context_line":"                                                  param\u003d\u0027min_ram\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FkGY%3D","line":203,"updated":"2014-01-11 02:34:09.000000000","message":"Ditto","commit_id":"267fdfda18bdb334dc819864eb329ee84e221379"}],"glance/tests/unit/v2/test_images_resource.py":[{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"8b6e3014fca8546826223454415ebafce6590f39","unresolved":false,"context_lines":[{"line_number":586,"context_line":"        request \u003d unit_test_utils.get_fake_request()"},{"line_number":587,"context_line":"        image \u003d {\u0027min_ram\u0027: -42, \u0027name\u0027: \u0027image-1\u0027}"},{"line_number":588,"context_line":"        self.assertRaises(webob.exc.HTTPBadRequest,"},{"line_number":589,"context_line":"                          self.controller.create, request,"},{"line_number":590,"context_line":"                          image\u003dimage,"},{"line_number":591,"context_line":"                          extra_properties\u003d{},"},{"line_number":592,"context_line":"                          tags\u003d[])"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FkF0%3D","line":589,"updated":"2014-01-11 02:34:09.000000000","message":"It will be better if we also test image updating part.","commit_id":"267fdfda18bdb334dc819864eb329ee84e221379"}]}
