)]}'
{"ceilometer/publisher/meter_publish.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"459681d031f4fc7e492eefd9e00e23968be36bd8","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"METER_PUBLISH_OPTS \u003d ["},{"line_number":36,"context_line":"    cfg.StrOpt(\u0027metering_topic\u0027,"},{"line_number":37,"context_line":"               default\u003d\u0027metering\u0027,"},{"line_number":38,"context_line":"               help\u003d\u0027the topic ceilometer uses for metering messages\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2F8gc%3D","line":35,"updated":"2013-04-10 17:25:30.000000000","message":"We should go ahead and set a group for these options, if we\u0027re going to be expecting other projects to have the settings in their config file.","commit_id":"2716c73c61eb1402e22aea326097c27fce6206c2"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"26512c669097874eefebaba7a77952c9c323ec4f","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"METER_PUBLISH_OPTS \u003d ["},{"line_number":36,"context_line":"    cfg.StrOpt(\u0027metering_topic\u0027,"},{"line_number":37,"context_line":"               default\u003d\u0027metering\u0027,"},{"line_number":38,"context_line":"               help\u003d\u0027the topic ceilometer uses for metering messages\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2F3Xs%3D","line":35,"in_reply_to":"AAAAOn%2F%2F8gc%3D","updated":"2013-04-16 19:07:30.000000000","message":"Good idea.","commit_id":"2716c73c61eb1402e22aea326097c27fce6206c2"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"459681d031f4fc7e492eefd9e00e23968be36bd8","unresolved":false,"context_lines":[{"line_number":53,"context_line":"register_opts(cfg.CONF)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"def recursive_keypairs(d):"},{"line_number":57,"context_line":"    \"\"\"Generator that produces sequence of keypairs for nested dictionaries."},{"line_number":58,"context_line":"    \"\"\""},{"line_number":59,"context_line":"    for name, value in sorted(d.iteritems()):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2F8g8%3D","line":56,"updated":"2013-04-10 17:25:30.000000000","message":"How do you feel about putting the functions for dealing with the signature in their own module in this package?","commit_id":"2716c73c61eb1402e22aea326097c27fce6206c2"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"26512c669097874eefebaba7a77952c9c323ec4f","unresolved":false,"context_lines":[{"line_number":53,"context_line":"register_opts(cfg.CONF)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"def recursive_keypairs(d):"},{"line_number":57,"context_line":"    \"\"\"Generator that produces sequence of keypairs for nested dictionaries."},{"line_number":58,"context_line":"    \"\"\""},{"line_number":59,"context_line":"    for name, value in sorted(d.iteritems()):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2F3T0%3D","line":56,"in_reply_to":"AAAAOn%2F%2F8g8%3D","updated":"2013-04-16 19:07:30.000000000","message":"Thought about it, but I think it\u0027ll be less scary for proposing this to Oslo. :)","commit_id":"2716c73c61eb1402e22aea326097c27fce6206c2"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"392e8ed35e9ad657a96237ae31c02cdae0d6e051","unresolved":false,"context_lines":[{"line_number":47,"context_line":"def register_opts(config):"},{"line_number":48,"context_line":"    \"\"\"Register the options for publishing metering messages."},{"line_number":49,"context_line":"    \"\"\""},{"line_number":50,"context_line":"    config.register_opts(METER_PUBLISH_OPTS, group\u003d\"publisher_meter\")"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"register_opts(cfg.CONF)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAOn%2F%2FxZE%3D","line":50,"updated":"2013-04-23 21:39:39.000000000","message":"We should add a deprecated group setting here so that old config files can be upgraded more easily.","commit_id":"37093396b15dbc786873b1512fe56acca02e18e5"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"470369fbcee501802ca43d08c1e7d0481268c773","unresolved":false,"context_lines":[{"line_number":47,"context_line":"def register_opts(config):"},{"line_number":48,"context_line":"    \"\"\"Register the options for publishing metering messages."},{"line_number":49,"context_line":"    \"\"\""},{"line_number":50,"context_line":"    config.register_opts(METER_PUBLISH_OPTS, group\u003d\"publisher_meter\")"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"register_opts(cfg.CONF)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAOn%2F%2FwtI%3D","line":50,"in_reply_to":"AAAAOn%2F%2FxZE%3D","updated":"2013-04-24 13:10:39.000000000","message":"Done","commit_id":"37093396b15dbc786873b1512fe56acca02e18e5"}],"etc/ceilometer/ceilometer.conf.sample":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"ce3dd3c3e4932a6875cb1200022168aa2104a66b","unresolved":false,"context_lines":[{"line_number":405,"context_line":""},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"######## defined in ceilometer.publisher.meter ########"},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"# the topic ceilometer uses for metering messages (string"},{"line_number":410,"context_line":"# value)"},{"line_number":411,"context_line":"#metering_topic\u003dmetering"}],"source_content_type":"application/octet-stream","patch_set":10,"id":"AAAAOn%2F%2FgUw%3D","line":408,"updated":"2013-05-07 16:30:50.000000000","message":"can be left for future patch but should be under [publisher_meter]","commit_id":"43d728c6319811d3361c66b2b56a02ef0cc42bde"}],"setup.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"f0c1dba9b2875e84bd16863380fec86963eed8e2","unresolved":false,"context_lines":[{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    [ceilometer.publisher]"},{"line_number":143,"context_line":"    meter_publisher \u003d ceilometer.publisher.meter_publish:MeterPublisher"},{"line_number":144,"context_line":"    meter \u003d ceilometer.publisher.meter_publish:MeterPublisher"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    [paste.filter_factory]"},{"line_number":147,"context_line":"    swift\u003dceilometer.objectstore.swift_middleware:filter_factory"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAOn%2F%2Ftvk%3D","line":144,"updated":"2013-04-26 14:58:58.000000000","message":"is this for backward compatibility?","commit_id":"387223fe5d03cd472cea16098f91dc1017d3f6bf"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"5e553ec1cbc226db1fd6941676b70c1ee8ab2852","unresolved":false,"context_lines":[{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    [ceilometer.publisher]"},{"line_number":143,"context_line":"    meter_publisher \u003d ceilometer.publisher.meter_publish:MeterPublisher"},{"line_number":144,"context_line":"    meter \u003d ceilometer.publisher.meter_publish:MeterPublisher"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    [paste.filter_factory]"},{"line_number":147,"context_line":"    swift\u003dceilometer.objectstore.swift_middleware:filter_factory"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAOn%2F%2FmR4%3D","line":144,"in_reply_to":"AAAAOn%2F%2Ftvk%3D","updated":"2013-05-02 12:13:51.000000000","message":"Yes :)","commit_id":"387223fe5d03cd472cea16098f91dc1017d3f6bf"}],"tests/publisher/test_meter_publisher.py":[{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"e8911f7d3fa097001ac8d5f9c296a3997b2587cd","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def test_compute_signature_change_key():"},{"line_number":33,"context_line":"    sig1 \u003d meter.compute_signature({\u0027a\u0027: \u0027A\u0027, \u0027b\u0027: \u0027B\u0027},"},{"line_number":34,"context_line":"                                           \u0027not-so-secret\u0027)"},{"line_number":35,"context_line":"    sig2 \u003d meter.compute_signature({\u0027A\u0027: \u0027A\u0027, \u0027b\u0027: \u0027B\u0027},"},{"line_number":36,"context_line":"                                           \u0027not-so-secret\u0027)"},{"line_number":37,"context_line":"    assert sig1 !\u003d sig2"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAOn%2F%2Fkfs%3D","line":34,"updated":"2013-05-03 15:09:19.000000000","message":"pep8 violation: E127 continuation line over-indented for visual indent","commit_id":"0b3973fd261a75e8fe7058c8213e79453cf771fe"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"e8911f7d3fa097001ac8d5f9c296a3997b2587cd","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    sig1 \u003d meter.compute_signature({\u0027a\u0027: \u0027A\u0027, \u0027b\u0027: \u0027B\u0027},"},{"line_number":34,"context_line":"                                           \u0027not-so-secret\u0027)"},{"line_number":35,"context_line":"    sig2 \u003d meter.compute_signature({\u0027A\u0027: \u0027A\u0027, \u0027b\u0027: \u0027B\u0027},"},{"line_number":36,"context_line":"                                           \u0027not-so-secret\u0027)"},{"line_number":37,"context_line":"    assert sig1 !\u003d sig2"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAOn%2F%2Fkfo%3D","line":36,"updated":"2013-05-03 15:09:19.000000000","message":"pep8 violation: E127 continuation line over-indented for visual indent","commit_id":"0b3973fd261a75e8fe7058c8213e79453cf771fe"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"e8911f7d3fa097001ac8d5f9c296a3997b2587cd","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"def test_compute_signature_change_value():"},{"line_number":41,"context_line":"    sig1 \u003d meter.compute_signature({\u0027a\u0027: \u0027A\u0027, \u0027b\u0027: \u0027B\u0027},"},{"line_number":42,"context_line":"                                           \u0027not-so-secret\u0027)"},{"line_number":43,"context_line":"    sig2 \u003d meter.compute_signature({\u0027a\u0027: \u0027a\u0027, \u0027b\u0027: \u0027B\u0027},"},{"line_number":44,"context_line":"                                           \u0027not-so-secret\u0027)"},{"line_number":45,"context_line":"    assert sig1 !\u003d sig2"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAOn%2F%2Fkfk%3D","line":42,"updated":"2013-05-03 15:09:19.000000000","message":"pep8 violation: E127 continuation line over-indented for visual indent","commit_id":"0b3973fd261a75e8fe7058c8213e79453cf771fe"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"e8911f7d3fa097001ac8d5f9c296a3997b2587cd","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    sig1 \u003d meter.compute_signature({\u0027a\u0027: \u0027A\u0027, \u0027b\u0027: \u0027B\u0027},"},{"line_number":42,"context_line":"                                           \u0027not-so-secret\u0027)"},{"line_number":43,"context_line":"    sig2 \u003d meter.compute_signature({\u0027a\u0027: \u0027a\u0027, \u0027b\u0027: \u0027B\u0027},"},{"line_number":44,"context_line":"                                           \u0027not-so-secret\u0027)"},{"line_number":45,"context_line":"    assert sig1 !\u003d sig2"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAOn%2F%2Fkfg%3D","line":44,"updated":"2013-05-03 15:09:19.000000000","message":"pep8 violation: E127 continuation line over-indented for visual indent","commit_id":"0b3973fd261a75e8fe7058c8213e79453cf771fe"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"e8911f7d3fa097001ac8d5f9c296a3997b2587cd","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"def test_compute_signature_same():"},{"line_number":49,"context_line":"    sig1 \u003d meter.compute_signature({\u0027a\u0027: \u0027A\u0027, \u0027b\u0027: \u0027B\u0027},"},{"line_number":50,"context_line":"                                           \u0027not-so-secret\u0027)"},{"line_number":51,"context_line":"    sig2 \u003d meter.compute_signature({\u0027a\u0027: \u0027A\u0027, \u0027b\u0027: \u0027B\u0027},"},{"line_number":52,"context_line":"                                           \u0027not-so-secret\u0027)"},{"line_number":53,"context_line":"    assert sig1 \u003d\u003d sig2"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAOn%2F%2Fkfc%3D","line":50,"updated":"2013-05-03 15:09:19.000000000","message":"pep8 violation: E127 continuation line over-indented for visual indent","commit_id":"0b3973fd261a75e8fe7058c8213e79453cf771fe"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"e8911f7d3fa097001ac8d5f9c296a3997b2587cd","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    sig1 \u003d meter.compute_signature({\u0027a\u0027: \u0027A\u0027, \u0027b\u0027: \u0027B\u0027},"},{"line_number":50,"context_line":"                                           \u0027not-so-secret\u0027)"},{"line_number":51,"context_line":"    sig2 \u003d meter.compute_signature({\u0027a\u0027: \u0027A\u0027, \u0027b\u0027: \u0027B\u0027},"},{"line_number":52,"context_line":"                                           \u0027not-so-secret\u0027)"},{"line_number":53,"context_line":"    assert sig1 \u003d\u003d sig2"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAOn%2F%2FkfY%3D","line":52,"updated":"2013-05-03 15:09:19.000000000","message":"pep8 violation: E127 continuation line over-indented for visual indent","commit_id":"0b3973fd261a75e8fe7058c8213e79453cf771fe"}],"tools/make_test_data.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"d4f17c75e2e41b89a9b1881cc63aec776e4626da","unresolved":false,"context_lines":[{"line_number":26,"context_line":"import sys"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"from oslo.config import cfg"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"from ceilometer.collector import meter"},{"line_number":31,"context_line":"from ceilometer import counter"},{"line_number":32,"context_line":"from ceilometer import storage"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAOn%2F%2F2ro%3D","line":29,"updated":"2013-04-17 14:44:31.000000000","message":"this needs to change.","commit_id":"15e89868495ecbd65f515069c51b1d820de38d9a"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"d4f17c75e2e41b89a9b1881cc63aec776e4626da","unresolved":false,"context_lines":[{"line_number":129,"context_line":"                            timestamp\u003dtimestamp,"},{"line_number":130,"context_line":"                            resource_metadata\u003d{},"},{"line_number":131,"context_line":"                            )"},{"line_number":132,"context_line":"        data \u003d meter.meter_message_from_counter(c,"},{"line_number":133,"context_line":"                                                cfg.CONF.publisher_meter.metering_secret,"},{"line_number":134,"context_line":"                                                \u0027artificial\u0027)"},{"line_number":135,"context_line":"        conn.record_metering_data(data)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAOn%2F%2F2rk%3D","line":132,"updated":"2013-04-17 14:44:31.000000000","message":"adjust accordingly to above change","commit_id":"15e89868495ecbd65f515069c51b1d820de38d9a"}]}
