)]}'
{"keystoneauth1/loading/base.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"8e685fb2c3670d0bae5b8b8d6992c686fab337dc","unresolved":false,"context_lines":[{"line_number":102,"context_line":"@six.add_metaclass(abc.ABCMeta)"},{"line_number":103,"context_line":"class BaseLoader(object):"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    @property"},{"line_number":106,"context_line":"    def plugin_class(self):"},{"line_number":107,"context_line":"        raise NotImplemented()"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_4b4e0170","line":105,"updated":"2016-06-29 13:24:01.000000000","message":"There needs to be some documentation that says that this is changing.","commit_id":"1469f6a4f34236084e5007dd2750fcc79093e781"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"6537780d4b2fa658e83bc25bef1f2e1ca26a715c","unresolved":false,"context_lines":[{"line_number":102,"context_line":"@six.add_metaclass(abc.ABCMeta)"},{"line_number":103,"context_line":"class BaseLoader(object):"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    @property"},{"line_number":106,"context_line":"    def plugin_class(self):"},{"line_number":107,"context_line":"        raise NotImplemented()"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_6b43fd13","line":105,"in_reply_to":"3aaa91ec_4b4e0170","updated":"2016-06-29 13:24:46.000000000","message":"Mentioning it in the commit message would be fine.","commit_id":"1469f6a4f34236084e5007dd2750fcc79093e781"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"8e685fb2c3670d0bae5b8b8d6992c686fab337dc","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    def create_plugin(self, **kwargs):"},{"line_number":110,"context_line":"        \"\"\"Create a plugin from the options available for the class."},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        Given the options that were specified by the class create an"},{"line_number":113,"context_line":"        appropriate plugin for them. You should override this function in your"},{"line_number":114,"context_line":"        loader."},{"line_number":115,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_6ba77d0b","line":112,"range":{"start_line":112,"start_character":49,"end_line":112,"end_character":58},"updated":"2016-06-29 13:24:01.000000000","message":"the application? How does a class specify options?","commit_id":"1469f6a4f34236084e5007dd2750fcc79093e781"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"8e685fb2c3670d0bae5b8b8d6992c686fab337dc","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        \"\"\"Create a plugin from the options available for the class."},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        Given the options that were specified by the class create an"},{"line_number":113,"context_line":"        appropriate plugin for them. You should override this function in your"},{"line_number":114,"context_line":"        loader."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        This used to be specified by providing the plugin_class property and"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_ab94c58a","line":113,"range":{"start_line":113,"start_character":31,"end_line":113,"end_character":35},"updated":"2016-06-29 13:24:01.000000000","message":"for what? the options ?","commit_id":"1469f6a4f34236084e5007dd2750fcc79093e781"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"8e685fb2c3670d0bae5b8b8d6992c686fab337dc","unresolved":false,"context_lines":[{"line_number":118,"context_line":"        choose a plugin type based upon the options that were presented."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        Override this function if you wish to return different plugins based on"},{"line_number":121,"context_line":"        the options presented, otherwise provide the plugin_class property."},{"line_number":122,"context_line":"        \"\"\""},{"line_number":123,"context_line":"        return self.plugin_class(**kwargs)"},{"line_number":124,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_cb6951c0","line":121,"updated":"2016-06-29 13:24:01.000000000","message":"As a developer, it would be useful if the documentation shows when this method was added.","commit_id":"1469f6a4f34236084e5007dd2750fcc79093e781"}]}
