)]}'
{"ceilometer/agent/plugin_base.py":[{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"ab0d4d0a012ea8d3c8ae61b04499a64cf309c2c9","unresolved":false,"context_lines":[{"line_number":182,"context_line":"                if any(meter_filter(m[\u0027counter_name\u0027]) for m in meters):"},{"line_number":183,"context_line":"                    notifier.sample(context.to_dict(),"},{"line_number":184,"context_line":"                                    event_type\u003d\u0027ceilometer.pipeline\u0027,"},{"line_number":185,"context_line":"                                    payload\u003dmeters)"},{"line_number":186,"context_line":"        else:"},{"line_number":187,"context_line":"            with self.transporter.publisher(context) as p:"},{"line_number":188,"context_line":"                p(list(self.process_notification(notification)))"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6ced46_36519d36","line":185,"updated":"2015-03-26 08:25:50.000000000","message":"hmm, the if/else here seems getting more and more hacky. \n\nTo me, the if/else doesn\u0027t seem very different. They both first process_notificaiton(), then check if supported, and finally publish the data. The only difference here is that PipelineManager will call the publisher defined in the pipeline, while here we call a special publisher.\n\nCould we create special class which also have a publisher() interface to return a very special PublisherContext which will call the special publisher here, so we don\u0027t need the if/else clause any more?","commit_id":"23e9ba6300ea86168f41818c0c8a0dd9bb7435cc"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"fc95f120f884720f46780bbd07c31466c0c4d258","unresolved":false,"context_lines":[{"line_number":182,"context_line":"                if any(meter_filter(m[\u0027counter_name\u0027]) for m in meters):"},{"line_number":183,"context_line":"                    notifier.sample(context.to_dict(),"},{"line_number":184,"context_line":"                                    event_type\u003d\u0027ceilometer.pipeline\u0027,"},{"line_number":185,"context_line":"                                    payload\u003dmeters)"},{"line_number":186,"context_line":"        else:"},{"line_number":187,"context_line":"            with self.transporter.publisher(context) as p:"},{"line_number":188,"context_line":"                p(list(self.process_notification(notification)))"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa963961_68c73746","line":185,"in_reply_to":"1a6ced46_36519d36","updated":"2015-03-26 14:11:35.000000000","message":"i will look into this.","commit_id":"23e9ba6300ea86168f41818c0c8a0dd9bb7435cc"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"ae21924a944b12a8489d59e030ded444e20b8262","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    \"\"\"Base class for plugins that support the notification API.\"\"\""},{"line_number":93,"context_line":"    def __init__(self, manager):"},{"line_number":94,"context_line":"        super(NotificationBase, self).__init__()"},{"line_number":95,"context_line":"        self.manager \u003d manager"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    @abc.abstractproperty"},{"line_number":98,"context_line":"    def event_types(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa963961_704a6785","line":95,"updated":"2015-03-27 01:47:10.000000000","message":"nitpicking, maybe we could add some comment about the the requirement of the manager?","commit_id":"f72bbe9ced6c2995fe4beaa369f9e09c6a604c44"}],"ceilometer/pipeline.py":[{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"ae21924a944b12a8489d59e030ded444e20b8262","unresolved":false,"context_lines":[{"line_number":110,"context_line":"            p(events)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"class _PipelineTransportManager(object):"},{"line_number":114,"context_line":"    def __init__(self):"},{"line_number":115,"context_line":"        self.transporters \u003d []"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa963961_eb3a08cd","line":113,"updated":"2015-03-27 01:47:10.000000000","message":"Seems form Ln64 to Ln163 are all dealing with internal notification/event processing, not the user facing pipeline configuration things. Maybe move these out of this file? not an objection.","commit_id":"f72bbe9ced6c2995fe4beaa369f9e09c6a604c44"}]}
