)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"7dc9fe6aa03829eb2557528a7f74066fbce7c74d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add cache support for release dates"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- Also clean up use of internal data structures"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I45b9d5a0f3d63bf7bcfb39b3200442f68112bf97"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1f493fa4_93edb0f1","line":9,"range":{"start_line":9,"start_character":2,"end_line":9,"end_character":47},"updated":"2020-04-22 05:55:35.000000000","message":"where is that done? I\u0027m missing something, could you point me to the file/line, please?","commit_id":"c862a74cf537a1beb4ff910db0128156c5fa1abd"},{"author":{"_account_id":31872,"name":"Niraj Tolia","email":"ntolia@gmail.com","username":"ntolia"},"change_message_id":"d465949f2a4ff3bad9e7d4265f9e1a87c85d5927","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add cache support for release dates"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- Also clean up use of internal data structures"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I45b9d5a0f3d63bf7bcfb39b3200442f68112bf97"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1f493fa4_73cf447f","line":9,"range":{"start_line":9,"start_character":2,"end_line":9,"end_character":47},"in_reply_to":"1f493fa4_93edb0f1","updated":"2020-04-22 05:59:12.000000000","message":"Sorry, I meant the use of _\u003cvar\u003e across boundaries in the previous patch.","commit_id":"c862a74cf537a1beb4ff910db0128156c5fa1abd"}],"reno/formatter.py":[{"author":{"_account_id":31872,"name":"Niraj Tolia","email":"ntolia@gmail.com","username":"ntolia"},"change_message_id":"67220901e48bdbecbf392a6142e45ad9dc260ab6","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                and loader._scanner is not None"},{"line_number":78,"context_line":"                and version in loader._scanner._repo._tags_to_dates.keys()):"},{"line_number":79,"context_line":"            date \u003d datetime.fromtimestamp("},{"line_number":80,"context_line":"                loader._scanner._repo._tags_to_dates[version])"},{"line_number":81,"context_line":"            report.append(\u0027Release Date: \u0027 + date.strftime(\"%Y-%m-%d\"))"},{"line_number":82,"context_line":"            report.append(\u0027\u0027)"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1f493fa4_b3ac2c8d","side":"PARENT","line":80,"updated":"2020-04-22 06:07:00.000000000","message":"Andreas: Cleaned up this line.","commit_id":"b51591b4f39b8a3feae89303bca61288e2d6ead6"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"cc18a41ed88e555d336a92c68207b052bd71361d","unresolved":false,"context_lines":[{"line_number":10,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"# under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"from datetime import datetime"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"def _indent_for_list(text, prefix\u003d\u0027  \u0027):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f493fa4_85a53c07","line":13,"updated":"2020-04-23 16:46:00.000000000","message":"pep8: F401 \u0027datetime.datetime\u0027 imported but unused","commit_id":"890219af751441937b4c1c304269872ced389384"}],"reno/loader.py":[{"author":{"_account_id":31872,"name":"Niraj Tolia","email":"ntolia@gmail.com","username":"ntolia"},"change_message_id":"7dd65de8c1961fa941b1402d70eabb0d065cac2b","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        else:"},{"line_number":86,"context_line":"            self._scanner \u003d scanner.Scanner(self._config)"},{"line_number":87,"context_line":"            self._scanner_output \u003d self._scanner.get_notes_by_version()"},{"line_number":88,"context_line":"            self._tags_to_dates \u003d self._scanner.get_version_dates()"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    @property"},{"line_number":91,"context_line":"    def versions(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f493fa4_00694d24","line":88,"updated":"2020-04-21 20:58:04.000000000","message":"The only thing to point out is that this call depends on get_notes_by_version() being called earlier.","commit_id":"3861255374719df241f4d99c8265fa7fb7bea517"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"269e8ffea0d9b9a99e0b9b03e1439b3ec8dafa60","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import yaml"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from datetime import datetime"},{"line_number":20,"context_line":"from reno import scanner"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f493fa4_330f7ce2","line":19,"updated":"2020-04-22 05:50:06.000000000","message":"datetime is standard library, so should be below collections","commit_id":"c862a74cf537a1beb4ff910db0128156c5fa1abd"},{"author":{"_account_id":31872,"name":"Niraj Tolia","email":"ntolia@gmail.com","username":"ntolia"},"change_message_id":"91ea348ea414d5c0445383695b13a6d35c38a0a5","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import yaml"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from datetime import datetime"},{"line_number":20,"context_line":"from reno import scanner"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f493fa4_b3f0accb","line":19,"in_reply_to":"1f493fa4_330f7ce2","updated":"2020-04-22 05:55:41.000000000","message":"Done","commit_id":"c862a74cf537a1beb4ff910db0128156c5fa1abd"}],"reno/scanner.py":[{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"7dc9fe6aa03829eb2557528a7f74066fbce7c74d","unresolved":false,"context_lines":[{"line_number":922,"context_line":""},{"line_number":923,"context_line":"    def get_version_dates(self):"},{"line_number":924,"context_line":"        \"Return a dict mapping versions to dates.\""},{"line_number":925,"context_line":"        if self._repo._tags_to_dates is not None:"},{"line_number":926,"context_line":"            return self._repo._tags_to_dates.copy()"},{"line_number":927,"context_line":"        return {}"},{"line_number":928,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1f493fa4_d3d73823","line":925,"range":{"start_line":925,"start_character":23,"end_line":925,"end_character":37},"updated":"2020-04-22 05:55:35.000000000","message":"this returns internal data from another class - that looks like an API violation, I\u0027d like to see that done cleaner","commit_id":"c862a74cf537a1beb4ff910db0128156c5fa1abd"},{"author":{"_account_id":31872,"name":"Niraj Tolia","email":"ntolia@gmail.com","username":"ntolia"},"change_message_id":"d465949f2a4ff3bad9e7d4265f9e1a87c85d5927","unresolved":false,"context_lines":[{"line_number":922,"context_line":""},{"line_number":923,"context_line":"    def get_version_dates(self):"},{"line_number":924,"context_line":"        \"Return a dict mapping versions to dates.\""},{"line_number":925,"context_line":"        if self._repo._tags_to_dates is not None:"},{"line_number":926,"context_line":"            return self._repo._tags_to_dates.copy()"},{"line_number":927,"context_line":"        return {}"},{"line_number":928,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1f493fa4_73946445","line":925,"range":{"start_line":925,"start_character":23,"end_line":925,"end_character":37},"in_reply_to":"1f493fa4_d3d73823","updated":"2020-04-22 05:59:12.000000000","message":"Technically a bit better than the previous version and RenoRepo is defined above in the same file. Happy to include a helper function above but what would you prefer? Happy to iterate.","commit_id":"c862a74cf537a1beb4ff910db0128156c5fa1abd"}]}
