)]}'
{"watcher/datasource/manager.py":[{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d18007aa5efeab7f6964c32f70da9a8b316cf1bb","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        #      datasource API and try to align with check strategy requirements"},{"line_number":70,"context_line":"        for metric in metrics:"},{"line_number":71,"context_line":"            if metric not in self.metric_map[datasource]:"},{"line_number":72,"context_line":"                    # TODO(adisky): raise meter not available exception"},{"line_number":73,"context_line":"                    raise Exception"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        if datasource \u003d\u003d \u0027ceilometer\u0027:"},{"line_number":76,"context_line":"            return self.ceilometer"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f485f77_4d5a5a4f","line":73,"range":{"start_line":72,"start_character":20,"end_line":73,"end_character":35},"updated":"2017-11-15 08:32:55.000000000","message":"indent","commit_id":"1f32ad66f9afdccd256940646a3e4552847d6f89"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"810309e243421e81d5524a44e853261a359d355c","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        self._monasca \u003d None"},{"line_number":34,"context_line":"        self._gnocchi \u003d None"},{"line_number":35,"context_line":"        self.metric_map \u003d base.DataSourceBase.METRIC_MAP"},{"line_number":36,"context_line":"        self.datasources \u003d self.config.datasource"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @property"},{"line_number":39,"context_line":"    def ceilometer(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"df87a7cf_bacffc27","line":36,"range":{"start_line":36,"start_character":39,"end_line":36,"end_character":49},"updated":"2017-12-14 06:52:27.000000000","message":"In my understanding for getting datasource from config we need to write the following.\n\ndef get_config_opts(cls):\n    return [\n        cfg.ListOpt(\n            \u0027datasource\u0027,\n            default\u003d[\u0027gnocchi\u0027])\n]","commit_id":"e401cb7c9d454e1e6ce2959034f2bb498c74eea2"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"14af6fdfe62232108539eef7c82cbb092498fbd1","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        self._monasca \u003d None"},{"line_number":34,"context_line":"        self._gnocchi \u003d None"},{"line_number":35,"context_line":"        self.metric_map \u003d base.DataSourceBase.METRIC_MAP"},{"line_number":36,"context_line":"        self.datasources \u003d self.config.datasource"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @property"},{"line_number":39,"context_line":"    def ceilometer(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"df87a7cf_ba044e16","line":36,"range":{"start_line":36,"start_character":39,"end_line":36,"end_character":49},"in_reply_to":"df87a7cf_21390ad6","updated":"2017-12-20 07:49:36.000000000","message":"OK, Thanks.","commit_id":"e401cb7c9d454e1e6ce2959034f2bb498c74eea2"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"2a795084962835db62d7cb10ab244cdbae47da9f","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        self._monasca \u003d None"},{"line_number":34,"context_line":"        self._gnocchi \u003d None"},{"line_number":35,"context_line":"        self.metric_map \u003d base.DataSourceBase.METRIC_MAP"},{"line_number":36,"context_line":"        self.datasources \u003d self.config.datasource"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @property"},{"line_number":39,"context_line":"    def ceilometer(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"df87a7cf_21390ad6","line":36,"range":{"start_line":36,"start_character":39,"end_line":36,"end_character":49},"in_reply_to":"df87a7cf_bacffc27","updated":"2017-12-19 12:10:48.000000000","message":"Since DataSourceManager is called after registration of options of Strategy class, we may retrieve datasource via self.config.datasource.","commit_id":"e401cb7c9d454e1e6ce2959034f2bb498c74eea2"}]}
