<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def check_user_can_view_comments(user_info, recid):
 """Check if the user is authorized to view comments for given recid. Returns the same type as acc_authorize_action """

    # Check user can view the record itself first
    (auth_code, auth_msg) = check_user_can_view_record(user_info, recid)
    if auth_code:
        return (auth_code, auth_msg)

    # Check if user can view the comments
    # But first can we find an authorization for this case action,
    # for this collection?
    record_primary_collection = guess_primary_collection_of_a_record(recid)
    return acc_authorize_action(
        user_info,
        'viewcomment',
        authorized_if_no_roles=True,
        collection=record_primary_collection)