)]}'
{"gnocchi/indexer/sqlalchemy.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"253a870df91d4c724e0bd7cd7bb17228d111055f","unresolved":false,"context_lines":[{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    def get_entity(self, uuid, details\u003dFalse):"},{"line_number":254,"context_line":"        session \u003d self.engine_facade.get_session()"},{"line_number":255,"context_line":"        if details is False:"},{"line_number":256,"context_line":"            entity \u003d session.query(Entity).get(uuid)"},{"line_number":257,"context_line":"        else:"},{"line_number":258,"context_line":"            entity, archive_policy \u003d session.query("}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_5782b1c8","line":255,"updated":"2014-11-14 11:01:54.000000000","message":"nitpick, but I\u0027d prefer to have:\n\n  if details:\n\ni.e. start with positive and simplest case/condition possible","commit_id":"61dd0694c3aa32ca5498669b6ec2fd7cb8d82f0e"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"8229cd1287be2e2505d590a86f05bebeb86edc3a","unresolved":false,"context_lines":[{"line_number":258,"context_line":"            entity, archive_policy \u003d session.query("},{"line_number":259,"context_line":"                Entity, ArchivePolicy).filter("},{"line_number":260,"context_line":"                    Entity.id \u003d\u003d uuid).filter("},{"line_number":261,"context_line":"                        ArchivePolicy.name \u003d\u003d Entity.archive_policy).first()"},{"line_number":262,"context_line":"            entity[\u0027archive_policy\u0027] \u003d self._resource_to_dict(archive_policy)"},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"        if entity:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_976fb92a","line":261,"updated":"2014-11-14 10:58:52.000000000","message":"This would be an implicit join, amiright?\n\nWould that be more efficient that simply querying the (presumably very small) archive_policy table separately to pull in the archive policy details?","commit_id":"61dd0694c3aa32ca5498669b6ec2fd7cb8d82f0e"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"00f8d7b01bb3146e7d25a999496256f3507f1a8f","unresolved":false,"context_lines":[{"line_number":258,"context_line":"            entity, archive_policy \u003d session.query("},{"line_number":259,"context_line":"                Entity, ArchivePolicy).filter("},{"line_number":260,"context_line":"                    Entity.id \u003d\u003d uuid).filter("},{"line_number":261,"context_line":"                        ArchivePolicy.name \u003d\u003d Entity.archive_policy).first()"},{"line_number":262,"context_line":"            entity[\u0027archive_policy\u0027] \u003d self._resource_to_dict(archive_policy)"},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"        if entity:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_5711d15b","line":261,"in_reply_to":"5a890539_976fb92a","updated":"2014-11-14 11:04:36.000000000","message":"I\u0027d doubt it\u0027d be, and it\u0027s filtered before, so I\u0027m ok with that.","commit_id":"61dd0694c3aa32ca5498669b6ec2fd7cb8d82f0e"}],"gnocchi/rest/__init__.py":[{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"4056f0c8e8e4702b8f58644fb9da25526b1914ef","unresolved":false,"context_lines":[{"line_number":239,"context_line":"    @pecan.expose(\u0027json\u0027)"},{"line_number":240,"context_line":"    def get_all(self, **kwargs):"},{"line_number":241,"context_line":"        details \u003d get_details(kwargs)"},{"line_number":242,"context_line":"        entity \u003d pecan.request.indexer.get_entity(self.entity_id,"},{"line_number":243,"context_line":"                                                  details\u003ddetails)"},{"line_number":244,"context_line":"        if not entity:"},{"line_number":245,"context_line":"            pecan.abort(404, storage.EntityDoesNotExist(self.entity_id))"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_8dfbf477","line":242,"updated":"2014-11-17 13:09:01.000000000","message":"Could you clarify why you have exchange get_resource with get_entity method?","commit_id":"8a37cabc70cce02ee30a6f6b00b5a8d3d708a3bf"},{"author":{"_account_id":12022,"name":"Romain Soufflet","email":"romain@soufflet.io","username":"Gentux"},"change_message_id":"00fa311c1e8263ea1918c59346c412093afa53b0","unresolved":false,"context_lines":[{"line_number":239,"context_line":"    @pecan.expose(\u0027json\u0027)"},{"line_number":240,"context_line":"    def get_all(self, **kwargs):"},{"line_number":241,"context_line":"        details \u003d get_details(kwargs)"},{"line_number":242,"context_line":"        entity \u003d pecan.request.indexer.get_entity(self.entity_id,"},{"line_number":243,"context_line":"                                                  details\u003ddetails)"},{"line_number":244,"context_line":"        if not entity:"},{"line_number":245,"context_line":"            pecan.abort(404, storage.EntityDoesNotExist(self.entity_id))"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_0878d28e","line":242,"in_reply_to":"5a890539_8dfbf477","updated":"2014-11-17 13:28:33.000000000","message":"\"get_resource\" is a generic method to get all kind of resources\n I needed a single request  to get \u0027entity\u0027 and the corresponding archive policy definition.\nSo I choose to implement \"get_entity\" the same way as \"get_archive_policy\" to make this request.","commit_id":"8a37cabc70cce02ee30a6f6b00b5a8d3d708a3bf"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"5eba605c88478b5c6fe71072f9ef6c0d23b8d396","unresolved":false,"context_lines":[{"line_number":239,"context_line":"    @pecan.expose(\u0027json\u0027)"},{"line_number":240,"context_line":"    def get_all(self, **kwargs):"},{"line_number":241,"context_line":"        details \u003d get_details(kwargs)"},{"line_number":242,"context_line":"        entity \u003d pecan.request.indexer.get_entity(self.entity_id,"},{"line_number":243,"context_line":"                                                  details\u003ddetails)"},{"line_number":244,"context_line":"        if not entity:"},{"line_number":245,"context_line":"            pecan.abort(404, storage.EntityDoesNotExist(self.entity_id))"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_48cadaa1","line":242,"in_reply_to":"5a890539_8dfbf477","updated":"2014-11-17 13:28:51.000000000","message":"It seems obvious, it has details parameter. :)","commit_id":"8a37cabc70cce02ee30a6f6b00b5a8d3d708a3bf"}],"gnocchi/tests/test_indexer.py":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"bdbda923620974ecf043cb609d6404c9eac9e124","unresolved":false,"context_lines":[{"line_number":536,"context_line":""},{"line_number":537,"context_line":"    def test_get_entity(self):"},{"line_number":538,"context_line":"        uid \u003d uuid.uuid4()"},{"line_number":539,"context_line":"        self.assertIsNone(self.index.get_entity(uid))"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_1209e5dd","line":539,"updated":"2014-11-17 13:48:21.000000000","message":"Don\u0027t we need a more positive test case also?\n\n(i.e. exercising the path when the entity requested actually exists)","commit_id":"8a37cabc70cce02ee30a6f6b00b5a8d3d708a3bf"}]}
