)]}'
{"hacking/checks/docstrings.py":[{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"385e68b969817a3298d6a9c59253271469bc0232","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    \u003chttp://pep257.readthedocs.org/en/latest/error_codes.html\u003e`_ for more"},{"line_number":29,"context_line":"    reference."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    \"\"\""},{"line_number":32,"context_line":"    @functools.wraps(f)"},{"line_number":33,"context_line":"    def wrapper(*args, **kwargs):"},{"line_number":34,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_2bce7fb4","line":31,"updated":"2016-04-21 16:38:39.000000000","message":"I think this could be better implemented as:\n\ntry:\n    import flake8_docstrings\nexcept ImportError:\n    flake8_docstrings \u003d None\n\ndef skip_if_flake8_docstrings_is_available(f):\n    \"...\"\n    @functools.wrap(f)\n    def wrapper(*args, **kwargs):\n        if flake8_docstrings:\n            return None\n        return f(*args, **kwargs)\n    return wrapper","commit_id":"c9881eef9f34146697d3811736003156b7399fdf"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"46f890d6db88d300567642e821fb4fe11f5f340f","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    reference."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    \"\"\""},{"line_number":32,"context_line":"    @functools.wraps(f)"},{"line_number":33,"context_line":"    def wrapper(*args, **kwargs):"},{"line_number":34,"context_line":"        try:"},{"line_number":35,"context_line":"            import flake8_docstrings"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ac06dbe_28a32851","line":32,"updated":"2016-08-24 19:21:02.000000000","message":"Probably should use six.wraps() instead\n\n@six.wraps(wrapped, assigned\u003dfunctools.WRAPPER_ASSIGNMENTS, updated\u003dfunctools.WRAPPER_UPDATES)\n\nThis is exactly the functools.wraps() decorator, but it sets the __wrapped__ attribute on what it decorates as functools.wraps() does on Python versions after 3.2.","commit_id":"c9881eef9f34146697d3811736003156b7399fdf"}]}
