)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"0acfed511743fa83bca8a1d79b1feda058a46900","unresolved":false,"context_lines":[{"line_number":11,"context_line":"untranslatable strings with i18n translation functions so we can"},{"line_number":12,"context_line":"import them for translation into the .pot template file."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Implements: blueprint support-translation"},{"line_number":15,"context_line":"Change-Id: I425967a60b5a7957f753894e5d2ba0d2c5009d1d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5a710552_69a6e911","line":14,"updated":"2015-12-16 05:55:50.000000000","message":"Partially implements ?","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"}],"watcher/applier/manager.py":[{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"001d6ee32f91306355a707d1ed75fecc20d4aeb5","unresolved":false,"context_lines":[{"line_number":99,"context_line":"            LOG.debug(\"data       \u003d\u003e %s\" % str(data))"},{"line_number":100,"context_line":"        except Exception as e:"},{"line_number":101,"context_line":"            LOG.exception(e)"},{"line_number":102,"context_line":"            raise e"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a710552_d1fe84ad","line":102,"updated":"2015-12-16 17:07:07.000000000","message":"Shouldn\u0027t this be just \u0027raise\u0027 so we don\u0027t lose the entire stack trace of the original call?  This is one of those Pythonic things that causes a lot of confusion sometimes.  :-)","commit_id":"8c5acb2789d5decb8c34649716b8429b0fae661f"}],"watcher/applier/rpcapi.py":[{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"0acfed511743fa83bca8a1d79b1feda058a46900","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from oslo_log import log"},{"line_number":21,"context_line":"import oslo_messaging as om"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from watcher._i18n import _LE"},{"line_number":24,"context_line":"from watcher.applier.manager import APPLIER_MANAGER_OPTS"},{"line_number":25,"context_line":"from watcher.applier.manager import opt_group"},{"line_number":26,"context_line":"from watcher.common import exception"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_e10513c2","line":23,"updated":"2015-12-16 05:55:50.000000000","message":"Is there a reason the i18n file is prepended with an underscore?  Most of the other projects just have it as i18n, sans underscore.","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"0acfed511743fa83bca8a1d79b1feda058a46900","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        try:"},{"line_number":70,"context_line":"            pass"},{"line_number":71,"context_line":"        except Exception as e:"},{"line_number":72,"context_line":"            LOG.error(_LE(\"Event %s\") % e.message)"},{"line_number":73,"context_line":"            raise e"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_e1a193aa","line":72,"updated":"2015-12-16 05:55:50.000000000","message":"LOG.error(_LE(\"Event %s\"), e.message)\n\nhttp://docs.openstack.org/developer/oslo.i18n/guidelines.html#adding-variables-to-log-messages","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"001d6ee32f91306355a707d1ed75fecc20d4aeb5","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            pass"},{"line_number":70,"context_line":"        except Exception as e:"},{"line_number":71,"context_line":"            LOG.exception(e)"},{"line_number":72,"context_line":"            raise e"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a710552_b1ef38e8","line":72,"updated":"2015-12-16 17:07:07.000000000","message":"Ditto on \u0027raise\u0027 -- perhaps we should combine these in a separate patch set to fix these issues.","commit_id":"8c5acb2789d5decb8c34649716b8429b0fae661f"}],"watcher/common/exception.py":[{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"0acfed511743fa83bca8a1d79b1feda058a46900","unresolved":false,"context_lines":[{"line_number":30,"context_line":"from watcher import _i18n"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":33,"context_line":"_ \u003d _i18n._"},{"line_number":34,"context_line":"_LE \u003d _i18n._LE"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"exc_log_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_41a9877a","line":33,"updated":"2015-12-16 05:55:50.000000000","message":"Any reason to not just do:\n\nfrom watcher._i18n import _, LE\n\n?  That is more common to see.","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"0acfed511743fa83bca8a1d79b1feda058a46900","unresolved":false,"context_lines":[{"line_number":244,"context_line":"        return self._desc"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    def get_message(self):"},{"line_number":247,"context_line":"        return \"An exception occurred without a description.\""},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    def __str__(self):"},{"line_number":250,"context_line":"        return self.get_message()"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_01ba9fc0","line":247,"updated":"2015-12-16 05:55:50.000000000","message":"Not translatable.","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"0acfed511743fa83bca8a1d79b1feda058a46900","unresolved":false,"context_lines":[{"line_number":266,"context_line":"        BaseException.__init__(self, desc)"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"        if self._desc \u003d\u003d \"\":"},{"line_number":269,"context_line":"            raise NoSuchMetric(_(\"No such metric\"))"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"    def get_message(self):"},{"line_number":272,"context_line":"        return self._desc"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_41d747ed","line":269,"updated":"2015-12-16 05:55:50.000000000","message":"Unrelated to translation, but why not just default self._desc to the string or check if it is not set and set it to the string instead of raising another exception when NoSuchMetric gets initialized?","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"0acfed511743fa83bca8a1d79b1feda058a46900","unresolved":false,"context_lines":[{"line_number":277,"context_line":"        BaseException.__init__(self, desc)"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"        if self._desc \u003d\u003d \"\":"},{"line_number":280,"context_line":"            raise NoSuchMetric(_(\"no rows were returned\"))"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"    def get_message(self):"},{"line_number":283,"context_line":"        return self._desc"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_c101f76b","line":280,"updated":"2015-12-16 05:55:50.000000000","message":"Same comment as above, and this seems like it should actually be NoDataFound.","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"001d6ee32f91306355a707d1ed75fecc20d4aeb5","unresolved":false,"context_lines":[{"line_number":241,"context_line":"        return self._desc"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"    def get_message(self):"},{"line_number":244,"context_line":"        return _(\"An exception occurred without a description.\")"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    def __str__(self):"},{"line_number":247,"context_line":"        return self.get_message()"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a710552_d19a046e","line":244,"updated":"2015-12-16 17:07:07.000000000","message":"Remove final \u0027.\u0027 for consistent format with other messages","commit_id":"8c5acb2789d5decb8c34649716b8429b0fae661f"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"001d6ee32f91306355a707d1ed75fecc20d4aeb5","unresolved":false,"context_lines":[{"line_number":267,"context_line":""},{"line_number":268,"context_line":"class NoDataFound(BaseException):"},{"line_number":269,"context_line":"    def __init__(self, desc):"},{"line_number":270,"context_line":"        desc \u003d desc or _(\"no rows were returned\")"},{"line_number":271,"context_line":"        super(NoDataFound, self).__init__(desc)"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    def get_message(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a710552_f1d06021","line":270,"updated":"2015-12-16 17:07:07.000000000","message":"s/no/No","commit_id":"8c5acb2789d5decb8c34649716b8429b0fae661f"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"1c780784ca6f2e6cd63a48ec42fabe57e25e76c6","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from oslo_config import cfg"},{"line_number":26,"context_line":"from oslo_log import log as logging"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"import six"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"from watcher._i18n import _, _LE"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3a7e1126_6b4f9d6b","line":28,"range":{"start_line":28,"start_character":0,"end_line":28,"end_character":6},"updated":"2015-12-18 13:58:21.000000000","message":"nit: Can you please make one section for third-party lib","commit_id":"e2c8e1628eb9e0a6a6f241b0cbe910fbfe16cf61"}],"watcher/common/keystone.py":[{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"1c780784ca6f2e6cd63a48ec42fabe57e25e76c6","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from oslo_config import cfg"},{"line_number":21,"context_line":"from oslo_log import log"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from six.moves.urllib.parse import urljoin"},{"line_number":24,"context_line":"from six.moves.urllib.parse import urlparse"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"from keystoneclient.auth.identity import generic"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a7e1126_2b6c35cf","line":23,"range":{"start_line":23,"start_character":15,"end_line":23,"end_character":21},"updated":"2015-12-18 13:58:21.000000000","message":"ditto","commit_id":"e2c8e1628eb9e0a6a6f241b0cbe910fbfe16cf61"}],"watcher/common/messaging/messaging_handler.py":[{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"001d6ee32f91306355a707d1ed75fecc20d4aeb5","unresolved":false,"context_lines":[{"line_number":95,"context_line":"                self.__server \u003d self.build_server(target)"},{"line_number":96,"context_line":"            else:"},{"line_number":97,"context_line":"                LOG.warn("},{"line_number":98,"context_line":"                    _LW(\"you have no defined endpoint, \""},{"line_number":99,"context_line":"                        \"so you can only publish events\"))"},{"line_number":100,"context_line":"        except Exception as e:"},{"line_number":101,"context_line":"            LOG.exception(e)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a710552_b1d97824","line":98,"updated":"2015-12-16 17:07:07.000000000","message":"Reword to:\n\nNo endpoint defined; can only publish events","commit_id":"8c5acb2789d5decb8c34649716b8429b0fae661f"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"001d6ee32f91306355a707d1ed75fecc20d4aeb5","unresolved":false,"context_lines":[{"line_number":109,"context_line":"            self.__server.start()"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def stop(self):"},{"line_number":112,"context_line":"        LOG.debug(\u0027Stop up server\u0027)"},{"line_number":113,"context_line":"        self.__server.wait()"},{"line_number":114,"context_line":"        self.__server.stop()"},{"line_number":115,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a710552_712d50fd","line":112,"updated":"2015-12-16 17:07:07.000000000","message":"s/Stop up/Stopped","commit_id":"8c5acb2789d5decb8c34649716b8429b0fae661f"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"1c780784ca6f2e6cd63a48ec42fabe57e25e76c6","unresolved":false,"context_lines":[{"line_number":19,"context_line":"import eventlet"},{"line_number":20,"context_line":"from oslo_config import cfg"},{"line_number":21,"context_line":"from oslo_log import log"},{"line_number":22,"context_line":"import oslo_messaging as om"},{"line_number":23,"context_line":"from threading import Thread"},{"line_number":24,"context_line":"from watcher.common.rpc import JsonPayloadSerializer"},{"line_number":25,"context_line":"from watcher.common.rpc import RequestContextSerializer"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a7e1126_2ba3d501","line":22,"range":{"start_line":22,"start_character":7,"end_line":22,"end_character":21},"updated":"2015-12-18 13:58:21.000000000","message":"ditto : Import order template","commit_id":"e2c8e1628eb9e0a6a6f241b0cbe910fbfe16cf61"}],"watcher/db/sqlalchemy/api.py":[{"author":{"_account_id":19214,"name":"Vincent Mahe","email":"vincent.mahe@b-com.com","username":"vmahe35"},"change_message_id":"c171abeedfde76f95275e35996a203209a21315f","unresolved":false,"context_lines":[{"line_number":254,"context_line":"            return audit_template"},{"line_number":255,"context_line":"        except MultipleResultsFound:"},{"line_number":256,"context_line":"            raise exception.Conflict("},{"line_number":257,"context_line":"                _(\u0027Multiple audit templates exist with same name.\u0027"},{"line_number":258,"context_line":"                  \u0027 Please use the audit template uuid instead.\u0027))"},{"line_number":259,"context_line":"        except NoResultFound:"},{"line_number":260,"context_line":"            raise exception.AuditTemplateNotFound("}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_65888ae8","line":257,"updated":"2015-12-15 09:03:37.000000000","message":"with the same name","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"1c780784ca6f2e6cd63a48ec42fabe57e25e76c6","unresolved":false,"context_lines":[{"line_number":255,"context_line":"        except MultipleResultsFound:"},{"line_number":256,"context_line":"            raise exception.Conflict("},{"line_number":257,"context_line":"                _(\u0027Multiple audit templates exist with the same name.\u0027"},{"line_number":258,"context_line":"                  \u0027 Please use the audit template uuid instead.\u0027))"},{"line_number":259,"context_line":"        except NoResultFound:"},{"line_number":260,"context_line":"            raise exception.AuditTemplateNotFound("},{"line_number":261,"context_line":"                audit_template\u003daudit_template_name)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a7e1126_6beb1d14","line":258,"range":{"start_line":258,"start_character":62,"end_line":258,"end_character":66},"updated":"2015-12-18 13:58:21.000000000","message":"remove .","commit_id":"e2c8e1628eb9e0a6a6f241b0cbe910fbfe16cf61"}],"watcher/db/sqlalchemy/migration.py":[{"author":{"_account_id":19214,"name":"Vincent Mahe","email":"vincent.mahe@b-com.com","username":"vmahe35"},"change_message_id":"c171abeedfde76f95275e35996a203209a21315f","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    #                schema, it will only add the new tables, but leave"},{"line_number":70,"context_line":"    #                existing as is. So we should avoid of this situation."},{"line_number":71,"context_line":"    if version(engine\u003dengine) is not None:"},{"line_number":72,"context_line":"        raise db_exc.DbMigrationError(_(\"DB schema is already under version\""},{"line_number":73,"context_line":"                                        \" control. Use upgrade() instead\"))"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    models.Base.metadata.create_all(engine)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_455a2e85","line":72,"updated":"2015-12-15 09:03:37.000000000","message":"Watcher Database schema","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"001d6ee32f91306355a707d1ed75fecc20d4aeb5","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    #                existing as is. So we should avoid of this situation."},{"line_number":71,"context_line":"    if version(engine\u003dengine) is not None:"},{"line_number":72,"context_line":"        raise db_exc.DbMigrationError("},{"line_number":73,"context_line":"            _(\"Watcher Database schema is already under version control. \""},{"line_number":74,"context_line":"              \"Use upgrade() instead\"))"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    models.Base.metadata.create_all(engine)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a710552_510ff487","line":73,"updated":"2015-12-16 17:07:07.000000000","message":"s/D/d\ns/./;","commit_id":"8c5acb2789d5decb8c34649716b8429b0fae661f"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"001d6ee32f91306355a707d1ed75fecc20d4aeb5","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    if version(engine\u003dengine) is not None:"},{"line_number":72,"context_line":"        raise db_exc.DbMigrationError("},{"line_number":73,"context_line":"            _(\"Watcher Database schema is already under version control. \""},{"line_number":74,"context_line":"              \"Use upgrade() instead\"))"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    models.Base.metadata.create_all(engine)"},{"line_number":77,"context_line":"    stamp(\u0027head\u0027, config\u003dconfig)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a710552_b11e58b9","line":74,"updated":"2015-12-16 17:07:07.000000000","message":"s/U/u","commit_id":"8c5acb2789d5decb8c34649716b8429b0fae661f"}],"watcher/decision_engine/model/model_root.py":[{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"0acfed511743fa83bca8a1d79b1feda058a46900","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    def assert_hypervisor(self, hypervisor):"},{"line_number":37,"context_line":"        if not isinstance(hypervisor, Hypervisor):"},{"line_number":38,"context_line":"            raise IllegalArgumentException("},{"line_number":39,"context_line":"                _(\"Hypervisor must be an instance of hypervisor\"))"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def assert_vm(self, vm):"},{"line_number":42,"context_line":"        if not isinstance(vm, VM):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_414ae7ad","line":39,"updated":"2015-12-16 05:55:50.000000000","message":"This doesn\u0027t need to be fixed in this patch, but this error message is pretty confusing and doesn\u0027t provide a lot of value to the casual observer.","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"0acfed511743fa83bca8a1d79b1feda058a46900","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    def assert_vm(self, vm):"},{"line_number":42,"context_line":"        if not isinstance(vm, VM):"},{"line_number":43,"context_line":"            raise IllegalArgumentException("},{"line_number":44,"context_line":"                _(\"VM must be an instance of VM\"))"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def add_hypervisor(self, hypervisor):"},{"line_number":47,"context_line":"        self.assert_hypervisor(hypervisor)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_e1c75310","line":44,"updated":"2015-12-16 05:55:50.000000000","message":"Ditto","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"001d6ee32f91306355a707d1ed75fecc20d4aeb5","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def assert_hypervisor(self, hypervisor):"},{"line_number":37,"context_line":"        if not isinstance(hypervisor, Hypervisor):"},{"line_number":38,"context_line":"            raise IllegalArgumentException("},{"line_number":39,"context_line":"                _(\"\u0027hypervisor\u0027 argument type is not valid\"))"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def assert_vm(self, vm):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a710552_b14c18c9","line":38,"updated":"2015-12-16 17:07:07.000000000","message":"For another time - it would be nice if the exception took a param name to just generalize the message vs. relying on the constructor to format the messages consistently.","commit_id":"8c5acb2789d5decb8c34649716b8429b0fae661f"}],"watcher/decision_engine/rpcapi.py":[{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"0acfed511743fa83bca8a1d79b1feda058a46900","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            event_consumer \u003d EventConsumerFactory.factory(event_type)"},{"line_number":83,"context_line":"            event_consumer.execute(request_id, self.context, data)"},{"line_number":84,"context_line":"        except Exception as e:"},{"line_number":85,"context_line":"            LOG.error(_LE(\"Event %s\") % e.message)"},{"line_number":86,"context_line":"            raise e"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_e1ee738a","line":85,"updated":"2015-12-16 05:55:50.000000000","message":"LOG.error(_LE(\"Event %s\"), e.message)\n\nhttp://docs.openstack.org/developer/oslo.i18n/guidelines.html#adding-variables-to-log-messages","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"001d6ee32f91306355a707d1ed75fecc20d4aeb5","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            event_consumer \u003d EventConsumerFactory.factory(event_type)"},{"line_number":83,"context_line":"            event_consumer.execute(request_id, self.context, data)"},{"line_number":84,"context_line":"        except Exception as e:"},{"line_number":85,"context_line":"            LOG.error(_LE(\"Event %s\") % e.message)"},{"line_number":86,"context_line":"            raise e"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a710552_d1e0c498","line":85,"updated":"2015-12-16 17:07:07.000000000","message":"Why not just LOG.exception(e) ?","commit_id":"8c5acb2789d5decb8c34649716b8429b0fae661f"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"001d6ee32f91306355a707d1ed75fecc20d4aeb5","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            event_consumer.execute(request_id, self.context, data)"},{"line_number":84,"context_line":"        except Exception as e:"},{"line_number":85,"context_line":"            LOG.error(_LE(\"Event %s\") % e.message)"},{"line_number":86,"context_line":"            raise e"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a710552_f1ddc0e0","line":86,"updated":"2015-12-16 17:07:07.000000000","message":"Ditto on raise","commit_id":"8c5acb2789d5decb8c34649716b8429b0fae661f"}],"watcher/decision_engine/strategy/selection/default.py":[{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"0acfed511743fa83bca8a1d79b1feda058a46900","unresolved":false,"context_lines":[{"line_number":31,"context_line":"WATCHER_GOALS_OPTS \u003d ["},{"line_number":32,"context_line":"    cfg.DictOpt("},{"line_number":33,"context_line":"        \u0027goals\u0027,"},{"line_number":34,"context_line":"        default\u003ddefault_goals,"},{"line_number":35,"context_line":"        help\u003d\u0027Goals used for the optimization. \u0027"},{"line_number":36,"context_line":"             \u0027Maps each goal to an associated strategy (for example: \u0027"},{"line_number":37,"context_line":"             \u0027BASIC_CONSOLIDATION:basic, MY_GOAL:my_strategy_1)\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_21947be0","line":34,"updated":"2015-12-16 05:55:50.000000000","message":"Not translatable.","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"}],"watcher/decision_engine/strategy/strategies/basic_consolidation.py":[{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"0acfed511743fa83bca8a1d79b1feda058a46900","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    CeilometerClusterHistory"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":40,"context_line":"_ \u003d _i18n._"},{"line_number":41,"context_line":"_LI \u003d _i18n._LI"},{"line_number":42,"context_line":"_LE \u003d _i18n._LE"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_21823b95","line":40,"updated":"2015-12-16 05:55:50.000000000","message":"Any reason to not use:\n\nfrom watcher._i18n import _, _LI, _LE\n\n?","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"645a9761381eea866574c66c06e67ef62ca74715","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        if src_hypervisor \u003d\u003d dest_hypervisor:"},{"line_number":137,"context_line":"            return False"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        LOG.info("},{"line_number":140,"context_line":"            _LI(\"Migrate VM `%(target_vm)s` \""},{"line_number":141,"context_line":"                \"from `%(src_hypervisor)s` \""},{"line_number":142,"context_line":"                \"to `%(dest_hypervisor)s`\") % dict("}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_d42c96ad","line":139,"updated":"2015-12-15 07:57:41.000000000","message":"Why did you change the  log level ?","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":19214,"name":"Vincent Mahe","email":"vincent.mahe@b-com.com","username":"vmahe35"},"change_message_id":"c171abeedfde76f95275e35996a203209a21315f","unresolved":false,"context_lines":[{"line_number":274,"context_line":"                                  )"},{"line_number":275,"context_line":"        if cpu_avg_vm is None:"},{"line_number":276,"context_line":"            LOG.error("},{"line_number":277,"context_line":"                _LE(\"No values returned for %s compute.node.cpu.percent\") %"},{"line_number":278,"context_line":"                resource_id"},{"line_number":279,"context_line":"            )"},{"line_number":280,"context_line":"            cpu_avg_vm \u003d 100"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_8074849c","line":277,"updated":"2015-12-15 09:03:37.000000000","message":"Use a constant value for meter_name \"compute.node.cpu.percent\", which is used twice in the source code.\n\nChange the log message into :\nNo value returned regarding metric \u0027compute.node.cpu.percent\u0027 for resource \u0027%s\u0027","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"0acfed511743fa83bca8a1d79b1feda058a46900","unresolved":false,"context_lines":[{"line_number":274,"context_line":"                                  )"},{"line_number":275,"context_line":"        if cpu_avg_vm is None:"},{"line_number":276,"context_line":"            LOG.error("},{"line_number":277,"context_line":"                _LE(\"No values returned for %s compute.node.cpu.percent\") %"},{"line_number":278,"context_line":"                resource_id"},{"line_number":279,"context_line":"            )"},{"line_number":280,"context_line":"            cpu_avg_vm \u003d 100"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_2130fb00","line":277,"in_reply_to":"5a710552_8074849c","updated":"2015-12-16 05:55:50.000000000","message":"+1","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":19214,"name":"Vincent Mahe","email":"vincent.mahe@b-com.com","username":"vmahe35"},"change_message_id":"c171abeedfde76f95275e35996a203209a21315f","unresolved":false,"context_lines":[{"line_number":318,"context_line":"                                  )"},{"line_number":319,"context_line":"        if vm_cpu_utilization is None:"},{"line_number":320,"context_line":"            LOG.error("},{"line_number":321,"context_line":"                _LE(\"No values returned by `%s` for cpu_util\") % vm.uuid)"},{"line_number":322,"context_line":"            vm_cpu_utilization \u003d 100"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"        cpu_capacity \u003d model.get_resource_from_id("}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_6014f8f4","line":321,"updated":"2015-12-15 09:03:37.000000000","message":"No value returned regarding metric \u0027cpu_util\u0027 for virtual machine \u0027%s\u0027","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"645a9761381eea866574c66c06e67ef62ca74715","unresolved":false,"context_lines":[{"line_number":334,"context_line":"        if model is None:"},{"line_number":335,"context_line":"            raise ClusterStateNotDefined()"},{"line_number":336,"context_line":"        for node_id in model.get_all_hypervisors():"},{"line_number":337,"context_line":"            LOG.info("},{"line_number":338,"context_line":"                _LI(\"\u0027%(node_id)s\u0027 utilization: %(score)s %%\") % dict("},{"line_number":339,"context_line":"                    node_id\u003dnode_id,"},{"line_number":340,"context_line":"                    score\u003dself.calculate_score_node("}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_d403360e","line":337,"updated":"2015-12-15 07:57:41.000000000","message":"ditto","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"0acfed511743fa83bca8a1d79b1feda058a46900","unresolved":false,"context_lines":[{"line_number":339,"context_line":"                    node_id\u003dnode_id,"},{"line_number":340,"context_line":"                    score\u003dself.calculate_score_node("},{"line_number":341,"context_line":"                        model.get_hypervisor_from_id(node_id), model"},{"line_number":342,"context_line":"                    ),"},{"line_number":343,"context_line":"                ),"},{"line_number":344,"context_line":"            )"},{"line_number":345,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_690a6923","line":342,"updated":"2015-12-16 05:55:50.000000000","message":"Collapse these parens?","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":19214,"name":"Vincent Mahe","email":"vincent.mahe@b-com.com","username":"vmahe35"},"change_message_id":"c171abeedfde76f95275e35996a203209a21315f","unresolved":false,"context_lines":[{"line_number":344,"context_line":"            )"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    def execute(self, orign_model):"},{"line_number":347,"context_line":"        LOG.info(_LI(\"Initialize Sercon Consolidation\"))"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"        if orign_model is None:"},{"line_number":350,"context_line":"            raise ClusterStateNotDefined()"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_c0be0cff","line":347,"updated":"2015-12-15 09:03:37.000000000","message":"Initializing Sercon Consolidation ...","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"645a9761381eea866574c66c06e67ef62ca74715","unresolved":false,"context_lines":[{"line_number":344,"context_line":"            )"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    def execute(self, orign_model):"},{"line_number":347,"context_line":"        LOG.info(_LI(\"Initialize Sercon Consolidation\"))"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"        if orign_model is None:"},{"line_number":350,"context_line":"            raise ClusterStateNotDefined()"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_77ffe401","line":347,"updated":"2015-12-15 07:57:41.000000000","message":"ditto","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":19214,"name":"Vincent Mahe","email":"vincent.mahe@b-com.com","username":"vmahe35"},"change_message_id":"c171abeedfde76f95275e35996a203209a21315f","unresolved":false,"context_lines":[{"line_number":402,"context_line":""},{"line_number":403,"context_line":"            \u0027\u0027\u0027 sort compute nodes by Score decreasing \u0027\u0027\u0027\u0027\u0027"},{"line_number":404,"context_line":"            s \u003d sorted(score, reverse\u003dTrue, key\u003dlambda x: (x[1]))"},{"line_number":405,"context_line":"            LOG.info(_LI(\"Hypervisor(s) BFD %s\") % s)"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"            \u0027\u0027\u0027 get Node to be released \u0027\u0027\u0027"},{"line_number":408,"context_line":"            if len(score) \u003d\u003d 0:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_00c5f48c","line":405,"updated":"2015-12-15 09:03:37.000000000","message":"Should use the long terme \"Best Fit Decrease\" instead of BFD which doesn\u0027t mean anything for most people.","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"645a9761381eea866574c66c06e67ef62ca74715","unresolved":false,"context_lines":[{"line_number":402,"context_line":""},{"line_number":403,"context_line":"            \u0027\u0027\u0027 sort compute nodes by Score decreasing \u0027\u0027\u0027\u0027\u0027"},{"line_number":404,"context_line":"            s \u003d sorted(score, reverse\u003dTrue, key\u003dlambda x: (x[1]))"},{"line_number":405,"context_line":"            LOG.info(_LI(\"Hypervisor(s) BFD %s\") % s)"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"            \u0027\u0027\u0027 get Node to be released \u0027\u0027\u0027"},{"line_number":408,"context_line":"            if len(score) \u003d\u003d 0:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_570e6835","line":405,"updated":"2015-12-15 07:57:41.000000000","message":"ditto","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"0acfed511743fa83bca8a1d79b1feda058a46900","unresolved":false,"context_lines":[{"line_number":402,"context_line":""},{"line_number":403,"context_line":"            \u0027\u0027\u0027 sort compute nodes by Score decreasing \u0027\u0027\u0027\u0027\u0027"},{"line_number":404,"context_line":"            s \u003d sorted(score, reverse\u003dTrue, key\u003dlambda x: (x[1]))"},{"line_number":405,"context_line":"            LOG.info(_LI(\"Hypervisor(s) BFD %s\") % s)"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"            \u0027\u0027\u0027 get Node to be released \u0027\u0027\u0027"},{"line_number":408,"context_line":"            if len(score) \u003d\u003d 0:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_4910cd4e","line":405,"in_reply_to":"5a710552_00c5f48c","updated":"2015-12-16 05:55:50.000000000","message":"+1, and should use a comma instead of %","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":19214,"name":"Vincent Mahe","email":"vincent.mahe@b-com.com","username":"vmahe35"},"change_message_id":"c171abeedfde76f95275e35996a203209a21315f","unresolved":false,"context_lines":[{"line_number":427,"context_line":"            \u0027\u0027\u0027 sort VMs by Score \u0027\u0027\u0027"},{"line_number":428,"context_line":"            v \u003d sorted(vm_score, reverse\u003dTrue, key\u003dlambda x: (x[1]))"},{"line_number":429,"context_line":"            # BFD: Best Fit Decrease"},{"line_number":430,"context_line":"            LOG.info(_LI(\"VM(s) BFD %s\") % v)"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"            m \u003d 0"},{"line_number":433,"context_line":"            tmp_vm_migration_schedule \u003d []"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_40f3fc0a","line":430,"updated":"2015-12-15 09:03:37.000000000","message":"Should use the long terme \"Best Fit Decrease\" instead of BFD which doesn\u0027t mean anything for most people.","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"645a9761381eea866574c66c06e67ef62ca74715","unresolved":false,"context_lines":[{"line_number":427,"context_line":"            \u0027\u0027\u0027 sort VMs by Score \u0027\u0027\u0027"},{"line_number":428,"context_line":"            v \u003d sorted(vm_score, reverse\u003dTrue, key\u003dlambda x: (x[1]))"},{"line_number":429,"context_line":"            # BFD: Best Fit Decrease"},{"line_number":430,"context_line":"            LOG.info(_LI(\"VM(s) BFD %s\") % v)"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"            m \u003d 0"},{"line_number":433,"context_line":"            tmp_vm_migration_schedule \u003d []"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_d71a586e","line":430,"updated":"2015-12-15 07:57:41.000000000","message":"ditto","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"0acfed511743fa83bca8a1d79b1feda058a46900","unresolved":false,"context_lines":[{"line_number":427,"context_line":"            \u0027\u0027\u0027 sort VMs by Score \u0027\u0027\u0027"},{"line_number":428,"context_line":"            v \u003d sorted(vm_score, reverse\u003dTrue, key\u003dlambda x: (x[1]))"},{"line_number":429,"context_line":"            # BFD: Best Fit Decrease"},{"line_number":430,"context_line":"            LOG.info(_LI(\"VM(s) BFD %s\") % v)"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"            m \u003d 0"},{"line_number":433,"context_line":"            tmp_vm_migration_schedule \u003d []"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a710552_c92a7d7e","line":430,"in_reply_to":"5a710552_40f3fc0a","updated":"2015-12-16 05:55:50.000000000","message":"Ditto to using comma instead of %","commit_id":"db5b8e602ed13bcbe5fcf198224e81c254a7d6a2"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"001d6ee32f91306355a707d1ed75fecc20d4aeb5","unresolved":false,"context_lines":[{"line_number":269,"context_line":"                                  )"},{"line_number":270,"context_line":"        if cpu_avg_vm is None:"},{"line_number":271,"context_line":"            LOG.error("},{"line_number":272,"context_line":"                _LE(\"No values returned by `%(resource_id)s` \""},{"line_number":273,"context_line":"                    \"for %(metric_name)s\"),"},{"line_number":274,"context_line":"                resource_id\u003dresource_id,"},{"line_number":275,"context_line":"                metric_name\u003dself.host_cpu_usage_metric_name,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a710552_319d880a","line":272,"updated":"2015-12-16 17:07:07.000000000","message":"Can we lose the `` characters since that\u0027s not used elsewhere?","commit_id":"8c5acb2789d5decb8c34649716b8429b0fae661f"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"001d6ee32f91306355a707d1ed75fecc20d4aeb5","unresolved":false,"context_lines":[{"line_number":316,"context_line":"            )"},{"line_number":317,"context_line":"        if vm_cpu_utilization is None:"},{"line_number":318,"context_line":"            LOG.error("},{"line_number":319,"context_line":"                _LE(\"No values returned by `%(resource_id)s` \""},{"line_number":320,"context_line":"                    \"for %(metric_name)s\"),"},{"line_number":321,"context_line":"                resource_id\u003dvm.uuid,"},{"line_number":322,"context_line":"                metric_name\u003dself.instance_cpu_usage_metric_name,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a710552_d18e84cf","line":319,"updated":"2015-12-16 17:07:07.000000000","message":"Ditto on ``","commit_id":"8c5acb2789d5decb8c34649716b8429b0fae661f"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"1c780784ca6f2e6cd63a48ec42fabe57e25e76c6","unresolved":false,"context_lines":[{"line_number":407,"context_line":"            \u0027\u0027\u0027 get Node to be released \u0027\u0027\u0027"},{"line_number":408,"context_line":"            if len(score) \u003d\u003d 0:"},{"line_number":409,"context_line":"                LOG.warning(_LW("},{"line_number":410,"context_line":"                    \"The workloads of the compute nodes\""},{"line_number":411,"context_line":"                    \" of the cluster is zero.\"))"},{"line_number":412,"context_line":"                break"},{"line_number":413,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3a7e1126_ab5345e1","line":410,"range":{"start_line":410,"start_character":45,"end_line":410,"end_character":46},"updated":"2015-12-18 13:58:21.000000000","message":"remove .","commit_id":"e2c8e1628eb9e0a6a6f241b0cbe910fbfe16cf61"}],"watcher/locale/watcher.pot":[{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"d19c1b85bf9ab77747bbf993ed62c7cc52610908","unresolved":false,"context_lines":[{"line_number":85,"context_line":"msgstr \"\""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"#: watcher/common/exception.py:57"},{"line_number":88,"context_line":"msgid \"An unknown exception occurred.\""},{"line_number":89,"context_line":"msgstr \"\""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"#: watcher/common/exception.py:108"}],"source_content_type":"application/mspowerpoint","patch_set":7,"id":"3a7e1126_15587d31","line":88,"range":{"start_line":88,"start_character":36,"end_line":88,"end_character":38},"updated":"2015-12-18 11:19:56.000000000","message":"Remove final \u0027.\u0027 for consistent format with other messages","commit_id":"aed42761c79a78c7ff14c03fd259975b1c82ae88"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"d19c1b85bf9ab77747bbf993ed62c7cc52610908","unresolved":false,"context_lines":[{"line_number":93,"context_line":"msgstr \"\""},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"#: watcher/common/exception.py:113"},{"line_number":96,"context_line":"msgid \"Operation not permitted.\""},{"line_number":97,"context_line":"msgstr \"\""},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"#: watcher/common/exception.py:117"}],"source_content_type":"application/mspowerpoint","patch_set":7,"id":"3a7e1126_d542f53d","line":96,"range":{"start_line":96,"start_character":30,"end_line":96,"end_character":32},"updated":"2015-12-18 11:19:56.000000000","message":"Remove final \u0027.\u0027 for consistent format with other messages","commit_id":"aed42761c79a78c7ff14c03fd259975b1c82ae88"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"d19c1b85bf9ab77747bbf993ed62c7cc52610908","unresolved":false,"context_lines":[{"line_number":97,"context_line":"msgstr \"\""},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"#: watcher/common/exception.py:117"},{"line_number":100,"context_line":"msgid \"Unacceptable parameters.\""},{"line_number":101,"context_line":"msgstr \"\""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"#: watcher/common/exception.py:122"}],"source_content_type":"application/mspowerpoint","patch_set":7,"id":"3a7e1126_5575a595","line":100,"range":{"start_line":100,"start_character":30,"end_line":100,"end_character":32},"updated":"2015-12-18 11:19:56.000000000","message":"ditto","commit_id":"aed42761c79a78c7ff14c03fd259975b1c82ae88"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"d19c1b85bf9ab77747bbf993ed62c7cc52610908","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"#: watcher/common/exception.py:122"},{"line_number":104,"context_line":"#, python-format"},{"line_number":105,"context_line":"msgid \"The %(name)s %(id)s could not be found.\""},{"line_number":106,"context_line":"msgstr \"\""},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"#: watcher/common/exception.py:126"}],"source_content_type":"application/mspowerpoint","patch_set":7,"id":"3a7e1126_f564d1e5","line":105,"range":{"start_line":105,"start_character":45,"end_line":105,"end_character":47},"updated":"2015-12-18 11:19:56.000000000","message":"ditto","commit_id":"aed42761c79a78c7ff14c03fd259975b1c82ae88"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"d19c1b85bf9ab77747bbf993ed62c7cc52610908","unresolved":false,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"#: watcher/common/exception.py:131"},{"line_number":113,"context_line":"#, python-format"},{"line_number":114,"context_line":"msgid \"The %(name)s resource %(id)s could not be found.\""},{"line_number":115,"context_line":"msgstr \"\""},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"#: watcher/common/exception.py:136"}],"source_content_type":"application/mspowerpoint","patch_set":7,"id":"3a7e1126_b55e4910","line":114,"range":{"start_line":114,"start_character":49,"end_line":114,"end_character":54},"updated":"2015-12-18 11:19:56.000000000","message":"ditto","commit_id":"aed42761c79a78c7ff14c03fd259975b1c82ae88"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"d19c1b85bf9ab77747bbf993ed62c7cc52610908","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"#: watcher/common/exception.py:150"},{"line_number":133,"context_line":"#, python-format"},{"line_number":134,"context_line":"msgid \"Expected a uuid but received %(uuid)s.\""},{"line_number":135,"context_line":"msgstr \"\""},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"#: watcher/common/exception.py:154"}],"source_content_type":"application/mspowerpoint","patch_set":7,"id":"3a7e1126_35801946","line":134,"range":{"start_line":134,"start_character":44,"end_line":134,"end_character":46},"updated":"2015-12-18 11:19:56.000000000","message":"ditto","commit_id":"aed42761c79a78c7ff14c03fd259975b1c82ae88"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"d19c1b85bf9ab77747bbf993ed62c7cc52610908","unresolved":false,"context_lines":[{"line_number":136,"context_line":""},{"line_number":137,"context_line":"#: watcher/common/exception.py:154"},{"line_number":138,"context_line":"#, python-format"},{"line_number":139,"context_line":"msgid \"Expected a logical name but received %(name)s.\""},{"line_number":140,"context_line":"msgstr \"\""},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"#: watcher/common/exception.py:158"}],"source_content_type":"application/mspowerpoint","patch_set":7,"id":"3a7e1126_d597558e","line":139,"range":{"start_line":139,"start_character":52,"end_line":139,"end_character":54},"updated":"2015-12-18 11:19:56.000000000","message":"ditto","commit_id":"aed42761c79a78c7ff14c03fd259975b1c82ae88"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"d19c1b85bf9ab77747bbf993ed62c7cc52610908","unresolved":false,"context_lines":[{"line_number":141,"context_line":""},{"line_number":142,"context_line":"#: watcher/common/exception.py:158"},{"line_number":143,"context_line":"#, python-format"},{"line_number":144,"context_line":"msgid \"Expected a logical name or uuid but received %(name)s.\""},{"line_number":145,"context_line":"msgstr \"\""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"#: watcher/common/exception.py:162"}],"source_content_type":"application/mspowerpoint","patch_set":7,"id":"3a7e1126_9591cd9b","line":144,"range":{"start_line":144,"start_character":59,"end_line":144,"end_character":60},"updated":"2015-12-18 11:19:56.000000000","message":"ditto","commit_id":"aed42761c79a78c7ff14c03fd259975b1c82ae88"}]}
