)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"55e359de761828cdf5d60100aea94bec85455f22","unresolved":false,"context_lines":[{"line_number":15,"context_line":"webob.exc.HTTPError"},{"line_number":16,"context_line":"ValueError"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"This is because not initialized variable \u0027image\u0027 used as argument of "},{"line_number":19,"context_line":"method _restore. That is why we should initialize it."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Closes-Bug: #1310952"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1ae5cdf2_04aa9870","line":18,"updated":"2014-06-12 01:33:54.000000000","message":"leftover ws","commit_id":"bbb56619c23f70abc92539848401f3d5d77d01f4"}],"glance/api/v2/image_data.py":[{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"d090d4f3ce0b6ab7e09cfecd53d5c5ee7d5ec18d","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        image_repo \u003d self.gateway.get_repo(req.context)"},{"line_number":64,"context_line":"        image \u003d None"},{"line_number":65,"context_line":"        try:"},{"line_number":66,"context_line":"            image \u003d image_repo.get(image_id)"},{"line_number":67,"context_line":"            image.status \u003d \u0027saving\u0027"},{"line_number":68,"context_line":"            try:"},{"line_number":69,"context_line":"                image_repo.save(image)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_46e8687c","line":66,"updated":"2014-06-17 21:11:20.000000000","message":"image_repo.get should raise NotFound if the image does not exist. In which case are you getting unassigned variable image\u0027 ? The underlying cause seems more of a bug to me.","commit_id":"8241aef9291ba554f891da2d994c4b0795ef8002"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"0d96bf281e8eb0cf4895245e492caeaeec50f56f","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        image_repo \u003d self.gateway.get_repo(req.context)"},{"line_number":64,"context_line":"        image \u003d None"},{"line_number":65,"context_line":"        try:"},{"line_number":66,"context_line":"            image \u003d image_repo.get(image_id)"},{"line_number":67,"context_line":"            image.status \u003d \u0027saving\u0027"},{"line_number":68,"context_line":"            try:"},{"line_number":69,"context_line":"                image_repo.save(image)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_aca741a6","line":66,"in_reply_to":"1ae5cdf2_46e8687c","updated":"2014-06-18 03:39:47.000000000","message":"IMO, even NotFound handling (line #108) doesn\u0027t need \u0027image\u0027 var as necessary but other paths still need it, so anyway we need adding line #64. Am I miss anything?","commit_id":"8241aef9291ba554f891da2d994c4b0795ef8002"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"408ce337434d2a9a5364e17c88cbf6855f5fdf3c","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        image_repo \u003d self.gateway.get_repo(req.context)"},{"line_number":64,"context_line":"        image \u003d None"},{"line_number":65,"context_line":"        try:"},{"line_number":66,"context_line":"            image \u003d image_repo.get(image_id)"},{"line_number":67,"context_line":"            image.status \u003d \u0027saving\u0027"},{"line_number":68,"context_line":"            try:"},{"line_number":69,"context_line":"                image_repo.save(image)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_839a0b12","line":66,"in_reply_to":"1ae5cdf2_6a1959d0","updated":"2014-06-19 16:06:18.000000000","message":"You\u0027r right! oops\n\nThanks for confirmation!","commit_id":"8241aef9291ba554f891da2d994c4b0795ef8002"},{"author":{"_account_id":9569,"name":"Sergey Nikitin","email":"nikitinserv@gmail.com","username":"snikitin"},"change_message_id":"b9b209a87ac35ba25df730dd51c39c6238f6310b","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        image_repo \u003d self.gateway.get_repo(req.context)"},{"line_number":64,"context_line":"        image \u003d None"},{"line_number":65,"context_line":"        try:"},{"line_number":66,"context_line":"            image \u003d image_repo.get(image_id)"},{"line_number":67,"context_line":"            image.status \u003d \u0027saving\u0027"},{"line_number":68,"context_line":"            try:"},{"line_number":69,"context_line":"                image_repo.save(image)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_6a1959d0","line":66,"in_reply_to":"1ae5cdf2_9dc45161","updated":"2014-06-19 12:11:19.000000000","message":"If I am no mistaken if image \u003d\u003d None, condition in line#53 will be False and execution of method _restore will be completed. Line#58 wouldn\u0027t barf because it will be skipped.","commit_id":"8241aef9291ba554f891da2d994c4b0795ef8002"},{"author":{"_account_id":9569,"name":"Sergey Nikitin","email":"nikitinserv@gmail.com","username":"snikitin"},"change_message_id":"c2c9c1f547b99d9a879804e8e820cf9b16101628","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        image_repo \u003d self.gateway.get_repo(req.context)"},{"line_number":64,"context_line":"        image \u003d None"},{"line_number":65,"context_line":"        try:"},{"line_number":66,"context_line":"            image \u003d image_repo.get(image_id)"},{"line_number":67,"context_line":"            image.status \u003d \u0027saving\u0027"},{"line_number":68,"context_line":"            try:"},{"line_number":69,"context_line":"                image_repo.save(image)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_c1336b11","line":66,"in_reply_to":"1ae5cdf2_aca741a6","updated":"2014-06-18 10:38:41.000000000","message":"You are right.","commit_id":"8241aef9291ba554f891da2d994c4b0795ef8002"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"66ecca5ed80ee3b010545834fcbab04350ae0dc7","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        image_repo \u003d self.gateway.get_repo(req.context)"},{"line_number":64,"context_line":"        image \u003d None"},{"line_number":65,"context_line":"        try:"},{"line_number":66,"context_line":"            image \u003d image_repo.get(image_id)"},{"line_number":67,"context_line":"            image.status \u003d \u0027saving\u0027"},{"line_number":68,"context_line":"            try:"},{"line_number":69,"context_line":"                image_repo.save(image)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_9dc45161","line":66,"in_reply_to":"1ae5cdf2_c1336b11","updated":"2014-06-18 17:12:45.000000000","message":"Oh, I\u0027m sorry overlooked a bit on what the issue seemed intuitively.\n\nTrying better this time:-\n\nSeems like the variable \"image\" is being used in the except clauses for passing into the self._restore method calls. If image \u003d\u003d None, the code in line#58 would barf. Hope that helped!","commit_id":"8241aef9291ba554f891da2d994c4b0795ef8002"}]}
