)]}'
{"rally/common/plugin/info.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"843c6ea229619ba1f48dd767af315b110ad0278f","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        By default it returns docstring of class, but it can be overridden"},{"line_number":88,"context_line":"        for example for cases like merging own docstring with parent"},{"line_number":89,"context_line":"        \"\"\""},{"line_number":90,"context_line":"        if hasattr(cls, \"is_validator\"):"},{"line_number":91,"context_line":"            return cls.__init__.__doc__"},{"line_number":92,"context_line":"        return cls.__doc__"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ffa3b31_c5e757e4","line":91,"range":{"start_line":90,"start_character":8,"end_line":91,"end_character":39},"updated":"2017-04-19 11:30:02.000000000","message":"There is no need to do it in the base class. Please extend Validator class like it is done for Type objects.","commit_id":"adfd8af8eec4390304d64d607977f62455e5cfd1"}],"rally/common/validation.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"843c6ea229619ba1f48dd767af315b110ad0278f","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"@configure(name\u003d\"required_platform\")"},{"line_number":47,"context_line":"class RequiredPlatformValidator(Validator):"},{"line_number":48,"context_line":"    \"\"\"Validates credentials for specified platform.\"\"\""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def __init__(self, platform, admin\u003dFalse, users\u003dFalse):"},{"line_number":51,"context_line":"        \"\"\"Initial setup of class"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ffa3b31_65f52383","line":48,"range":{"start_line":48,"start_character":7,"end_line":48,"end_character":52},"updated":"2017-04-19 11:30:02.000000000","message":"I suppose we need to move that line at L51, since docstring of __init__ method is in use.","commit_id":"adfd8af8eec4390304d64d607977f62455e5cfd1"}],"tests/unit/doc/test_docstrings.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"f85159efe3285c015b3e3df6bba979f8a7726606","unresolved":false,"context_lines":[{"line_number":80,"context_line":"                                                    plg_cls.run.__code__)"},{"line_number":81,"context_line":"                elif hasattr(plg_cls, \"validate\") and not plg_cls.__doc__:"},{"line_number":82,"context_line":"                    msg \u003d self._validate_code_block(plg_cls,"},{"line_number":83,"context_line":"                                                    plg_cls.validate.__code__)"},{"line_number":84,"context_line":"                msg_buffer.extend(msg) if len(msg) else None"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    def test_all_plugins_have_docstrings(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ffa3b31_d8a9a7dd","line":83,"range":{"start_line":83,"start_character":52,"end_line":83,"end_character":77},"updated":"2017-04-18 11:41:00.000000000","message":"not sure that it should be checked. Method validate has the same arguments across all subclasses. I prefer to check __init__ method of subclasses of rally.common.validation.Validators.","commit_id":"7af9565b72d6ccbbada6d1df5f25466cfe2f09c6"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"843c6ea229619ba1f48dd767af315b110ad0278f","unresolved":false,"context_lines":[{"line_number":75,"context_line":"                    setattr(plg_cls, \"is_validator\", True)"},{"line_number":76,"context_line":"                    msg \u003d self._validate_code_block("},{"line_number":77,"context_line":"                        plg_cls, plg_cls.__init__.__code__)"},{"line_number":78,"context_line":"                except Exception:"},{"line_number":79,"context_line":"                    pass"},{"line_number":80,"context_line":"            msg_buffer.extend(msg) if len(msg) else None"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    def test_all_plugins_have_docstrings(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ffa3b31_85282fe2","line":79,"range":{"start_line":78,"start_character":1,"end_line":79,"end_character":24},"updated":"2017-04-19 11:30:02.000000000","message":"Why we need it here?","commit_id":"adfd8af8eec4390304d64d607977f62455e5cfd1"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"843c6ea229619ba1f48dd767af315b110ad0278f","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    def test_all_plugins_have_docstrings(self):"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        result \u003d []"},{"line_number":85,"context_line":"        msg_buffer \u003d []"},{"line_number":86,"context_line":"        self._check_docstrings(msg_buffer)"},{"line_number":87,"context_line":"        result.extend(msg_buffer)"},{"line_number":88,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7ffa3b31_251ddbbc","line":85,"range":{"start_line":84,"start_character":8,"end_line":85,"end_character":23},"updated":"2017-04-19 11:30:02.000000000","message":"there is no reason to have two variables. The variable \"result\" can be initialized at L84 and transmitter to both of _check methods and everything should work.","commit_id":"adfd8af8eec4390304d64d607977f62455e5cfd1"}]}
