)]}'
{"glance/common/rpc.py":[{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"1366864cd9a716b12c225be5461f09c5155beef9","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        :params excluded: List of methods to exclude."},{"line_number":65,"context_line":"        :params refiner: Callable to use as filter for methods."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        :raises AsseritionError: If refiner is not callable."},{"line_number":68,"context_line":"        \"\"\""},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        funcs \u003d filter(lambda x: not x.startswith(\"_\"), dir(resource))"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOn%2F%2FztA%3D","line":67,"updated":"2013-04-22 18:49:11.000000000","message":"Minor typo, should be AssertionError","commit_id":"bbe92c74ab07c236eafc7ae5cf5979b302ad6391"},{"author":{"_account_id":7223,"name":"Ayal Baron","email":"abaron@redhat.com"},"change_message_id":"fe4a08dd99718300410bdae22baf8b5be0520469","unresolved":false,"context_lines":[{"line_number":73,"context_line":"            funcs \u003d [f for f in funcs if f in filtered]"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        if excluded:"},{"line_number":76,"context_line":"            funcs \u003d [f for f in funcs if f not in excluded]"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        if refiner:"},{"line_number":79,"context_line":"            assert callable(refiner), \"Refiner must be callable\""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOn%2F%2FypI%3D","line":76,"updated":"2013-04-23 09:03:57.000000000","message":"looks to me like filtered and excluded should be defined in an external refiner function (in common) and register should only accept \"refiner\"","commit_id":"bbe92c74ab07c236eafc7ae5cf5979b302ad6391"},{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"1366864cd9a716b12c225be5461f09c5155beef9","unresolved":false,"context_lines":[{"line_number":140,"context_line":"                       dict(val\u003dval, tb\u003dtraceback.format_exc()))"},{"line_number":141,"context_line":"                LOG.error(msg)"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"                cls_path \u003d \"%s.%s\" % (cls.__module__, cls.__name__)"},{"line_number":144,"context_line":"                result \u003d {\"_error\": {\"cls\": cls_path, \"val\": val}}"},{"line_number":145,"context_line":"            results.append(result)"},{"line_number":146,"context_line":"        return results"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOn%2F%2Fzpo%3D","line":143,"updated":"2013-04-22 18:49:11.000000000","message":"Maybe somehow this should only work for exceptions in glance.common.exception. I don\u0027t want clients to go out trying random imports, I\u0027ve heard folks complain about the security issues there.\n\nAny unrecognized exception could just be some generic Error, perhaps?","commit_id":"bbe92c74ab07c236eafc7ae5cf5979b302ad6391"}],"glance/registry/api/v2/rpc.py":[{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"1366864cd9a716b12c225be5461f09c5155beef9","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        self.resource \u003d resource"},{"line_number":41,"context_line":"        if not resource:"},{"line_number":42,"context_line":"            if CONF.data_api \u003d\u003d \"glance.db.registry.api\":"},{"line_number":43,"context_line":"                msg \u003d _(\"Registry service can\u0027t use %s\") % CONF.data_api"},{"line_number":44,"context_line":"                raise RuntimeError(msg)"},{"line_number":45,"context_line":"            self.resource \u003d glance.db.get_api()"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOn%2F%2Fzs0%3D","line":42,"updated":"2013-04-22 18:49:11.000000000","message":"Lol :-)\n\"It\u0027s registries all the way down!\"","commit_id":"bbe92c74ab07c236eafc7ae5cf5979b302ad6391"}]}
