)]}'
{"designate/cmd/manage.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"6729f8e4d554d810d5dd59c1e944deab829cd339","unresolved":false,"context_lines":[{"line_number":81,"context_line":"def main():"},{"line_number":82,"context_line":"    cfg.CONF.register_cli_opt(command_opt)"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    utils.read_config(\u0027designate\u0027, sys.argv)"},{"line_number":85,"context_line":"    logging.setup(\u0027designate\u0027)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    func_kwargs \u003d {}"}],"source_content_type":"text/x-python","patch_set":7,"id":"1ae5cdf2_296e7100","side":"PARENT","line":84,"updated":"2014-06-19 19:16:27.000000000","message":"We\u0027ll need to keep utils.read_config I believe.. It chooses a different set of default config paths that oslo.cfg does by default.\n\ndesignate-manage MUST use the same config paths as the designate-* services.","commit_id":"9652665672567b71bb8af77d10faa9322ea9cc22"}],"designate/manage/database.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"cf7f77249feb47f35148164fede8c0ecd2b5cb11","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    return migration_manager.MigrationManager(migration_config)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"class DatabaseCommands(base.Commands):"},{"line_number":52,"context_line":"    def version(self):"},{"line_number":53,"context_line":"        print(\"Version %s\" % get_manager().version())"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1ae5cdf2_498addbf","line":51,"updated":"2014-06-19 19:15:30.000000000","message":"This looks like the set of commands suitable for alembic, rather the sqla-migrate... e.g. \"stamp\" is something alembic specific.. And the \"sync\" command is gone...","commit_id":"541fd77e73faff40a67417c6277c619fe42e8966"}],"designate/manage/powerdns.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"cf7f77249feb47f35148164fede8c0ecd2b5cb11","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    return migration_manager.MigrationManager(migration_config)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"class DatabaseCommands(base.Commands):"},{"line_number":52,"context_line":"    def version(self):"},{"line_number":53,"context_line":"        print(\"Version %s\" % get_manager().version())"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1ae5cdf2_09b45580","line":51,"updated":"2014-06-19 19:15:30.000000000","message":"This looks like the set of commands suitable for alembic, rather the sqla-migrate... e.g. \"stamp\" is something alembic specific.. And the \"sync\" command is gone...","commit_id":"541fd77e73faff40a67417c6277c619fe42e8966"}],"designate/sqlalchemy/models.py":[{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"ec23f2a9f51bf1bab5432ba4397ba6ada8b421cd","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    deleted \u003d Column(CHAR(32), nullable\u003dFalse, default\u003d\"0\", server_default\u003d\"0\")"},{"line_number":47,"context_line":"    deleted_at \u003d Column(DateTime, nullable\u003dTrue, default\u003dNone)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def soft_delete(self, session\u003dNone):"},{"line_number":50,"context_line":"        \"\"\" Mark this object as deleted. \"\"\""},{"line_number":51,"context_line":"        self.deleted \u003d self.id.replace(\u0027-\u0027, \u0027\u0027)"},{"line_number":52,"context_line":"        self.deleted_at \u003d timeutils.utcnow()"}],"source_content_type":"text/x-python","patch_set":9,"id":"1ae5cdf2_74e4b73b","line":49,"updated":"2014-06-20 12:19:37.000000000","message":"save() method from class Base suppose to get session, not None, so it can cause errors, if we will combine these models and call soft_delete() without session.","commit_id":"7008cae5e226ad1929fa6b6ee4ee09f76635ef1f"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"12de2def8043e2c238b16d805df567e3ef66efeb","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    deleted \u003d Column(CHAR(32), nullable\u003dFalse, default\u003d\"0\", server_default\u003d\"0\")"},{"line_number":47,"context_line":"    deleted_at \u003d Column(DateTime, nullable\u003dTrue, default\u003dNone)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def soft_delete(self, session\u003dNone):"},{"line_number":50,"context_line":"        \"\"\" Mark this object as deleted. \"\"\""},{"line_number":51,"context_line":"        self.deleted \u003d self.id.replace(\u0027-\u0027, \u0027\u0027)"},{"line_number":52,"context_line":"        self.deleted_at \u003d timeutils.utcnow()"}],"source_content_type":"text/x-python","patch_set":9,"id":"1ae5cdf2_52734be6","line":49,"in_reply_to":"1ae5cdf2_12a0e340","updated":"2014-06-20 13:20:03.000000000","message":"The save method requires a session, which we will happily dault to \"None\" here.. Basically just drop the \"\u003dNone\"","commit_id":"7008cae5e226ad1929fa6b6ee4ee09f76635ef1f"},{"author":{"_account_id":395,"name":"Endre Karlson","email":"endre.karlson@gmail.com","username":"endre-karlson"},"change_message_id":"c8cf6f42db6ea3d84858217405c0fa5253061249","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    deleted \u003d Column(CHAR(32), nullable\u003dFalse, default\u003d\"0\", server_default\u003d\"0\")"},{"line_number":47,"context_line":"    deleted_at \u003d Column(DateTime, nullable\u003dTrue, default\u003dNone)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def soft_delete(self, session\u003dNone):"},{"line_number":50,"context_line":"        \"\"\" Mark this object as deleted. \"\"\""},{"line_number":51,"context_line":"        self.deleted \u003d self.id.replace(\u0027-\u0027, \u0027\u0027)"},{"line_number":52,"context_line":"        self.deleted_at \u003d timeutils.utcnow()"}],"source_content_type":"text/x-python","patch_set":9,"id":"1ae5cdf2_cd3b3e9a","line":49,"in_reply_to":"1ae5cdf2_52734be6","updated":"2014-06-20 13:26:17.000000000","message":"Done","commit_id":"7008cae5e226ad1929fa6b6ee4ee09f76635ef1f"},{"author":{"_account_id":395,"name":"Endre Karlson","email":"endre.karlson@gmail.com","username":"endre-karlson"},"change_message_id":"7840ba3b28e9f183ddcae49bfd17198fb8503537","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    deleted \u003d Column(CHAR(32), nullable\u003dFalse, default\u003d\"0\", server_default\u003d\"0\")"},{"line_number":47,"context_line":"    deleted_at \u003d Column(DateTime, nullable\u003dTrue, default\u003dNone)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def soft_delete(self, session\u003dNone):"},{"line_number":50,"context_line":"        \"\"\" Mark this object as deleted. \"\"\""},{"line_number":51,"context_line":"        self.deleted \u003d self.id.replace(\u0027-\u0027, \u0027\u0027)"},{"line_number":52,"context_line":"        self.deleted_at \u003d timeutils.utcnow()"}],"source_content_type":"text/x-python","patch_set":9,"id":"1ae5cdf2_12a0e340","line":49,"in_reply_to":"1ae5cdf2_74e4b73b","updated":"2014-06-20 13:17:56.000000000","message":"What do you mean ?","commit_id":"7008cae5e226ad1929fa6b6ee4ee09f76635ef1f"}],"designate/sqlalchemy/session.py":[{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"ec23f2a9f51bf1bab5432ba4397ba6ada8b421cd","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def _create_facade_lazily(name):"},{"line_number":34,"context_line":"    global _FACADE"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    if name not in _FACADES:"},{"line_number":37,"context_line":"        _FACADES[name] \u003d session.EngineFacade("}],"source_content_type":"text/x-python","patch_set":9,"id":"1ae5cdf2_54c09b7b","line":34,"updated":"2014-06-20 12:19:37.000000000","message":"_FACADES, I suppose","commit_id":"7008cae5e226ad1929fa6b6ee4ee09f76635ef1f"},{"author":{"_account_id":395,"name":"Endre Karlson","email":"endre.karlson@gmail.com","username":"endre-karlson"},"change_message_id":"7840ba3b28e9f183ddcae49bfd17198fb8503537","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def _create_facade_lazily(name):"},{"line_number":34,"context_line":"    global _FACADE"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    if name not in _FACADES:"},{"line_number":37,"context_line":"        _FACADES[name] \u003d session.EngineFacade("}],"source_content_type":"text/x-python","patch_set":9,"id":"1ae5cdf2_32dcffe3","line":34,"in_reply_to":"1ae5cdf2_17fff566","updated":"2014-06-20 13:17:56.000000000","message":"Removed","commit_id":"7008cae5e226ad1929fa6b6ee4ee09f76635ef1f"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"54717a45bd93ef3afbd62592f7b87d7bc0a8d396","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def _create_facade_lazily(name):"},{"line_number":34,"context_line":"    global _FACADE"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    if name not in _FACADES:"},{"line_number":37,"context_line":"        _FACADES[name] \u003d session.EngineFacade("}],"source_content_type":"text/x-python","patch_set":9,"id":"1ae5cdf2_17fff566","line":34,"in_reply_to":"1ae5cdf2_54c09b7b","updated":"2014-06-20 12:50:43.000000000","message":"Nicely spotted :) As it turns out though, the global is not needed at all as _FACADES is a mutable type which is not reassigned.","commit_id":"7008cae5e226ad1929fa6b6ee4ee09f76635ef1f"},{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"ec23f2a9f51bf1bab5432ba4397ba6ada8b421cd","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    global _FACADE"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    if name not in _FACADES:"},{"line_number":37,"context_line":"        _FACADES[name] \u003d session.EngineFacade("},{"line_number":38,"context_line":"            cfg.CONF[name].connection,"},{"line_number":39,"context_line":"            **dict(cfg.CONF[name].iteritems()))"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"1ae5cdf2_7469178b","line":37,"updated":"2014-06-20 12:19:37.000000000","message":"nit: you can use from_config() method\n\n session.EngineFacade.from_config(cfg.CONF[name])","commit_id":"7008cae5e226ad1929fa6b6ee4ee09f76635ef1f"},{"author":{"_account_id":395,"name":"Endre Karlson","email":"endre.karlson@gmail.com","username":"endre-karlson"},"change_message_id":"7840ba3b28e9f183ddcae49bfd17198fb8503537","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    global _FACADE"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    if name not in _FACADES:"},{"line_number":37,"context_line":"        _FACADES[name] \u003d session.EngineFacade("},{"line_number":38,"context_line":"            cfg.CONF[name].connection,"},{"line_number":39,"context_line":"            **dict(cfg.CONF[name].iteritems()))"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"1ae5cdf2_b2c80f23","line":37,"in_reply_to":"1ae5cdf2_7469178b","updated":"2014-06-20 13:17:56.000000000","message":"ACtually not:\n              slave_connection\u003dconf.database.slave_connection,\n                   sqlite_fk\u003dsqlite_fk,\n                   autocommit\u003dautocommit,\n                   expire_on_commit\u003dexpire_on_commit,\n\nThat will break :)","commit_id":"7008cae5e226ad1929fa6b6ee4ee09f76635ef1f"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"12de2def8043e2c238b16d805df567e3ef66efeb","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    global _FACADE"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    if name not in _FACADES:"},{"line_number":37,"context_line":"        _FACADES[name] \u003d session.EngineFacade("},{"line_number":38,"context_line":"            cfg.CONF[name].connection,"},{"line_number":39,"context_line":"            **dict(cfg.CONF[name].iteritems()))"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"1ae5cdf2_cd517e0f","line":37,"in_reply_to":"1ae5cdf2_b2c80f23","updated":"2014-06-20 13:20:03.000000000","message":"What will break? And, is it not fixable?","commit_id":"7008cae5e226ad1929fa6b6ee4ee09f76635ef1f"},{"author":{"_account_id":395,"name":"Endre Karlson","email":"endre.karlson@gmail.com","username":"endre-karlson"},"change_message_id":"c8cf6f42db6ea3d84858217405c0fa5253061249","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    global _FACADE"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    if name not in _FACADES:"},{"line_number":37,"context_line":"        _FACADES[name] \u003d session.EngineFacade("},{"line_number":38,"context_line":"            cfg.CONF[name].connection,"},{"line_number":39,"context_line":"            **dict(cfg.CONF[name].iteritems()))"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"1ae5cdf2_cd097ede","line":37,"in_reply_to":"1ae5cdf2_cd517e0f","updated":"2014-06-20 13:26:17.000000000","message":"We need to support multiple different sessions that are in different config sections (Not in conf.database).\n\nActually doing CONF[name] won\u0027t work either since the from_config looks for conf.database which would be non-existant.","commit_id":"7008cae5e226ad1929fa6b6ee4ee09f76635ef1f"}],"requirements.txt":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"25b5efd33ac54705e51fa5d9a1689cc424524db9","unresolved":false,"context_lines":[{"line_number":24,"context_line":"WebOb\u003e\u003d1.2.3"},{"line_number":25,"context_line":"dnspython\u003e\u003d1.9.4"},{"line_number":26,"context_line":"posix_ipc"},{"line_number":27,"context_line":"oslo.db"}],"source_content_type":"text/plain","patch_set":2,"id":"1ae5cdf2_e34a1882","line":27,"updated":"2014-06-18 18:15:10.000000000","message":"You\u0027ll need to match this to the global-requirements version, otherwise it will fail","commit_id":"6d893e567a75547dff5d6eb99dfc0e01bd911f49"}]}
