)]}'
{"horizon/static/horizon/js/horizon.forms.js":[{"author":{"_account_id":9317,"name":"Ana Krivokapic","email":"akrivoka@redhat.com","username":"akrivoka"},"change_message_id":"9726aa403c061839977095abfc9b5f121c324958","unresolved":false,"context_lines":[{"line_number":23,"context_line":"      var $form \u003d $(this).closest(\u0027form\u0027);"},{"line_number":24,"context_line":"      var $volName \u003d $form.find(\u0027input#id_name\u0027);"},{"line_number":25,"context_line":"      if ($volName.is(\u0027:empty\u0027)) {"},{"line_number":26,"context_line":"        $volName.val($option.data(\"display_name\"));"},{"line_number":27,"context_line":"      }"},{"line_number":28,"context_line":"      var $volSize \u003d $form.find(\u0027input#id_size\u0027);"},{"line_number":29,"context_line":"      var volSize \u003d parseInt($volSize.val(), 10) || -1;"}],"source_content_type":"text/javascript","patch_set":1,"id":"AAAAUH%2F%2BpDQ%3D","line":26,"updated":"2014-01-23 16:32:48.000000000","message":"This is supposed to populate the volume name with the name of the source volume, only in case the volume name was not provided, right? It seems to be populating the field unconditionally though (replacing the volume name if it is filled in). I don\u0027t think that\u0027s the desired behavior.","commit_id":"a05248c891c62fc762f8f704714b67317c95ca89"},{"author":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"change_message_id":"26e48c810811604e82207fce8d1480180288274e","unresolved":false,"context_lines":[{"line_number":23,"context_line":"      var $form \u003d $(this).closest(\u0027form\u0027);"},{"line_number":24,"context_line":"      var $volName \u003d $form.find(\u0027input#id_name\u0027);"},{"line_number":25,"context_line":"      if ($volName.is(\u0027:empty\u0027)) {"},{"line_number":26,"context_line":"        $volName.val($option.data(\"display_name\"));"},{"line_number":27,"context_line":"      }"},{"line_number":28,"context_line":"      var $volSize \u003d $form.find(\u0027input#id_size\u0027);"},{"line_number":29,"context_line":"      var volSize \u003d parseInt($volSize.val(), 10) || -1;"}],"source_content_type":"text/javascript","patch_set":1,"id":"AAAAUH%2F%2BlAo%3D","line":26,"in_reply_to":"AAAAUH%2F%2BpDQ%3D","updated":"2014-01-24 09:15:14.000000000","message":"You\u0027re right, that\u0027s not a desired behaviour. Will need to check that.","commit_id":"a05248c891c62fc762f8f704714b67317c95ca89"}],"openstack_dashboard/dashboards/project/volumes/forms.py":[{"author":{"_account_id":9317,"name":"Ana Krivokapic","email":"akrivoka@redhat.com","username":"akrivoka"},"change_message_id":"9726aa403c061839977095abfc9b5f121c324958","unresolved":false,"context_lines":[{"line_number":144,"context_line":"            except Exception:"},{"line_number":145,"context_line":"                msg \u003d _(\u0027Unable to load the specified image. %s\u0027)"},{"line_number":146,"context_line":"                exceptions.handle(request, msg % request.GET[\u0027image_id\u0027])"},{"line_number":147,"context_line":"        elif (\u0027volume_id\u0027 in request.GET):"},{"line_number":148,"context_line":"            self.fields[\u0027availability_zone\u0027].choices \u003d \\"},{"line_number":149,"context_line":"                self.availability_zones(request)"},{"line_number":150,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2BpJk%3D","line":147,"updated":"2014-01-23 16:32:48.000000000","message":"Redundant parentheses","commit_id":"a05248c891c62fc762f8f704714b67317c95ca89"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"53f45f1035f61f607ea90cb837170928f4db2b78","unresolved":false,"context_lines":[{"line_number":150,"context_line":"            try:"},{"line_number":151,"context_line":"                volume \u003d self.get_volume(request,"},{"line_number":152,"context_line":"                                       request.GET[\"volume_id\"])"},{"line_number":153,"context_line":"                self.fields[\u0027name\u0027].initial \u003d volume.display_name"},{"line_number":154,"context_line":"                self.fields[\u0027description\u0027].initial \u003d volume.display_description"},{"line_number":155,"context_line":"                min_vol_size \u003d volume.size"},{"line_number":156,"context_line":"                size_help_text \u003d _(\u0027Volume size must be equal to or greater \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2BsCI%3D","line":153,"updated":"2014-01-23 06:57:36.000000000","message":"IMO, default volume name should not be same with the source one, we should use uniqe volume name even if cinder doesn\u0027t limit this.","commit_id":"a05248c891c62fc762f8f704714b67317c95ca89"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"73474786baae175d87888ee2f2f66044cf845529","unresolved":false,"context_lines":[{"line_number":150,"context_line":"            try:"},{"line_number":151,"context_line":"                volume \u003d self.get_volume(request,"},{"line_number":152,"context_line":"                                       request.GET[\"volume_id\"])"},{"line_number":153,"context_line":"                self.fields[\u0027name\u0027].initial \u003d volume.display_name"},{"line_number":154,"context_line":"                self.fields[\u0027description\u0027].initial \u003d volume.display_description"},{"line_number":155,"context_line":"                min_vol_size \u003d volume.size"},{"line_number":156,"context_line":"                size_help_text \u003d _(\u0027Volume size must be equal to or greater \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2BruU%3D","line":153,"in_reply_to":"AAAAUH%2F%2Br0g%3D","updated":"2014-01-23 08:15:14.000000000","message":"When creating a volume, the first step is to input the volume name, and the last is to\nchoose the source type. when someone input the volume name \u0027xxxx\u0027, and choose \nvolume source, then the name \u0027xxxx\u0027 will force changed to the source volume name, it\u0027s not reasonable and friendly.","commit_id":"a05248c891c62fc762f8f704714b67317c95ca89"},{"author":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"change_message_id":"26e48c810811604e82207fce8d1480180288274e","unresolved":false,"context_lines":[{"line_number":150,"context_line":"            try:"},{"line_number":151,"context_line":"                volume \u003d self.get_volume(request,"},{"line_number":152,"context_line":"                                       request.GET[\"volume_id\"])"},{"line_number":153,"context_line":"                self.fields[\u0027name\u0027].initial \u003d volume.display_name"},{"line_number":154,"context_line":"                self.fields[\u0027description\u0027].initial \u003d volume.display_description"},{"line_number":155,"context_line":"                min_vol_size \u003d volume.size"},{"line_number":156,"context_line":"                size_help_text \u003d _(\u0027Volume size must be equal to or greater \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2Bk4g%3D","line":153,"in_reply_to":"AAAAUH%2F%2BruU%3D","updated":"2014-01-24 09:15:14.000000000","message":"Hmm? I can not follow you, but I believe you were trying to say: the name for the new volume in the form is changed to the name of the old volume, regardless, what you were selecting, and it\u0027s being overwritten? \nThat\u0027s an issue with the javascript code, and has nothing to do with this static code here.\n\nI believe, that\u0027s bug https://bugs.launchpad.net/horizon/+bug/1272169","commit_id":"a05248c891c62fc762f8f704714b67317c95ca89"},{"author":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"change_message_id":"97fa6204981d623f5629aca9937994ae1dfa1fba","unresolved":false,"context_lines":[{"line_number":150,"context_line":"            try:"},{"line_number":151,"context_line":"                volume \u003d self.get_volume(request,"},{"line_number":152,"context_line":"                                       request.GET[\"volume_id\"])"},{"line_number":153,"context_line":"                self.fields[\u0027name\u0027].initial \u003d volume.display_name"},{"line_number":154,"context_line":"                self.fields[\u0027description\u0027].initial \u003d volume.display_description"},{"line_number":155,"context_line":"                min_vol_size \u003d volume.size"},{"line_number":156,"context_line":"                size_help_text \u003d _(\u0027Volume size must be equal to or greater \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2Br0g%3D","line":153,"in_reply_to":"AAAAUH%2F%2BsCI%3D","updated":"2014-01-23 07:47:16.000000000","message":"It\u0027s not an issue to have the same name, but we should provide a pre-definition.","commit_id":"a05248c891c62fc762f8f704714b67317c95ca89"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"53f45f1035f61f607ea90cb837170928f4db2b78","unresolved":false,"context_lines":[{"line_number":156,"context_line":"                size_help_text \u003d _(\u0027Volume size must be equal to or greater \u0027"},{"line_number":157,"context_line":"                                   \u0027than the origin volume size (%s)\u0027) \\"},{"line_number":158,"context_line":"                                 % filesizeformat(volume.size)"},{"line_number":159,"context_line":"                self.fields[\u0027size\u0027].initial \u003d min_vol_size"},{"line_number":160,"context_line":"                self.fields[\u0027size\u0027].help_text \u003d size_help_text"},{"line_number":161,"context_line":"                self.fields[\u0027volume_source\u0027].choices \u003d ((volume.id, volume),)"},{"line_number":162,"context_line":"                del self.fields[\u0027snapshot_source\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2Br%2FY%3D","line":159,"updated":"2014-01-23 06:57:36.000000000","message":"Perhaps volume type should get an initial value, and I find even if we don\u0027t set type \nhere, the new created volume will get a volume type same to the source one.  Then\nthere is another problem, we can\u0027t create a volume with none type.","commit_id":"a05248c891c62fc762f8f704714b67317c95ca89"},{"author":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"change_message_id":"97fa6204981d623f5629aca9937994ae1dfa1fba","unresolved":false,"context_lines":[{"line_number":156,"context_line":"                size_help_text \u003d _(\u0027Volume size must be equal to or greater \u0027"},{"line_number":157,"context_line":"                                   \u0027than the origin volume size (%s)\u0027) \\"},{"line_number":158,"context_line":"                                 % filesizeformat(volume.size)"},{"line_number":159,"context_line":"                self.fields[\u0027size\u0027].initial \u003d min_vol_size"},{"line_number":160,"context_line":"                self.fields[\u0027size\u0027].help_text \u003d size_help_text"},{"line_number":161,"context_line":"                self.fields[\u0027volume_source\u0027].choices \u003d ((volume.id, volume),)"},{"line_number":162,"context_line":"                del self.fields[\u0027snapshot_source\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2Br0A%3D","line":159,"in_reply_to":"AAAAUH%2F%2Br%2FY%3D","updated":"2014-01-23 07:47:16.000000000","message":"actually, you can have volumes with a type None. \nThe type is just a text field and does not say anything.","commit_id":"a05248c891c62fc762f8f704714b67317c95ca89"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"73474786baae175d87888ee2f2f66044cf845529","unresolved":false,"context_lines":[{"line_number":156,"context_line":"                size_help_text \u003d _(\u0027Volume size must be equal to or greater \u0027"},{"line_number":157,"context_line":"                                   \u0027than the origin volume size (%s)\u0027) \\"},{"line_number":158,"context_line":"                                 % filesizeformat(volume.size)"},{"line_number":159,"context_line":"                self.fields[\u0027size\u0027].initial \u003d min_vol_size"},{"line_number":160,"context_line":"                self.fields[\u0027size\u0027].help_text \u003d size_help_text"},{"line_number":161,"context_line":"                self.fields[\u0027volume_source\u0027].choices \u003d ((volume.id, volume),)"},{"line_number":162,"context_line":"                del self.fields[\u0027snapshot_source\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2Brtk%3D","line":159,"in_reply_to":"AAAAUH%2F%2Br0A%3D","updated":"2014-01-23 08:15:14.000000000","message":"The type is not just a text field and it can have extra spec keys like flavor.","commit_id":"a05248c891c62fc762f8f704714b67317c95ca89"},{"author":{"_account_id":9317,"name":"Ana Krivokapic","email":"akrivoka@redhat.com","username":"akrivoka"},"change_message_id":"9726aa403c061839977095abfc9b5f121c324958","unresolved":false,"context_lines":[{"line_number":164,"context_line":"                del self.fields[\u0027volume_source_type\u0027]"},{"line_number":165,"context_line":"            except Exception:"},{"line_number":166,"context_line":"                msg \u003d _(\u0027Unable to load the specified image. %s\u0027)"},{"line_number":167,"context_line":"                exceptions.handle(request, msg % request.GET[\u0027image_id\u0027])"},{"line_number":168,"context_line":"        else:"},{"line_number":169,"context_line":"            source_type_choices \u003d []"},{"line_number":170,"context_line":"            self.fields[\u0027availability_zone\u0027].choices \u003d \\"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2BpKU%3D","line":167,"updated":"2014-01-23 16:32:48.000000000","message":"The exception message needs to reference the volume, not image.\n\nAlso, could you move self.fields manipulation out of the try: block and put it in the else: block after except? It\u0027s much clearer if the try: block contains only the statements that can actually raise the exception.","commit_id":"a05248c891c62fc762f8f704714b67317c95ca89"},{"author":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"change_message_id":"26e48c810811604e82207fce8d1480180288274e","unresolved":false,"context_lines":[{"line_number":164,"context_line":"                del self.fields[\u0027volume_source_type\u0027]"},{"line_number":165,"context_line":"            except Exception:"},{"line_number":166,"context_line":"                msg \u003d _(\u0027Unable to load the specified image. %s\u0027)"},{"line_number":167,"context_line":"                exceptions.handle(request, msg % request.GET[\u0027image_id\u0027])"},{"line_number":168,"context_line":"        else:"},{"line_number":169,"context_line":"            source_type_choices \u003d []"},{"line_number":170,"context_line":"            self.fields[\u0027availability_zone\u0027].choices \u003d \\"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2Bko4%3D","line":167,"in_reply_to":"AAAAUH%2F%2BpKU%3D","updated":"2014-01-24 09:15:14.000000000","message":"It\u0027s consistent with the rest of that lengthy __init__ function and it\u0027s only set if volume can be fetched.\n\nWill change it, as I agree with you here.","commit_id":"a05248c891c62fc762f8f704714b67317c95ca89"},{"author":{"_account_id":9317,"name":"Ana Krivokapic","email":"akrivoka@redhat.com","username":"akrivoka"},"change_message_id":"9726aa403c061839977095abfc9b5f121c324958","unresolved":false,"context_lines":[{"line_number":303,"context_line":"                                       data[\"volume_source\"])"},{"line_number":304,"context_line":"                volume_id \u003d volume.id"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"                if (data[\u0027size\u0027] \u003c volume.size):"},{"line_number":307,"context_line":"                    error_message \u003d _(\u0027The volume size cannot be less than \u0027"},{"line_number":308,"context_line":"                        \u0027the volume size (%sGB)\u0027) % volume.size"},{"line_number":309,"context_line":"                    raise ValidationError(error_message)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2BpIc%3D","line":306,"updated":"2014-01-23 16:32:48.000000000","message":"Redundant parentheses","commit_id":"a05248c891c62fc762f8f704714b67317c95ca89"},{"author":{"_account_id":6914,"name":"Tatiana Ovchinnikova","email":"t.v.ovtchinnikova@gmail.com","username":"tmazur"},"change_message_id":"7bfa008d7dbde00bce3f08d84e25372e63784203","unresolved":false,"context_lines":[{"line_number":74,"context_line":"            transform\u003dlambda x: \"%s (%s)\" % (x.display_name,"},{"line_number":75,"context_line":"                                             filesizeformat("},{"line_number":76,"context_line":"                                                 x.size * 1024 * 1024 * 1024)"},{"line_number":77,"context_line":"                                             )),"},{"line_number":78,"context_line":"        required\u003dFalse)"},{"line_number":79,"context_line":"    availability_zone \u003d forms.ChoiceField("},{"line_number":80,"context_line":"        label\u003d_(\"Availability Zone\"),"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2BMG0%3D","line":77,"updated":"2014-01-29 09:23:30.000000000","message":"A suggestion:\n\n            transform\u003dlambda x: \"%s (%s)\" % (x.display_name,\n                filesizeformat(x.size * 1024 * 1024 * 1024))),\n\nlooks more readable.","commit_id":"6ed556f674b6a3b45ef3564a966e02407208869b"},{"author":{"_account_id":6914,"name":"Tatiana Ovchinnikova","email":"t.v.ovtchinnikova@gmail.com","username":"tmazur"},"change_message_id":"7bfa008d7dbde00bce3f08d84e25372e63784203","unresolved":false,"context_lines":[{"line_number":150,"context_line":"            volume \u003d None"},{"line_number":151,"context_line":"            try:"},{"line_number":152,"context_line":"                volume \u003d self.get_volume(request,"},{"line_number":153,"context_line":"                                       request.GET[\"volume_id\"])"},{"line_number":154,"context_line":"            except Exception:"},{"line_number":155,"context_line":"                msg \u003d _(\u0027Unable to load the specified volume. %s\u0027)"},{"line_number":156,"context_line":"                exceptions.handle(request, msg % request.GET[\u0027volume_id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2BMGM%3D","line":153,"updated":"2014-01-29 09:23:30.000000000","message":"Nit: it fits in one line.","commit_id":"6ed556f674b6a3b45ef3564a966e02407208869b"},{"author":{"_account_id":6914,"name":"Tatiana Ovchinnikova","email":"t.v.ovtchinnikova@gmail.com","username":"tmazur"},"change_message_id":"7bfa008d7dbde00bce3f08d84e25372e63784203","unresolved":false,"context_lines":[{"line_number":255,"context_line":"            volume_list \u003d cinder.volume_list(self.request)"},{"line_number":256,"context_line":"            if volume_list is not None:"},{"line_number":257,"context_line":"                volumes \u003d [v for v in volume_list"},{"line_number":258,"context_line":"                       if v.status \u003d\u003d api.cinder.VOLUME_STATE_AVAILABLE]"},{"line_number":259,"context_line":"        except Exception:"},{"line_number":260,"context_line":"            exceptions.handle(request,"},{"line_number":261,"context_line":"                              _(\u0027Unable to retrieve list of volumes.\u0027))"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2BMGE%3D","line":258,"updated":"2014-01-29 09:23:30.000000000","message":"Please consider:\n\nvolumes \u003d [v for v in volume_list\n\t   if v.status \u003d\u003d api.cinder.VOLUME_STATE_AVAILABLE]","commit_id":"6ed556f674b6a3b45ef3564a966e02407208869b"},{"author":{"_account_id":6914,"name":"Tatiana Ovchinnikova","email":"t.v.ovtchinnikova@gmail.com","username":"tmazur"},"change_message_id":"7bfa008d7dbde00bce3f08d84e25372e63784203","unresolved":false,"context_lines":[{"line_number":304,"context_line":"                  source_type in [None, \u0027volume_source\u0027]):"},{"line_number":305,"context_line":"                # Create from volume"},{"line_number":306,"context_line":"                volume \u003d self.get_volume(request,"},{"line_number":307,"context_line":"                                       data[\"volume_source\"])"},{"line_number":308,"context_line":"                volume_id \u003d volume.id"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"                if data[\u0027size\u0027] \u003c volume.size:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2BMFY%3D","line":307,"updated":"2014-01-29 09:23:30.000000000","message":"Nit: it fits in one line.","commit_id":"6ed556f674b6a3b45ef3564a966e02407208869b"}],"openstack_dashboard/dashboards/project/volumes/tests.py":[{"author":{"_account_id":6914,"name":"Tatiana Ovchinnikova","email":"t.v.ovtchinnikova@gmail.com","username":"tmazur"},"change_message_id":"7bfa008d7dbde00bce3f08d84e25372e63784203","unresolved":false,"context_lines":[{"line_number":233,"context_line":"                       \u0027gigabytesUsed\u0027: 20,"},{"line_number":234,"context_line":"                       \u0027volumesUsed\u0027: len(self.volumes.list()),"},{"line_number":235,"context_line":"                       \u0027maxTotalVolumes\u0027: 6}"},{"line_number":236,"context_line":"        #snapshot \u003d self.volume_snapshots.first()"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"        formData \u003d {\u0027name\u0027: u\u0027A copy of a volume\u0027,"},{"line_number":239,"context_line":"                    \u0027description\u0027: u\u0027This is a volume I am making for a test.\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2BME4%3D","line":236,"updated":"2014-01-29 09:23:30.000000000","message":"Are L#230, L#231 and L#236 necessary?","commit_id":"6ed556f674b6a3b45ef3564a966e02407208869b"},{"author":{"_account_id":6914,"name":"Tatiana Ovchinnikova","email":"t.v.ovtchinnikova@gmail.com","username":"tmazur"},"change_message_id":"7bfa008d7dbde00bce3f08d84e25372e63784203","unresolved":false,"context_lines":[{"line_number":248,"context_line":"        cinder.volume_type_list(IsA(http.HttpRequest)).\\"},{"line_number":249,"context_line":"                                AndReturn(self.volume_types.list())"},{"line_number":250,"context_line":"        cinder.volume_snapshot_list(IsA(http.HttpRequest)).\\"},{"line_number":251,"context_line":"                                 AndReturn(self.volume_snapshots.list())"},{"line_number":252,"context_line":"        quotas.tenant_limit_usages(IsA(http.HttpRequest)).\\"},{"line_number":253,"context_line":"                                AndReturn(usage_limit)"},{"line_number":254,"context_line":"        cinder.volume_get(IsA(http.HttpRequest),"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2BME0%3D","line":251,"updated":"2014-01-29 09:23:30.000000000","message":"Strange indentation.","commit_id":"6ed556f674b6a3b45ef3564a966e02407208869b"},{"author":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"change_message_id":"8d06ffbd6bbf2a073c872cc0876fe190a0aab48e","unresolved":false,"context_lines":[{"line_number":248,"context_line":"        cinder.volume_type_list(IsA(http.HttpRequest)).\\"},{"line_number":249,"context_line":"                                AndReturn(self.volume_types.list())"},{"line_number":250,"context_line":"        cinder.volume_snapshot_list(IsA(http.HttpRequest)).\\"},{"line_number":251,"context_line":"                                 AndReturn(self.volume_snapshots.list())"},{"line_number":252,"context_line":"        quotas.tenant_limit_usages(IsA(http.HttpRequest)).\\"},{"line_number":253,"context_line":"                                AndReturn(usage_limit)"},{"line_number":254,"context_line":"        cinder.volume_get(IsA(http.HttpRequest),"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2BL5o%3D","line":251,"in_reply_to":"AAAAUH%2F%2BME0%3D","updated":"2014-01-29 10:10:52.000000000","message":"Ah yes, a space too much here.","commit_id":"6ed556f674b6a3b45ef3564a966e02407208869b"},{"author":{"_account_id":6914,"name":"Tatiana Ovchinnikova","email":"t.v.ovtchinnikova@gmail.com","username":"tmazur"},"change_message_id":"7bfa008d7dbde00bce3f08d84e25372e63784203","unresolved":false,"context_lines":[{"line_number":250,"context_line":"        cinder.volume_snapshot_list(IsA(http.HttpRequest)).\\"},{"line_number":251,"context_line":"                                 AndReturn(self.volume_snapshots.list())"},{"line_number":252,"context_line":"        quotas.tenant_limit_usages(IsA(http.HttpRequest)).\\"},{"line_number":253,"context_line":"                                AndReturn(usage_limit)"},{"line_number":254,"context_line":"        cinder.volume_get(IsA(http.HttpRequest),"},{"line_number":255,"context_line":"                          volume.id).AndReturn(self.volumes.first())"},{"line_number":256,"context_line":"        cinder.extension_supported(IsA(http.HttpRequest),"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2BMEs%3D","line":253,"updated":"2014-01-29 09:23:30.000000000","message":"ditto","commit_id":"6ed556f674b6a3b45ef3564a966e02407208869b"}]}
