)]}'
{"etc/glance-api.conf":[{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"76c804c1bdf412e3586b2723ce04e5c1993772a4","unresolved":false,"context_lines":[{"line_number":213,"context_line":"notifier_strategy \u003d noop"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"# Driver or drivers to handle sending notifications"},{"line_number":216,"context_line":"notification_driver \u003d noop"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"# Default notification level for outgoing notifications"},{"line_number":219,"context_line":"default_notification_level \u003d INFO"}],"source_content_type":"text/plain","patch_set":4,"id":"AAAATn%2F%2BaaM%3D","line":216,"updated":"2013-11-26 11:41:39.000000000","message":"Is notifier_strategy deprecated now or ... ?","commit_id":"4305bb02ad6a8eff4f7f002ef6d5f8dc9d7db969"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"64707fedf6642e30d3c5dfe71bc8ed53e8e97874","unresolved":false,"context_lines":[{"line_number":213,"context_line":"notifier_strategy \u003d noop"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"# Driver or drivers to handle sending notifications"},{"line_number":216,"context_line":"notification_driver \u003d noop"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"# Default notification level for outgoing notifications"},{"line_number":219,"context_line":"default_notification_level \u003d INFO"}],"source_content_type":"text/plain","patch_set":4,"id":"AAAATn%2F%2BZsg%3D","line":216,"in_reply_to":"AAAATn%2F%2BaaM%3D","updated":"2013-11-26 14:34:41.000000000","message":"Same question. But I assume it\u0027s for backward compatibility, is it? If so, I think we may need an additional comments against notifier_strategy to mark it as deprecated.","commit_id":"4305bb02ad6a8eff4f7f002ef6d5f8dc9d7db969"}],"glance/api/v1/upload_utils.py":[{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"76c804c1bdf412e3586b2723ce04e5c1993772a4","unresolved":false,"context_lines":[{"line_number":99,"context_line":"         locations_metadata) \u003d add_backend(image_meta[\u0027id\u0027],"},{"line_number":100,"context_line":"                                           utils.CooperativeReader(image_data),"},{"line_number":101,"context_line":"                                           image_meta[\u0027size\u0027],"},{"line_number":102,"context_line":"                                           store)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        try:"},{"line_number":105,"context_line":"            # recheck the quota in case there were simultaneous uploads that"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2BaZ8%3D","line":102,"updated":"2013-11-26 11:41:39.000000000","message":"Seems unrelated?","commit_id":"4305bb02ad6a8eff4f7f002ef6d5f8dc9d7db969"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"64707fedf6642e30d3c5dfe71bc8ed53e8e97874","unresolved":false,"context_lines":[{"line_number":99,"context_line":"         locations_metadata) \u003d add_backend(image_meta[\u0027id\u0027],"},{"line_number":100,"context_line":"                                           utils.CooperativeReader(image_data),"},{"line_number":101,"context_line":"                                           image_meta[\u0027size\u0027],"},{"line_number":102,"context_line":"                                           store)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        try:"},{"line_number":105,"context_line":"            # recheck the quota in case there were simultaneous uploads that"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2BZsM%3D","line":102,"in_reply_to":"AAAATn%2F%2BaZ8%3D","updated":"2013-11-26 14:34:41.000000000","message":"+1","commit_id":"4305bb02ad6a8eff4f7f002ef6d5f8dc9d7db969"}],"glance/notifier.py":[{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"64707fedf6642e30d3c5dfe71bc8ed53e8e97874","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    \"\"\"Uses a notification strategy to send out messages about events.\"\"\""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    def __init__(self, strategy\u003dNone):"},{"line_number":60,"context_line":"        self.publisher_id \u003d \"image.%s\" % socket.gethostname()"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        # NOTE(flaper87): Use this to keep backwards"},{"line_number":63,"context_line":"        # compatibility. We\u0027ll try to get an oslo.messaging"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2BZlQ%3D","line":60,"updated":"2013-11-26 14:34:41.000000000","message":"Seems we never use the default_publisher_id, so I think it would be nice if we can add a comment in glance-api.conf against default_publisher_id to test the user what\u0027s the normal format we\u0027re using to avoid confusing.","commit_id":"4305bb02ad6a8eff4f7f002ef6d5f8dc9d7db969"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"64707fedf6642e30d3c5dfe71bc8ed53e8e97874","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    def __init__(self, strategy\u003dNone):"},{"line_number":60,"context_line":"        self.publisher_id \u003d \"image.%s\" % socket.gethostname()"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        # NOTE(flaper87): Use this to keep backwards"},{"line_number":63,"context_line":"        # compatibility. We\u0027ll try to get an oslo.messaging"},{"line_number":64,"context_line":"        # driver from the specified strategy."},{"line_number":65,"context_line":"        _strategy \u003d strategy or CONF.notifier_strategy"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2BZoo%3D","line":62,"updated":"2013-11-26 14:34:41.000000000","message":"I think this note answered the question Mark and I asked in the glance-api.conf. But I think we still need additional comments in glance-api.conf to clarify. Agree?","commit_id":"4305bb02ad6a8eff4f7f002ef6d5f8dc9d7db969"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"64707fedf6642e30d3c5dfe71bc8ed53e8e97874","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        _strategy \u003d strategy or CONF.notifier_strategy"},{"line_number":66,"context_line":"        _driver \u003d _STRATEGY_ALIASES.get(_strategy)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        # NOTE(flaper87): Teh next 3 lines help"},{"line_number":69,"context_line":"        # with the migration to oslo.messaging."},{"line_number":70,"context_line":"        # Without them, gate tests won\u0027t know"},{"line_number":71,"context_line":"        # what driver should be loaded."}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2BZqE%3D","line":68,"updated":"2013-11-26 14:34:41.000000000","message":"The next 3?","commit_id":"4305bb02ad6a8eff4f7f002ef6d5f8dc9d7db969"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"5f7b41e76a65da72a7eb6754fa96ca2aa3a168bd","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    def __init__(self, strategy\u003dNone):"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        if CONF.notifier_strategy !\u003d \u0027default\u0027:"},{"line_number":66,"context_line":"            msg \u003d _(\"notifier_strategy was deprecated in\""},{"line_number":67,"context_line":"                    \"favor of `notification_driver`\")"},{"line_number":68,"context_line":"            warnings.warn(msg, DeprecationWarning)"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2BQ58%3D","line":66,"updated":"2013-11-28 08:12:53.000000000","message":"nit: can you adding space after \"in\" in the end? to make the sentence right. and help i18n team guys.","commit_id":"f40d1b225edd868cc2069650fac08df9e77f28b8"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"87ddb116904231a5e46368b69d0a0cc229b1c62e","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    def __init__(self, strategy\u003dNone):"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        if CONF.notifier_strategy !\u003d \u0027default\u0027:"},{"line_number":66,"context_line":"            msg \u003d _(\"notifier_strategy was deprecated in\""},{"line_number":67,"context_line":"                    \"favor of `notification_driver`\")"},{"line_number":68,"context_line":"            warnings.warn(msg, DeprecationWarning)"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2BO%2BI%3D","line":66,"in_reply_to":"AAAATn%2F%2BQ58%3D","updated":"2013-11-28 14:41:09.000000000","message":"Done","commit_id":"f40d1b225edd868cc2069650fac08df9e77f28b8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"5f7b41e76a65da72a7eb6754fa96ca2aa3a168bd","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        # compatibility. We\u0027ll try to get an oslo.messaging"},{"line_number":72,"context_line":"        # driver from the specified strategy."},{"line_number":73,"context_line":"        _strategy \u003d strategy or CONF.notifier_strategy"},{"line_number":74,"context_line":"        _driver \u003d _STRATEGY_ALIASES.get(_strategy)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        # NOTE(flaper87): The next 3 lines help"},{"line_number":77,"context_line":"        # with the migration to oslo.messaging."}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2BQ40%3D","line":74,"updated":"2013-11-28 08:12:53.000000000","message":"it will be better if we adding logic to take care KeyError.","commit_id":"f40d1b225edd868cc2069650fac08df9e77f28b8"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"87ddb116904231a5e46368b69d0a0cc229b1c62e","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        # compatibility. We\u0027ll try to get an oslo.messaging"},{"line_number":72,"context_line":"        # driver from the specified strategy."},{"line_number":73,"context_line":"        _strategy \u003d strategy or CONF.notifier_strategy"},{"line_number":74,"context_line":"        _driver \u003d _STRATEGY_ALIASES.get(_strategy)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        # NOTE(flaper87): The next 3 lines help"},{"line_number":77,"context_line":"        # with the migration to oslo.messaging."}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2BO8o%3D","line":74,"in_reply_to":"AAAATn%2F%2BQ40%3D","updated":"2013-11-28 14:41:09.000000000","message":"Since the notify_strategy option is being deprecated, I\u0027d prefer not having fallback logics for it. A warning will be printed if a value !\u003d default is set, which means it was used.","commit_id":"f40d1b225edd868cc2069650fac08df9e77f28b8"},{"author":{"_account_id":4463,"name":"iccha-sethi","email":"iccha.sethi@rackspace.com","username":"iccha-sethi"},"change_message_id":"db1d6b3d453f85ff673f7496dfb4562da194d746","unresolved":false,"context_lines":[{"line_number":31,"context_line":"from glance.openstack.common import timeutils"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"notifier_opts \u003d ["},{"line_number":34,"context_line":"    cfg.StrOpt(\u0027notifier_strategy\u0027, default\u003d\u0027default\u0027,"},{"line_number":35,"context_line":"               help\u003d_(\u0027Notifications can be sent when images are create, \u0027"},{"line_number":36,"context_line":"                      \u0027updated or deleted. There are three methods of sending \u0027"},{"line_number":37,"context_line":"                      \u0027notifications, logging (via the log_file directive), \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F%2BLFg%3D","line":34,"updated":"2013-11-29 20:05:10.000000000","message":"do we want to have deprecation warning here too and load notification driver as well?","commit_id":"099624aad6e1340ff64b90086366573365fa3694"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"3fe2df290f12cacd9904c81e7b35ec971f22387e","unresolved":false,"context_lines":[{"line_number":31,"context_line":"from glance.openstack.common import timeutils"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"notifier_opts \u003d ["},{"line_number":34,"context_line":"    cfg.StrOpt(\u0027notifier_strategy\u0027, default\u003d\u0027default\u0027,"},{"line_number":35,"context_line":"               help\u003d_(\u0027Notifications can be sent when images are create, \u0027"},{"line_number":36,"context_line":"                      \u0027updated or deleted. There are three methods of sending \u0027"},{"line_number":37,"context_line":"                      \u0027notifications, logging (via the log_file directive), \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F%2BKKM%3D","line":34,"in_reply_to":"AAAATn%2F%2BLFg%3D","updated":"2013-11-30 16:18:26.000000000","message":"Unfortunately, This is the only way we have to mark this option as deprecated and use the notification_driver - which is loaded by oslo.messaging - instead. I\u0027d prefer to keep it like this and print the deprecation warning in the constructor if, and only if, the default value was changed.","commit_id":"099624aad6e1340ff64b90086366573365fa3694"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"0c96ace959d50319a70f0c2431bdb03a2898b5a1","unresolved":false,"context_lines":[{"line_number":17,"context_line":"#    under the License."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"import uuid"},{"line_number":21,"context_line":"import warnings"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from oslo.config import cfg"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F9%2B%2Bg%3D","line":20,"updated":"2013-12-03 19:13:00.000000000","message":"unused","commit_id":"1b7266088642803c0bc7afed1252ff8744e2f01c"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"0c96ace959d50319a70f0c2431bdb03a2898b5a1","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from glance.common import exception"},{"line_number":28,"context_line":"import glance.domain.proxy"},{"line_number":29,"context_line":"from glance.openstack.common import importutils"},{"line_number":30,"context_line":"import glance.openstack.common.log as logging"},{"line_number":31,"context_line":"from glance.openstack.common import timeutils"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F9%2B%2Bc%3D","line":29,"updated":"2013-12-03 19:13:00.000000000","message":"unused","commit_id":"1b7266088642803c0bc7afed1252ff8744e2f01c"}],"glance/tests/functional/__init__.py":[{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"39455279240014d2509d47c72ec2a9fedf904ce6","unresolved":false,"context_lines":[{"line_number":322,"context_line":"        self.lock_path \u003d self.test_dir"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"        self.conf_base \u003d \"\"\"[DEFAULT]"},{"line_number":325,"context_line":"default_publisher_id \u003d image.localhost"},{"line_number":326,"context_line":"verbose \u003d %(verbose)s"},{"line_number":327,"context_line":"debug \u003d %(debug)s"},{"line_number":328,"context_line":"default_log_levels \u003d eventlet.wsgi.server\u003dDEBUG"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F%2BLYk%3D","line":325,"updated":"2013-11-29 16:57:26.000000000","message":"Would you mind removing it by the way though it\u0027s harmless?","commit_id":"84df962549cd9f522f3a66d36b23e0227bda23f3"}],"glance/tests/unit/test_notifier.py":[{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"5f7b41e76a65da72a7eb6754fa96ca2aa3a168bd","unresolved":false,"context_lines":[{"line_number":30,"context_line":"from glance.common import exception"},{"line_number":31,"context_line":"import glance.context"},{"line_number":32,"context_line":"from glance import notifier"},{"line_number":33,"context_line":"from glance.openstack.common import importutils"},{"line_number":34,"context_line":"from glance.openstack.common import timeutils"},{"line_number":35,"context_line":"import glance.openstack.common.log as logging"},{"line_number":36,"context_line":"import glance.tests.unit.utils as unit_test_utils"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2BQ1s%3D","line":33,"updated":"2013-11-28 08:12:53.000000000","message":"unused","commit_id":"f40d1b225edd868cc2069650fac08df9e77f28b8"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"87ddb116904231a5e46368b69d0a0cc229b1c62e","unresolved":false,"context_lines":[{"line_number":30,"context_line":"from glance.common import exception"},{"line_number":31,"context_line":"import glance.context"},{"line_number":32,"context_line":"from glance import notifier"},{"line_number":33,"context_line":"from glance.openstack.common import importutils"},{"line_number":34,"context_line":"from glance.openstack.common import timeutils"},{"line_number":35,"context_line":"import glance.openstack.common.log as logging"},{"line_number":36,"context_line":"import glance.tests.unit.utils as unit_test_utils"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2BO8g%3D","line":33,"in_reply_to":"AAAATn%2F%2BQ1s%3D","updated":"2013-11-28 14:41:09.000000000","message":"Done","commit_id":"f40d1b225edd868cc2069650fac08df9e77f28b8"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"36183d8fd227c7c8b200048eb65e717ca18239a0","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def test_load_rabbit(self):"},{"line_number":105,"context_line":"        nfier \u003d notifier.Notifier(\u0027rabbit\u0027)"},{"line_number":106,"context_line":"        self.assertIsNotNone(nfier._transport)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    def test_custom_strategy(self):"},{"line_number":109,"context_line":"        st \u003d \"glance.notifier.notify_noop.NoopStrategy\""}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F9%2B9k%3D","line":106,"updated":"2013-12-03 19:16:08.000000000","message":"if there no other way to check this besides referencing a protected attr?","commit_id":"1b7266088642803c0bc7afed1252ff8744e2f01c"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"bd10592b362193ca169d770d908567032f962789","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def test_load_rabbit(self):"},{"line_number":105,"context_line":"        nfier \u003d notifier.Notifier(\u0027rabbit\u0027)"},{"line_number":106,"context_line":"        self.assertIsNotNone(nfier._transport)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    def test_custom_strategy(self):"},{"line_number":109,"context_line":"        st \u003d \"glance.notifier.notify_noop.NoopStrategy\""}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F9%2B70%3D","line":106,"in_reply_to":"AAAATn%2F9%2B8M%3D","updated":"2013-12-03 19:22:01.000000000","message":"Sounds good, thanks!","commit_id":"1b7266088642803c0bc7afed1252ff8744e2f01c"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"a0be435d6ae1ecba4a0eb55ab5d2eeab1ff29536","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def test_load_rabbit(self):"},{"line_number":105,"context_line":"        nfier \u003d notifier.Notifier(\u0027rabbit\u0027)"},{"line_number":106,"context_line":"        self.assertIsNotNone(nfier._transport)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    def test_custom_strategy(self):"},{"line_number":109,"context_line":"        st \u003d \"glance.notifier.notify_noop.NoopStrategy\""}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F9%2B8M%3D","line":106,"in_reply_to":"AAAATn%2F9%2B9k%3D","updated":"2013-12-03 19:20:48.000000000","message":"Unfortunately, no, unless we make it public which I prefer not to do. FWIW, This test will go away as soon as we remove notifier_strategy completely.","commit_id":"1b7266088642803c0bc7afed1252ff8744e2f01c"}],"glance/tests/unit/utils.py":[{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"5f7b41e76a65da72a7eb6754fa96ca2aa3a168bd","unresolved":false,"context_lines":[{"line_number":183,"context_line":"class FakeNotifier(object):"},{"line_number":184,"context_line":"    def __init__(self, *_args, **kwargs):"},{"line_number":185,"context_line":"        self.log \u003d []"},{"line_number":186,"context_line":"        self.publisher_id \u003d \"image.%s\" % socket.gethostname()"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def _notify(self, ctxt, event_type, payload, level):"},{"line_number":189,"context_line":"        log \u003d {}"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2BQvw%3D","line":186,"updated":"2013-11-28 08:12:53.000000000","message":"unused","commit_id":"f40d1b225edd868cc2069650fac08df9e77f28b8"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"87ddb116904231a5e46368b69d0a0cc229b1c62e","unresolved":false,"context_lines":[{"line_number":183,"context_line":"class FakeNotifier(object):"},{"line_number":184,"context_line":"    def __init__(self, *_args, **kwargs):"},{"line_number":185,"context_line":"        self.log \u003d []"},{"line_number":186,"context_line":"        self.publisher_id \u003d \"image.%s\" % socket.gethostname()"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def _notify(self, ctxt, event_type, payload, level):"},{"line_number":189,"context_line":"        log \u003d {}"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2BO8I%3D","line":186,"in_reply_to":"AAAATn%2F%2BQvw%3D","updated":"2013-11-28 14:41:09.000000000","message":"Done","commit_id":"f40d1b225edd868cc2069650fac08df9e77f28b8"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"39455279240014d2509d47c72ec2a9fedf904ce6","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import socket"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from oslo.config import cfg"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F%2BLY4%3D","line":16,"updated":"2013-11-29 16:57:26.000000000","message":"We don\u0027t need it anymore","commit_id":"84df962549cd9f522f3a66d36b23e0227bda23f3"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"06562d241724887334edee8ea0907cae22a767bc","unresolved":false,"context_lines":[{"line_number":201,"context_line":"    def debug(self, event_type, payload):"},{"line_number":202,"context_line":"        self._notify(event_type, payload, \u0027DEBUG\u0027)"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    def critical(self, context, event_type, payload):"},{"line_number":205,"context_line":"        self._notify(context, event_type, payload, \u0027CRITICAL\u0027)"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"    def get_logs(self):"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F99AE%3D","line":204,"updated":"2013-12-04 03:00:05.000000000","message":"Remove \u0027context\u0027 pls","commit_id":"672ff4f79d2699354f47e6352dbaaae54e6c4f93"}]}
