)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"6630b8b164974d9a1241cba1188ce53b356f1f32","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"8bc0d115_0d6e407f","updated":"2026-10-02 09:11:16.000000000","message":"need a release note","commit_id":"259e1a0291cb39c8ac83fbb88816446f8cf9edc0"}],"ironicclient/common/filecache.py":[{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"6630b8b164974d9a1241cba1188ce53b356f1f32","unresolved":true,"context_lines":[{"line_number":27,"context_line":"import platformdirs"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class _MutexLock(AbstractFileLock):"},{"line_number":31,"context_line":"    \"\"\"Threading-based lock for Windows (no fcntl required).\"\"\""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def __init__(self, filename):"}],"source_content_type":"text/x-python","patch_set":1,"id":"c73d8465_6ea2c349","line":30,"updated":"2026-10-02 09:11:16.000000000","message":"The docstring says this is for Windows, but line 90 passes it in as lock_factory on every platform.\nMaybe keep fcntl unless os.name \u003d\u003d \"nt\" ?","commit_id":"259e1a0291cb39c8ac83fbb88816446f8cf9edc0"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"6630b8b164974d9a1241cba1188ce53b356f1f32","unresolved":true,"context_lines":[{"line_number":87,"context_line":"            expiration_time\u003dexpiry_time,"},{"line_number":88,"context_line":"            arguments\u003d{"},{"line_number":89,"context_line":"                \"filename\": CACHE_FILENAME,"},{"line_number":90,"context_line":"                \"lock_factory\": _MutexLock,            }"},{"line_number":91,"context_line":"        )"},{"line_number":92,"context_line":"    return CACHE"},{"line_number":93,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"380623bd_96511364","line":90,"updated":"2026-10-02 09:11:16.000000000","message":"nit: move the graphs on its own line","commit_id":"259e1a0291cb39c8ac83fbb88816446f8cf9edc0"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"ddae05362c59b4702b8f01dd722b2951b914f1c5","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from typing import cast"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"import dogpile.cache"},{"line_number":26,"context_line":"from dogpile.cache.backends.file import AbstractFileLock, FileLock"},{"line_number":27,"context_line":"import platformdirs"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"a1619fc1_9ff9ea59","line":26,"updated":"2026-10-02 14:56:42.000000000","message":"pep8: H301: one import per line","commit_id":"2e4048d5270aae1e8bb16fdb0d81c2154da74796"}]}
