<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def status(self, code=None):
 """Check status code in response returned by application. If ``code`` is not None, assert that ``code`` is returned by application, else simply return the status code. :param code: ``code`` to assert that application returns :type code: int Example usage:: check50.flask.app("application.py").status(200) status = check50.flask.app("application.py").get("/").status() if status != 200: raise check50.Failure(f"expected status code 200, but got {status}") """

        if code is None:
            return self.response.status_code

        log(_("checking that status code {} is returned...").format(code))
        if code != self.response.status_code:
            raise Failure(_("expected status code {}, but got {}").format(
                code, self.response.status_code))
        return self