)]}'
{"gnocchi/storage/_carbonara.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"33f3afb5ab4df3842e28a5cf792f50361ccb00ea","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                self._store_metric_measures(metric, aggregation,"},{"line_number":105,"context_line":"                                            archive.serialize())"},{"line_number":106,"context_line":"        except Exception as e:"},{"line_number":107,"context_line":"            raise"},{"line_number":108,"context_line":"            exceptions.put(e)"},{"line_number":109,"context_line":"            return"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_04f6b5d8","line":107,"updated":"2014-12-05 16:11:14.000000000","message":"?","commit_id":"d5802e8669b7a395252acb26b43b0554e2167722"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"60cafe423743a4afec667cd1a812aa55cb1bf2da","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                self._store_metric_measures(metric, aggregation,"},{"line_number":105,"context_line":"                                            archive.serialize())"},{"line_number":106,"context_line":"        except Exception as e:"},{"line_number":107,"context_line":"            raise"},{"line_number":108,"context_line":"            exceptions.put(e)"},{"line_number":109,"context_line":"            return"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_9d33d812","line":107,"in_reply_to":"5a890539_04f6b5d8","updated":"2014-12-05 17:32:19.000000000","message":"Oups, done","commit_id":"d5802e8669b7a395252acb26b43b0554e2167722"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"33f3afb5ab4df3842e28a5cf792f50361ccb00ea","unresolved":false,"context_lines":[{"line_number":116,"context_line":"        exceptions \u003d six.moves.queue.Queue()"},{"line_number":117,"context_line":"        for aggregation in self.aggregation_types:"},{"line_number":118,"context_line":"            self._add_measures(aggregation, metric, measures, exceptions)"},{"line_number":119,"context_line":"        return"},{"line_number":120,"context_line":"        if True:"},{"line_number":121,"context_line":"            t \u003d threading.Thread(target\u003dself._add_measures,"},{"line_number":122,"context_line":"                                 args\u003d(aggregation, metric,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_e411a905","line":119,"updated":"2014-12-05 16:11:14.000000000","message":"?","commit_id":"d5802e8669b7a395252acb26b43b0554e2167722"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"60cafe423743a4afec667cd1a812aa55cb1bf2da","unresolved":false,"context_lines":[{"line_number":116,"context_line":"        exceptions \u003d six.moves.queue.Queue()"},{"line_number":117,"context_line":"        for aggregation in self.aggregation_types:"},{"line_number":118,"context_line":"            self._add_measures(aggregation, metric, measures, exceptions)"},{"line_number":119,"context_line":"        return"},{"line_number":120,"context_line":"        if True:"},{"line_number":121,"context_line":"            t \u003d threading.Thread(target\u003dself._add_measures,"},{"line_number":122,"context_line":"                                 args\u003d(aggregation, metric,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_bd3894ef","line":119,"in_reply_to":"5a890539_e411a905","updated":"2014-12-05 17:32:19.000000000","message":"Oups, done","commit_id":"d5802e8669b7a395252acb26b43b0554e2167722"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"f7577dd5cb0cb82edc4d139c7eeb3a48aa2889a2","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class CarbonaraBasedStorageToozLockMixin(object):"},{"line_number":31,"context_line":"    def _create_coordinator(self):"},{"line_number":32,"context_line":"        self.coord \u003d coordination.get_coordinator("},{"line_number":33,"context_line":"            self.conf.coordination_url,"},{"line_number":34,"context_line":"            str(uuid.uuid4()).encode(\u0027ascii\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_78a63fc3","line":31,"updated":"2014-12-08 10:39:55.000000000","message":"do that at __init__","commit_id":"e684a1596ce9b624a6732bff042d0d19f8eba7fe"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"f4410b466ea60bcaf78598498cd3b4251515631a","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class CarbonaraBasedStorageToozLockMixin(object):"},{"line_number":31,"context_line":"    def _create_coordinator(self):"},{"line_number":32,"context_line":"        self.coord \u003d coordination.get_coordinator("},{"line_number":33,"context_line":"            self.conf.coordination_url,"},{"line_number":34,"context_line":"            str(uuid.uuid4()).encode(\u0027ascii\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_cf5da4eb","line":31,"in_reply_to":"3a961159_78a63fc3","updated":"2014-12-08 14:58:12.000000000","message":"I can\u0027t do that in __init__, because when we use Mixin in python and __init__ has arguments, python MRO won\u0027t work if __init__ methods have different signature and object for us have a __init__ empty\n\nTo have MRO and __init__ working we have to use __init__(self, *args, **kwargs) everywhere. And use only kwargs inside each classes..\n\nBut, I have an idea to refactor this to not use Mixin.","commit_id":"e684a1596ce9b624a6732bff042d0d19f8eba7fe"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"f7577dd5cb0cb82edc4d139c7eeb3a48aa2889a2","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def _get_lock_ctx(self, metric, aggregation):"},{"line_number":46,"context_line":"        if not hasattr(self, \u0027coord\u0027):"},{"line_number":47,"context_line":"            self._create_coordinator()"},{"line_number":48,"context_line":"        lock_name \u003d (b\"gnocchi-\" + metric.encode(\u0027ascii\u0027)"},{"line_number":49,"context_line":"                     + b\"-\" + aggregation.encode(\u0027ascii\u0027))"},{"line_number":50,"context_line":"        return self.coord.get_lock(lock_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_98abeb88","line":47,"updated":"2014-12-08 10:39:55.000000000","message":"Useless if you do that at __init__","commit_id":"e684a1596ce9b624a6732bff042d0d19f8eba7fe"}],"gnocchi/tests/base.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"33f3afb5ab4df3842e28a5cf792f50361ccb00ea","unresolved":false,"context_lines":[{"line_number":123,"context_line":"    def Rados(self, *args, **kwargs):"},{"line_number":124,"context_line":"        return FakeRadosModule.FakeRados(self.kvs)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    def run_in_thread(self, method, args):"},{"line_number":127,"context_line":"        return method(*args)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def make_ex(self, ret, reason):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_24e1f1fc","line":126,"updated":"2014-12-05 16:11:14.000000000","message":"@staticmethod","commit_id":"d5802e8669b7a395252acb26b43b0554e2167722"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"60cafe423743a4afec667cd1a812aa55cb1bf2da","unresolved":false,"context_lines":[{"line_number":123,"context_line":"    def Rados(self, *args, **kwargs):"},{"line_number":124,"context_line":"        return FakeRadosModule.FakeRados(self.kvs)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    def run_in_thread(self, method, args):"},{"line_number":127,"context_line":"        return method(*args)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def make_ex(self, ret, reason):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_1d58c856","line":126,"in_reply_to":"5a890539_24e1f1fc","updated":"2014-12-05 17:32:19.000000000","message":"Done","commit_id":"d5802e8669b7a395252acb26b43b0554e2167722"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"33f3afb5ab4df3842e28a5cf792f50361ccb00ea","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    def run_in_thread(self, method, args):"},{"line_number":127,"context_line":"        return method(*args)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def make_ex(self, ret, reason):"},{"line_number":130,"context_line":"        raise Exception(reason)"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_84b705f8","line":129,"updated":"2014-12-05 16:11:14.000000000","message":"@staticmethod","commit_id":"d5802e8669b7a395252acb26b43b0554e2167722"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"60cafe423743a4afec667cd1a812aa55cb1bf2da","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    def run_in_thread(self, method, args):"},{"line_number":127,"context_line":"        return method(*args)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def make_ex(self, ret, reason):"},{"line_number":130,"context_line":"        raise Exception(reason)"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_3d55841e","line":129,"in_reply_to":"5a890539_84b705f8","updated":"2014-12-05 17:32:19.000000000","message":"Done","commit_id":"d5802e8669b7a395252acb26b43b0554e2167722"}]}
