)]}'
{"gnocchi/rest/__init__.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"40e656f4f0781789c5fa7504a7ebc738e82b17b5","unresolved":false,"context_lines":[{"line_number":844,"context_line":"            (image_type.name, \u0027/\u0027.join((pecan.request.application_url,"},{"line_number":845,"context_line":"                                        \u0027v1/resource\u0027,"},{"line_number":846,"context_line":"                                        image_type.name)))"},{"line_number":847,"context_line":"            for image_type in pkg_resources.iter_entry_points("},{"line_number":848,"context_line":"                group\u003d\u0027gnocchi.indexer.resources\u0027))"},{"line_number":849,"context_line":""},{"line_number":850,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da9b358b_e161d0a9","line":847,"updated":"2015-03-31 13:23:53.000000000","message":"So this is likely going to read the list from the entry points over and over again, which is slow…\n\nWould be better to load it once and for all. Also mapping it to the list above in that class might be better?","commit_id":"539bcf5f5678d6c14570b61816bc38d58c0822fc"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"88d82cc0cd12fe4da146021ef5178e116230e0e2","unresolved":false,"context_lines":[{"line_number":824,"context_line":""},{"line_number":825,"context_line":""},{"line_number":826,"context_line":"class ResourcesController(rest.RestController):"},{"line_number":827,"context_line":"    resources_type_and_url \u003d []"},{"line_number":828,"context_line":""},{"line_number":829,"context_line":"    def __init__(self):"},{"line_number":830,"context_line":"        resources \u003d extension.ExtensionManager(\u0027gnocchi.controller.resources\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da9b358b_d153146a","line":827,"updated":"2015-04-01 10:51:11.000000000","message":"This is wrong\n\n\n  \n\u003e\u003e\u003e class A(object):\n...     x \u003d []\n...     def __init__(self):\n...             self.x.append(42)\n...\n\u003e\u003e\u003e A()\n\u003c__main__.A object at 0x102b5d890\u003e\n\u003e\u003e\u003e A.x\n[42]\n\u003e\u003e\u003e A()\n\u003c__main__.A object at 0x102b5d890\u003e\n\u003e\u003e\u003e A.x\n[42, 42]","commit_id":"bb3619967bf0c31c1c30a3e323ed1fda6b6fedd7"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"6fdb0e4fe87e1e87c09343dce10d95549a217c5f","unresolved":false,"context_lines":[{"line_number":824,"context_line":""},{"line_number":825,"context_line":""},{"line_number":826,"context_line":"class ResourcesController(rest.RestController):"},{"line_number":827,"context_line":"    resources_type_and_url \u003d []"},{"line_number":828,"context_line":""},{"line_number":829,"context_line":"    def __init__(self):"},{"line_number":830,"context_line":"        resources \u003d extension.ExtensionManager(\u0027gnocchi.controller.resources\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da9b358b_94b9fa17","line":827,"in_reply_to":"da9b358b_d153146a","updated":"2015-04-01 11:31:00.000000000","message":"Per process how many instances of each controller class is __init__ with pecan? I though it was just one?\n\n/me checks\n\nIt appears to be just once.","commit_id":"bb3619967bf0c31c1c30a3e323ed1fda6b6fedd7"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"a3e09503f9ad381d740ea8ac473a4d87d85e8894","unresolved":false,"context_lines":[{"line_number":824,"context_line":""},{"line_number":825,"context_line":""},{"line_number":826,"context_line":"class ResourcesController(rest.RestController):"},{"line_number":827,"context_line":"    resources_type_and_url \u003d {}"},{"line_number":828,"context_line":""},{"line_number":829,"context_line":"    def __init__(self):"},{"line_number":830,"context_line":"        resources \u003d extension.ExtensionManager(\u0027gnocchi.controller.resources\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da9b358b_eb1f3d06","line":827,"updated":"2015-04-01 13:09:00.000000000","message":"So if you want to use a class attribute, you need to fill it at import time, i.e. not doing at __init__ but when the file here is loaded. I think that\u0027s good enough for us.\n\nOtherwise you need to have a per instance resources_types_and_url","commit_id":"fa8e14ae45b1f588a031ad16af1b0f8e839b7e53"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"82a625806265093c926464eede3075298a8d58f2","unresolved":false,"context_lines":[{"line_number":832,"context_line":"    def __init__(self):"},{"line_number":833,"context_line":"        for resource_type, resource_class in ("},{"line_number":834,"context_line":"                self.resources_class_by_type.items()):"},{"line_number":835,"context_line":"            setattr(self, resource_type, resource_class())"},{"line_number":836,"context_line":""},{"line_number":837,"context_line":"    @pecan.expose(\u0027json\u0027)"},{"line_number":838,"context_line":"    def index(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"baa041b7_c35748c9","line":835,"updated":"2015-04-01 13:48:46.000000000","message":"There\u0027s no need to do that for each instance. You can do it for the whole class once and for all like it used to be.","commit_id":"79ea36e576f21771f9c5017e2035da228a5d6bb3"}]}
