)]}'
{"monasca_api/common/repositories/sqla/sql_repository.py":[{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"4cf4fa4930750970f2c587fed59b2031039e64e6","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from oslo_config import cfg"},{"line_number":17,"context_line":"from oslo_log import log"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from sqlalchemy import MetaData"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from monasca_api.common.repositories import exceptions"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6eadb0_43e640b5","line":19,"updated":"2016-12-13 15:05:20.000000000","message":"Should import modules only, not classes. See, http://docs.openstack.org/developer/hacking/#imports","commit_id":"74da74220102d811b51b47bd87452f4a2199f60f"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"4cfedd8b91bcfcbdb37ba5ec36cc13457c000c1c","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from oslo_config import cfg"},{"line_number":17,"context_line":"from oslo_log import log"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from sqlalchemy import MetaData"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from monasca_api.common.repositories import exceptions"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6eadb0_8147544a","line":19,"in_reply_to":"1a6eadb0_43e640b5","updated":"2016-12-14 03:22:32.000000000","message":"Done","commit_id":"74da74220102d811b51b47bd87452f4a2199f60f"},{"author":{"_account_id":20033,"name":"Artur Basiak","email":"artur.basiak@ts.fujitsu.com","username":"abasiak"},"change_message_id":"cd06cc65f5b88d51300affcf45b0ed416d05ae49","unresolved":false,"context_lines":[{"line_number":55,"context_line":"                        del database_conf[\u0027url\u0027]"},{"line_number":56,"context_line":"                    url \u003d str(URL(**database_conf))"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"            from oslo_db.sqlalchemy.engines import create_engine"},{"line_number":59,"context_line":"            self._db_engine \u003d create_engine(url, **engine_args)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"            self.metadata \u003d MetaData()"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6eadb0_1203b443","line":58,"range":{"start_line":58,"start_character":12,"end_line":58,"end_character":64},"updated":"2016-12-13 13:41:07.000000000","message":"I think import should be at the top of the file.","commit_id":"74da74220102d811b51b47bd87452f4a2199f60f"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"4cfedd8b91bcfcbdb37ba5ec36cc13457c000c1c","unresolved":false,"context_lines":[{"line_number":55,"context_line":"                        del database_conf[\u0027url\u0027]"},{"line_number":56,"context_line":"                    url \u003d str(URL(**database_conf))"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"            from oslo_db.sqlalchemy.engines import create_engine"},{"line_number":59,"context_line":"            self._db_engine \u003d create_engine(url, **engine_args)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"            self.metadata \u003d MetaData()"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6eadb0_c1778c9d","line":58,"range":{"start_line":58,"start_character":12,"end_line":58,"end_character":64},"in_reply_to":"1a6eadb0_1203b443","updated":"2016-12-14 03:22:32.000000000","message":"Done","commit_id":"74da74220102d811b51b47bd87452f4a2199f60f"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"9f33da09a3ddb115d8ab76e3236446d5dd3a77a9","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"            self._db_engine \u003d get_engine(connection\u003durl)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"            self.metadata \u003d sqlalchemy.MetaData()"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        except Exception as ex:"},{"line_number":90,"context_line":"            LOG.exception(ex)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a3c09a3_bbbaa2df","line":87,"updated":"2017-01-16 05:26:19.000000000","message":"I am not a big expert (now :P) in oslo.db, but shouldn\u0027t you pass the engine as bind argument into the sqlalchemy.MetaData() ?","commit_id":"b52f2543373bda27e40eb0fd70dd69bc947e4c8b"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"3028d80ade4cb83fe694c6085a1af381261646f5","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"            self._db_engine \u003d get_engine(connection\u003durl)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"            self.metadata \u003d sqlalchemy.MetaData()"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        except Exception as ex:"},{"line_number":90,"context_line":"            LOG.exception(ex)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a3c09a3_fdadac84","line":87,"in_reply_to":"7a3c09a3_bbbaa2df","updated":"2017-01-17 14:56:43.000000000","message":"i\u0027m not sure either, i copied it from the original file.","commit_id":"b52f2543373bda27e40eb0fd70dd69bc947e4c8b"}],"monasca_api/tests/test_a_repository.py":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"7078f651ded3e2a4836eef1999dc02ff696e5ac7","unresolved":false,"context_lines":[{"line_number":30,"context_line":"class TestAlarmRepoDB(testtools.TestCase, fixtures.TestWithFixtures):"},{"line_number":31,"context_line":"    @classmethod"},{"line_number":32,"context_line":"    def setUpClass(cls):"},{"line_number":33,"context_line":"        from oslo_db.sqlalchemy.engines import create_engine"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        engine \u003d create_engine(\u0027sqlite://\u0027)"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7a3c09a3_dbddbf15","line":33,"updated":"2017-01-14 19:54:55.000000000","message":"Why here and not in the top of the module ?","commit_id":"b8e452361361ef655ca24831f302cef3ce863e1c"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"67182747762c3fbd8d6e5e646a5fb08e19e54a20","unresolved":false,"context_lines":[{"line_number":30,"context_line":"class TestAlarmRepoDB(testtools.TestCase, fixtures.TestWithFixtures):"},{"line_number":31,"context_line":"    @classmethod"},{"line_number":32,"context_line":"    def setUpClass(cls):"},{"line_number":33,"context_line":"        from oslo_db.sqlalchemy.engines import create_engine"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        engine \u003d create_engine(\u0027sqlite://\u0027)"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7a3c09a3_dd0cc996","line":33,"in_reply_to":"7a3c09a3_dbddbf15","updated":"2017-01-16 01:03:51.000000000","message":"Done","commit_id":"b8e452361361ef655ca24831f302cef3ce863e1c"}],"monasca_api/tests/test_ad_repository.py":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"7078f651ded3e2a4836eef1999dc02ff696e5ac7","unresolved":false,"context_lines":[{"line_number":30,"context_line":"class TestAlarmDefinitionRepoDB(testtools.TestCase, fixtures.TestWithFixtures):"},{"line_number":31,"context_line":"    @classmethod"},{"line_number":32,"context_line":"    def setUpClass(cls):"},{"line_number":33,"context_line":"        from oslo_db.sqlalchemy.engines import create_engine"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        engine \u003d create_engine(\u0027sqlite://\u0027)"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7a3c09a3_fbe0bbce","line":33,"updated":"2017-01-14 19:54:55.000000000","message":"See comment in other file.","commit_id":"b8e452361361ef655ca24831f302cef3ce863e1c"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"67182747762c3fbd8d6e5e646a5fb08e19e54a20","unresolved":false,"context_lines":[{"line_number":30,"context_line":"class TestAlarmDefinitionRepoDB(testtools.TestCase, fixtures.TestWithFixtures):"},{"line_number":31,"context_line":"    @classmethod"},{"line_number":32,"context_line":"    def setUpClass(cls):"},{"line_number":33,"context_line":"        from oslo_db.sqlalchemy.engines import create_engine"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        engine \u003d create_engine(\u0027sqlite://\u0027)"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7a3c09a3_1d273113","line":33,"in_reply_to":"7a3c09a3_fbe0bbce","updated":"2017-01-16 01:03:51.000000000","message":"Done","commit_id":"b8e452361361ef655ca24831f302cef3ce863e1c"}],"monasca_api/tests/test_nm_repository.py":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"7078f651ded3e2a4836eef1999dc02ff696e5ac7","unresolved":false,"context_lines":[{"line_number":30,"context_line":"class TestNotificationMethodRepoDB(testtools.TestCase, fixtures.TestWithFixtures):"},{"line_number":31,"context_line":"    @classmethod"},{"line_number":32,"context_line":"    def setUpClass(cls):"},{"line_number":33,"context_line":"        from oslo_db.sqlalchemy.engines import create_engine"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        engine \u003d create_engine(\u0027sqlite://\u0027)"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7a3c09a3_1be827b4","line":33,"updated":"2017-01-14 19:54:55.000000000","message":"See comment in other file","commit_id":"b8e452361361ef655ca24831f302cef3ce863e1c"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"67182747762c3fbd8d6e5e646a5fb08e19e54a20","unresolved":false,"context_lines":[{"line_number":30,"context_line":"class TestNotificationMethodRepoDB(testtools.TestCase, fixtures.TestWithFixtures):"},{"line_number":31,"context_line":"    @classmethod"},{"line_number":32,"context_line":"    def setUpClass(cls):"},{"line_number":33,"context_line":"        from oslo_db.sqlalchemy.engines import create_engine"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        engine \u003d create_engine(\u0027sqlite://\u0027)"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7a3c09a3_7d4595b1","line":33,"in_reply_to":"7a3c09a3_1be827b4","updated":"2017-01-16 01:03:51.000000000","message":"Done","commit_id":"b8e452361361ef655ca24831f302cef3ce863e1c"}],"monasca_api/v2/reference/__init__.py":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"0eb83d3950ffb83bea3ace28601e4448da30d824","unresolved":false,"context_lines":[{"line_number":152,"context_line":"cfg.CONF.register_group(mysql_group)"},{"line_number":153,"context_line":"cfg.CONF.register_opts(mysql_opts, mysql_group)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"sql_opts \u003d [cfg.StrOpt(\u0027url\u0027), cfg.StrOpt(\u0027host\u0027),"},{"line_number":156,"context_line":"            cfg.StrOpt(\u0027username\u0027), cfg.StrOpt(\u0027password\u0027, secret\u003dTrue),"},{"line_number":157,"context_line":"            cfg.StrOpt(\u0027drivername\u0027), cfg.IntOpt(\u0027port\u0027),"},{"line_number":158,"context_line":"            cfg.StrOpt(\u0027database\u0027), cfg.StrOpt(\u0027query\u0027),"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6eadb0_36098d96","line":155,"updated":"2016-12-13 10:29:31.000000000","message":"Aren\u0027t those values coming from the oslo.db package ?\nI am not sure this is a good idea to redefine them.","commit_id":"74da74220102d811b51b47bd87452f4a2199f60f"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"4cfedd8b91bcfcbdb37ba5ec36cc13457c000c1c","unresolved":false,"context_lines":[{"line_number":152,"context_line":"cfg.CONF.register_group(mysql_group)"},{"line_number":153,"context_line":"cfg.CONF.register_opts(mysql_opts, mysql_group)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"sql_opts \u003d [cfg.StrOpt(\u0027url\u0027), cfg.StrOpt(\u0027host\u0027),"},{"line_number":156,"context_line":"            cfg.StrOpt(\u0027username\u0027), cfg.StrOpt(\u0027password\u0027, secret\u003dTrue),"},{"line_number":157,"context_line":"            cfg.StrOpt(\u0027drivername\u0027), cfg.IntOpt(\u0027port\u0027),"},{"line_number":158,"context_line":"            cfg.StrOpt(\u0027database\u0027), cfg.StrOpt(\u0027query\u0027),"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6eadb0_9c5ed7e7","line":155,"in_reply_to":"1a6eadb0_36098d96","updated":"2016-12-14 03:22:32.000000000","message":"Hmm, right, done in the next patch","commit_id":"74da74220102d811b51b47bd87452f4a2199f60f"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"7078f651ded3e2a4836eef1999dc02ff696e5ac7","unresolved":false,"context_lines":[{"line_number":159,"context_line":"    # conf variables - max_pool_size, max_overflow and pool_timeout"},{"line_number":160,"context_line":"    options.set_defaults("},{"line_number":161,"context_line":"        cfg.CONF,"},{"line_number":162,"context_line":"        connection\u003d\u0027sqlite://\u0027,"},{"line_number":163,"context_line":"        sqlite_db\u003d\u0027\u0027, max_pool_size\u003d10,"},{"line_number":164,"context_line":"        max_overflow\u003d20, pool_timeout\u003d10)"},{"line_number":165,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7a3c09a3_3beb23b2","line":162,"updated":"2017-01-14 19:54:55.000000000","message":"If you are breaking the lines here, I\u0027d stick to 2 arguments per line rule.","commit_id":"b8e452361361ef655ca24831f302cef3ce863e1c"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"67182747762c3fbd8d6e5e646a5fb08e19e54a20","unresolved":false,"context_lines":[{"line_number":159,"context_line":"    # conf variables - max_pool_size, max_overflow and pool_timeout"},{"line_number":160,"context_line":"    options.set_defaults("},{"line_number":161,"context_line":"        cfg.CONF,"},{"line_number":162,"context_line":"        connection\u003d\u0027sqlite://\u0027,"},{"line_number":163,"context_line":"        sqlite_db\u003d\u0027\u0027, max_pool_size\u003d10,"},{"line_number":164,"context_line":"        max_overflow\u003d20, pool_timeout\u003d10)"},{"line_number":165,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7a3c09a3_5d4a99c6","line":162,"in_reply_to":"7a3c09a3_3beb23b2","updated":"2017-01-16 01:03:51.000000000","message":"Done","commit_id":"b8e452361361ef655ca24831f302cef3ce863e1c"}]}
