)]}'
{"sushy_tools/emulator/resources/chassis/base.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"5a1c04fba0020fbc8602782c142231aabb232edd","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    \"\"\"Base class backing Redfish Chassis\"\"\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @classmethod"},{"line_number":27,"context_line":"    def initialize(cls, app):"},{"line_number":28,"context_line":"        cls._config \u003d app.config"},{"line_number":29,"context_line":"        cls._logger \u003d app.logger"},{"line_number":30,"context_line":"        return cls"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_537fee68","line":27,"range":{"start_line":27,"start_character":24,"end_line":27,"end_character":27},"updated":"2019-11-26 14:04:40.000000000","message":"It seems really awkward that a driver has access to a WSGI application. Let\u0027s better accept two arguments (which is how it\u0027s often done).","commit_id":"30df4770df402b90b244e5e15d227b449b889268"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"44b3b0b50b781af2bf2184efea61e30a99a1a712","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    \"\"\"Base class backing Redfish Chassis\"\"\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @classmethod"},{"line_number":27,"context_line":"    def initialize(cls, app):"},{"line_number":28,"context_line":"        cls._config \u003d app.config"},{"line_number":29,"context_line":"        cls._logger \u003d app.logger"},{"line_number":30,"context_line":"        return cls"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_8a32abf1","line":27,"range":{"start_line":27,"start_character":24,"end_line":27,"end_character":27},"in_reply_to":"3fa7e38b_13365604","updated":"2019-12-03 22:38:45.000000000","message":"I agree with Dmitry, plus changing the overall meaning of a positional argument seems wrong without a major rev. (Yes, 0.x series at present, but still.)","commit_id":"30df4770df402b90b244e5e15d227b449b889268"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"dba1880fcbfc2dbdeea20dc335f584ed4fda820a","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    \"\"\"Base class backing Redfish Chassis\"\"\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @classmethod"},{"line_number":27,"context_line":"    def initialize(cls, app):"},{"line_number":28,"context_line":"        cls._config \u003d app.config"},{"line_number":29,"context_line":"        cls._logger \u003d app.logger"},{"line_number":30,"context_line":"        return cls"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_988ba91c","line":27,"range":{"start_line":27,"start_character":24,"end_line":27,"end_character":27},"in_reply_to":"3fa7e38b_13365604","updated":"2020-01-03 13:06:01.000000000","message":"I do not quite see why...\n\nIf A is calling B.f(C) and that is not a violation of layers, is B calling C.f()  a violation of layers?\n\nTo me, it\u0027s all about interfaces agreement. For example, if `C` is agreed upon being a file object, it\u0027s totally common for the consumer (B) to access internals of C e.g. C.write.\n\nAlternatively, we could pass the consumer all the necessary internals e.g. B(C.read, C.write, C.close), which is obviously a way to go as well. It\u0027s probably the matter of balance - how many positionals is too many and the anticipation of further expansion of C surface. ;-)","commit_id":"30df4770df402b90b244e5e15d227b449b889268"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"5ed14793927b7b85f0f394ecaa0004c26f39afad","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    \"\"\"Base class backing Redfish Chassis\"\"\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @classmethod"},{"line_number":27,"context_line":"    def initialize(cls, app):"},{"line_number":28,"context_line":"        cls._config \u003d app.config"},{"line_number":29,"context_line":"        cls._logger \u003d app.logger"},{"line_number":30,"context_line":"        return cls"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_13365604","line":27,"range":{"start_line":27,"start_character":24,"end_line":27,"end_character":27},"in_reply_to":"3fa7e38b_335cb27c","updated":"2019-11-26 14:39:53.000000000","message":"Drivers calling back to the API layer seems a big violation of layers.","commit_id":"30df4770df402b90b244e5e15d227b449b889268"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"41b869abfc3d0cdc059ae3d0ca098291a94dec02","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    \"\"\"Base class backing Redfish Chassis\"\"\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @classmethod"},{"line_number":27,"context_line":"    def initialize(cls, app):"},{"line_number":28,"context_line":"        cls._config \u003d app.config"},{"line_number":29,"context_line":"        cls._logger \u003d app.logger"},{"line_number":30,"context_line":"        return cls"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_335cb27c","line":27,"range":{"start_line":27,"start_character":24,"end_line":27,"end_character":27},"in_reply_to":"3fa7e38b_537fee68","updated":"2019-11-26 14:29:33.000000000","message":"Well, the driver could then call back its WSGI app to find out something about the query or use the resources that are owned by WSGI app. In that light, I do not see this as outstandingly awkward.\n\nTwo args are OK for as long as it\u0027s not 3. Which is not impossible going forward.","commit_id":"30df4770df402b90b244e5e15d227b449b889268"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"dba1880fcbfc2dbdeea20dc335f584ed4fda820a","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    \"\"\"Base class backing Redfish Chassis\"\"\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @classmethod"},{"line_number":27,"context_line":"    def initialize(cls, app):"},{"line_number":28,"context_line":"        cls._config \u003d app.config"},{"line_number":29,"context_line":"        cls._logger \u003d app.logger"},{"line_number":30,"context_line":"        return cls"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_f8797d2f","line":27,"range":{"start_line":27,"start_character":24,"end_line":27,"end_character":27},"in_reply_to":"3fa7e38b_8a32abf1","updated":"2020-01-03 13:06:01.000000000","message":"Done","commit_id":"30df4770df402b90b244e5e15d227b449b889268"}],"sushy_tools/emulator/resources/drives/staticdriver.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"5a1c04fba0020fbc8602782c142231aabb232edd","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    @classmethod"},{"line_number":26,"context_line":"    def initialize(cls, app):"},{"line_number":27,"context_line":"        cls._config \u003d app.config"},{"line_number":28,"context_line":"        cls._logger \u003d app.logger"},{"line_number":29,"context_line":"        cls._drives \u003d cls._config.get(\u0027SUSHY_EMULATOR_DRIVES\u0027, {})"},{"line_number":30,"context_line":"        return cls"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_53e4ce42","line":28,"range":{"start_line":27,"start_character":0,"end_line":28,"end_character":32},"updated":"2019-11-26 14:04:40.000000000","message":"This should call super(DriverBase, cls).initialize(config, logger)","commit_id":"30df4770df402b90b244e5e15d227b449b889268"}],"sushy_tools/emulator/resources/indicators/staticdriver.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"5a1c04fba0020fbc8602782c142231aabb232edd","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    \"\"\""},{"line_number":27,"context_line":"    @classmethod"},{"line_number":28,"context_line":"    def initialize(cls, app):"},{"line_number":29,"context_line":"        cls._logger \u003d app.logger"},{"line_number":30,"context_line":"        cls._config \u003d app.config"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"        cls._indicators \u003d memoize.PersistentDict()"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_73e9ca17","line":30,"range":{"start_line":29,"start_character":0,"end_line":30,"end_character":32},"updated":"2019-11-26 14:04:40.000000000","message":"This should call super(DriverBase, cls).initialize(config, logger)","commit_id":"30df4770df402b90b244e5e15d227b449b889268"}],"sushy_tools/emulator/resources/managers/base.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"5a1c04fba0020fbc8602782c142231aabb232edd","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @classmethod"},{"line_number":27,"context_line":"    def initialize(cls, app):"},{"line_number":28,"context_line":"        cls._config \u003d app.config"},{"line_number":29,"context_line":"        cls._logger \u003d app.logger"},{"line_number":30,"context_line":"        return cls"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    @abc.abstractproperty"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_33f3520c","line":29,"range":{"start_line":28,"start_character":0,"end_line":29,"end_character":32},"updated":"2019-11-26 14:04:40.000000000","message":"ditto","commit_id":"30df4770df402b90b244e5e15d227b449b889268"}],"sushy_tools/emulator/resources/storage/staticdriver.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"5a1c04fba0020fbc8602782c142231aabb232edd","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    @classmethod"},{"line_number":26,"context_line":"    def initialize(cls, app):"},{"line_number":27,"context_line":"        cls._config \u003d app.config"},{"line_number":28,"context_line":"        cls._logger \u003d app.logger"},{"line_number":29,"context_line":"        cls._storage \u003d cls._config.get(\u0027SUSHY_EMULATOR_STORAGE\u0027, {})"},{"line_number":30,"context_line":"        return cls"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_d3d75e50","line":28,"range":{"start_line":27,"start_character":0,"end_line":28,"end_character":32},"updated":"2019-11-26 14:04:40.000000000","message":"ditto","commit_id":"30df4770df402b90b244e5e15d227b449b889268"}],"sushy_tools/emulator/resources/systems/libvirtdriver.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"5a1c04fba0020fbc8602782c142231aabb232edd","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    @classmethod"},{"line_number":148,"context_line":"    def initialize(cls, app, uri\u003dNone):"},{"line_number":149,"context_line":"        cls._config \u003d app.config"},{"line_number":150,"context_line":"        cls._logger \u003d app.logger"},{"line_number":151,"context_line":"        cls._uri \u003d uri or cls.LIBVIRT_URI"},{"line_number":152,"context_line":"        cls.BOOT_LOADER_MAP \u003d cls._config.get("},{"line_number":153,"context_line":"            \u0027SUSHY_EMULATOR_BOOT_LOADER_MAP\u0027, cls.BOOT_LOADER_MAP)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_93e1e62e","line":150,"range":{"start_line":149,"start_character":0,"end_line":150,"end_character":32},"updated":"2019-11-26 14:04:40.000000000","message":"ditto","commit_id":"30df4770df402b90b244e5e15d227b449b889268"}]}
