)]}'
{"glance_store/_drivers/filesystem.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"13a2c8866cf95be3613d256074acab421e38d5c0","unresolved":false,"context_lines":[{"line_number":699,"context_line":"                                                        prefix\u003dstr(image_id),"},{"line_number":700,"context_line":"                                                        dir\u003ddatadir)"},{"line_number":701,"context_line":"                temp_filepath \u003d temp_file.name"},{"line_number":702,"context_line":"                LOG.debug(_(\"Created temporary file %(temp_filepath)s to copy \""},{"line_number":703,"context_line":"                            \"image %(image_id)s.\"),"},{"line_number":704,"context_line":"                          dict(temp_filepath\u003dtemp_filepath,"},{"line_number":705,"context_line":"                               image_id\u003dstr(image_id)))"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_7cfc6db4","line":702,"range":{"start_line":702,"start_character":26,"end_line":702,"end_character":28},"updated":"2018-05-14 15:02:24.000000000","message":"Debug logs should not be translated.","commit_id":"91aafa0c71a05676e053a5fd13a456c62166cebf"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"13a2c8866cf95be3613d256074acab421e38d5c0","unresolved":false,"context_lines":[{"line_number":706,"context_line":""},{"line_number":707,"context_line":"                filepath \u003d temp_filepath"},{"line_number":708,"context_line":"            except Exception as e:"},{"line_number":709,"context_line":"                msg \u003d _(\"Error creating temporary file. Falling back to \""},{"line_number":710,"context_line":"                        \"writing image %(image_id)s without temporary \""},{"line_number":711,"context_line":"                        \"file: %(e)s\")"},{"line_number":712,"context_line":"                LOG.error(msg % dict(image_id\u003dstr(image_id),"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_fc295d36","line":709,"range":{"start_line":709,"start_character":22,"end_line":709,"end_character":24},"updated":"2018-05-14 15:02:24.000000000","message":"Only exception messages should be translated.","commit_id":"91aafa0c71a05676e053a5fd13a456c62166cebf"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"13a2c8866cf95be3613d256074acab421e38d5c0","unresolved":false,"context_lines":[{"line_number":709,"context_line":"                msg \u003d _(\"Error creating temporary file. Falling back to \""},{"line_number":710,"context_line":"                        \"writing image %(image_id)s without temporary \""},{"line_number":711,"context_line":"                        \"file: %(e)s\")"},{"line_number":712,"context_line":"                LOG.error(msg % dict(image_id\u003dstr(image_id),"},{"line_number":713,"context_line":"                                     e\u003dencodeutils.exception_to_unicode(e)))"},{"line_number":714,"context_line":""},{"line_number":715,"context_line":"                write_to_temp_file \u003d False"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_dcdb414c","line":712,"range":{"start_line":712,"start_character":30,"end_line":712,"end_character":32},"updated":"2018-05-14 15:02:24.000000000","message":"Change % to , so the formatting values are passed in as arguments to the logger. Then the logger can take care of formatting the string at the point it needs to.","commit_id":"91aafa0c71a05676e053a5fd13a456c62166cebf"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"13a2c8866cf95be3613d256074acab421e38d5c0","unresolved":false,"context_lines":[{"line_number":710,"context_line":"                        \"writing image %(image_id)s without temporary \""},{"line_number":711,"context_line":"                        \"file: %(e)s\")"},{"line_number":712,"context_line":"                LOG.error(msg % dict(image_id\u003dstr(image_id),"},{"line_number":713,"context_line":"                                     e\u003dencodeutils.exception_to_unicode(e)))"},{"line_number":714,"context_line":""},{"line_number":715,"context_line":"                write_to_temp_file \u003d False"},{"line_number":716,"context_line":"                filepath \u003d orig_filepath"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_dca90190","line":713,"updated":"2018-05-14 15:02:24.000000000","message":"LOG.exception could also be used instead of LOG.error. It\u0027s basically the same (both are at ERROR level) but LOG.exception will automatically log any exceptions that are in the current scope, so you would not need to format it into your log message.","commit_id":"91aafa0c71a05676e053a5fd13a456c62166cebf"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"13a2c8866cf95be3613d256074acab421e38d5c0","unresolved":false,"context_lines":[{"line_number":752,"context_line":"                    # NamedTemporaryFile() deletes the file when closed."},{"line_number":753,"context_line":"                    temp_file.close()"},{"line_number":754,"context_line":"                except Exception as e:"},{"line_number":755,"context_line":"                    msg \u003d _(\u0027Unable to remove temporary image file\u0027"},{"line_number":756,"context_line":"                            \u0027for image %(iid)s: %(e)s\u0027)"},{"line_number":757,"context_line":"                    LOG.error(msg %"},{"line_number":758,"context_line":"                              dict(iid\u003dstr(image_id),"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_5c9df163","line":755,"range":{"start_line":755,"start_character":26,"end_line":755,"end_character":27},"updated":"2018-05-14 15:02:24.000000000","message":"Remove _() translation.","commit_id":"91aafa0c71a05676e053a5fd13a456c62166cebf"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"13a2c8866cf95be3613d256074acab421e38d5c0","unresolved":false,"context_lines":[{"line_number":754,"context_line":"                except Exception as e:"},{"line_number":755,"context_line":"                    msg \u003d _(\u0027Unable to remove temporary image file\u0027"},{"line_number":756,"context_line":"                            \u0027for image %(iid)s: %(e)s\u0027)"},{"line_number":757,"context_line":"                    LOG.error(msg %"},{"line_number":758,"context_line":"                              dict(iid\u003dstr(image_id),"},{"line_number":759,"context_line":"                                   e\u003dencodeutils.exception_to_unicode(e)))"},{"line_number":760,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_1c8d3931","line":757,"range":{"start_line":757,"start_character":34,"end_line":757,"end_character":35},"updated":"2018-05-14 15:02:24.000000000","message":"% \u003e ,","commit_id":"91aafa0c71a05676e053a5fd13a456c62166cebf"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"13a2c8866cf95be3613d256074acab421e38d5c0","unresolved":false,"context_lines":[{"line_number":758,"context_line":"                              dict(iid\u003dstr(image_id),"},{"line_number":759,"context_line":"                                   e\u003dencodeutils.exception_to_unicode(e)))"},{"line_number":760,"context_line":""},{"line_number":761,"context_line":"            LOG.debug(_(\"Moved temporary image file %(temp_filepath)s to \""},{"line_number":762,"context_line":"                        \"%(orig_filepath)s\"),"},{"line_number":763,"context_line":"                      dict(temp_filepath\u003dtemp_filepath,"},{"line_number":764,"context_line":"                           orig_filepath\u003dorig_filepath))"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_dc826100","line":761,"range":{"start_line":761,"start_character":22,"end_line":761,"end_character":24},"updated":"2018-05-14 15:02:24.000000000","message":"Remove translation.","commit_id":"91aafa0c71a05676e053a5fd13a456c62166cebf"}],"glance_store/tests/unit/test_filesystem_store.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"13a2c8866cf95be3613d256074acab421e38d5c0","unresolved":false,"context_lines":[{"line_number":198,"context_line":"        verifier.update.assert_called_with(file_contents)"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    def test_add_with_write_to_temp_file(self):"},{"line_number":201,"context_line":"        \"\"\""},{"line_number":202,"context_line":"        Test that we can add an image via the filesystem backend when"},{"line_number":203,"context_line":"        write_to_temp_file is enabled."},{"line_number":204,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_5cc41140","line":201,"updated":"2018-05-14 15:02:24.000000000","message":"This is a nit, but docstrings should either just be one line, or a single line summary, followed by a blank line, then more details.","commit_id":"91aafa0c71a05676e053a5fd13a456c62166cebf"}]}
