)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":27582,"name":"Simon Westphahl","email":"simon.westphahl@bmw.de","username":"simon.westphahl"},"change_message_id":"ea82cbd25a7ff8851e5d11da4cc3c47e991cb3d1","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cleanup local builds without .d folder"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When using a custom image build tool the .d folder does not exists and the"},{"line_number":10,"context_line":"cleanup of those local builds is skipped."},{"line_number":11,"context_line":"For these reason we should not relei on the .d folder, instead we should look"},{"line_number":12,"context_line":"on all create images files and determinate the local builds based on these."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"00473f0e_f9763c32","line":9,"updated":"2022-10-06 05:32:14.000000000","message":"I think it would make sense to add a regression test for this.","commit_id":"bfa3634cfb4b6d71cfc8d821a47d21469225605f"},{"author":{"_account_id":28088,"name":"Benedikt Löffler","email":"benedikt.loeffler@bmw.de","username":"bloeffler"},"change_message_id":"8e3e8e75c9fc991fe710b1a22f6ac190d115cc04","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cleanup local builds without .d folder"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When using a custom image build tool the .d folder does not exists and the"},{"line_number":10,"context_line":"cleanup of those local builds is skipped."},{"line_number":11,"context_line":"For these reason we should not relei on the .d folder, instead we should look"},{"line_number":12,"context_line":"on all create images files and determinate the local builds based on these."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"b264fa2c_40422f54","line":9,"in_reply_to":"00473f0e_f9763c32","updated":"2022-10-06 14:54:47.000000000","message":"Done","commit_id":"bfa3634cfb4b6d71cfc8d821a47d21469225605f"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":28088,"name":"Benedikt Löffler","email":"benedikt.loeffler@bmw.de","username":"bloeffler"},"change_message_id":"0a214e9608b4ce3ff127666959033d4ba05a71cf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"25102546_a1175796","updated":"2022-10-06 13:21:10.000000000","message":"recheck","commit_id":"e5e1c5acec6fb18766a28f42ee8fd61d19b717ff"},{"author":{"_account_id":28088,"name":"Benedikt Löffler","email":"benedikt.loeffler@bmw.de","username":"bloeffler"},"change_message_id":"ed82728385f7a2b7d6e332685ae72fcbc2d1c371","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1c75b731_060a2017","updated":"2022-10-14 07:22:40.000000000","message":"recheck","commit_id":"44c708dd2682cb4dee9d1b84207a6ca8d9deaf55"},{"author":{"_account_id":27582,"name":"Simon Westphahl","email":"simon.westphahl@bmw.de","username":"simon.westphahl"},"change_message_id":"e33789217c57087f708f237cb5af13d36b704b8e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"fc8f0dd2_0842cc0e","updated":"2022-10-20 07:25:29.000000000","message":"recheck","commit_id":"44c708dd2682cb4dee9d1b84207a6ca8d9deaf55"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"c9bacbdf79686f1cf6934439d48145ddeb4d1a53","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"c99cc2ec_7dfee1c3","updated":"2022-10-19 22:20:10.000000000","message":"recheck the base images should be working now.","commit_id":"44c708dd2682cb4dee9d1b84207a6ca8d9deaf55"}],"nodepool/builder.py":[{"author":{"_account_id":27582,"name":"Simon Westphahl","email":"simon.westphahl@bmw.de","username":"simon.westphahl"},"change_message_id":"ea82cbd25a7ff8851e5d11da4cc3c47e991cb3d1","unresolved":true,"context_lines":[{"line_number":395,"context_line":"    def _getLocalBuilds(self):"},{"line_number":396,"context_line":"        local_builds \u003d {}"},{"line_number":397,"context_line":"        for entry in os.scandir(self._config.images_dir):"},{"line_number":398,"context_line":"            m \u003d self.LOCAL_BUILDS_RE.match(entry)"},{"line_number":399,"context_line":"            if m:"},{"line_number":400,"context_line":"                image_name, build_id, _ \u003d m.groups()"},{"line_number":401,"context_line":"                build_ids \u003d local_builds.setdefault(image_name, [])"}],"source_content_type":"text/x-python","patch_set":2,"id":"0f0da5e2_8ce4393e","line":398,"updated":"2022-10-06 05:32:14.000000000","message":"You need to match on `entry.name`","commit_id":"bfa3634cfb4b6d71cfc8d821a47d21469225605f"},{"author":{"_account_id":28088,"name":"Benedikt Löffler","email":"benedikt.loeffler@bmw.de","username":"bloeffler"},"change_message_id":"8e3e8e75c9fc991fe710b1a22f6ac190d115cc04","unresolved":false,"context_lines":[{"line_number":395,"context_line":"    def _getLocalBuilds(self):"},{"line_number":396,"context_line":"        local_builds \u003d {}"},{"line_number":397,"context_line":"        for entry in os.scandir(self._config.images_dir):"},{"line_number":398,"context_line":"            m \u003d self.LOCAL_BUILDS_RE.match(entry)"},{"line_number":399,"context_line":"            if m:"},{"line_number":400,"context_line":"                image_name, build_id, _ \u003d m.groups()"},{"line_number":401,"context_line":"                build_ids \u003d local_builds.setdefault(image_name, [])"}],"source_content_type":"text/x-python","patch_set":2,"id":"fd17b7d9_08bc8595","line":398,"in_reply_to":"0f0da5e2_8ce4393e","updated":"2022-10-06 14:54:47.000000000","message":"Done","commit_id":"bfa3634cfb4b6d71cfc8d821a47d21469225605f"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"02bd236df9a0951d41e77b23d45908f4b480ae80","unresolved":false,"context_lines":[{"line_number":390,"context_line":"                self.log.exception(\"Exception cleaning up local build %s:\","},{"line_number":391,"context_line":"                                   local_build)"},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"    LOCAL_BUILDS_RE \u003d re.compile(r\u0027^(.*)-(\\d+)\\.(\\w+)$\u0027)"},{"line_number":394,"context_line":""},{"line_number":395,"context_line":"    def _getLocalBuilds(self):"},{"line_number":396,"context_line":"        local_builds \u003d {}"}],"source_content_type":"text/x-python","patch_set":5,"id":"dec6a492_76983459","line":393,"updated":"2022-10-12 21:19:06.000000000","message":"You can change the last group to \"(?:\\w+)\" which makes it a non-capturing group.  Then you can omit the _ below.","commit_id":"e5e1c5acec6fb18766a28f42ee8fd61d19b717ff"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"02bd236df9a0951d41e77b23d45908f4b480ae80","unresolved":false,"context_lines":[{"line_number":405,"context_line":""},{"line_number":406,"context_line":"        for image_name, build_ids in local_builds.items():"},{"line_number":407,"context_line":"            for build_id in build_ids:"},{"line_number":408,"context_line":"                yield (image_name, build_id)"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"    def _emitBuildRequestStats(self):"},{"line_number":411,"context_line":"        \u0027\u0027\u0027Emit general build request stats"}],"source_content_type":"text/x-python","patch_set":5,"id":"600865fc_fb07ab3f","line":408,"updated":"2022-10-12 21:19:06.000000000","message":"This is getting pretty close to a \"style nit\" which we don\u0027t normally go for in code review, but I think this can be simplified in a way that makes it much easier to maintain, so I hope you\u0027ll indulge me.  If you do this (i\u0027m abbreviating some things slightly and assuming the regex change above):\n\nseen \u003d set()\nfor entry in scandir:\n  m \u003d match(entry.name)\n  if m:\n    name_and_id \u003d m.groups()\n    if name_and_id in seen: continue\n    seen.add(name_and_id)\n    yield name_and_id","commit_id":"e5e1c5acec6fb18766a28f42ee8fd61d19b717ff"}]}
