<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def print_info(self, obj=None, buf=sys.stdout):
 """Print a status message about the given object. If an object is not provided, status info is shown about the current environment - what the active context is if any, and what suites are visible. Args: obj (str):
 String which may be one of the following: - A tool name; - A package name, possibly versioned; - A context filepath; - A suite filepath; - The name of a context in a visible suite. """

        if not obj:
            self._print_info(buf)
            return True

        b = False
        for fn in (self._print_tool_info,
                   self._print_package_info,
                   self._print_suite_info,
                   self._print_context_info):
            b_ = fn(obj, buf, b)
            b |= b_
            if b_:
                print >> buf, ''

        if not b:
            print >> buf, "Rez does not know what '%s' is" % obj
        return b