'Handle the looking - add fallback to details.'

def func(self):

    caller = self.caller
    args = self.args
    if args:
        looking_at_obj = caller.search(args, candidates=(caller.location.contents + caller.contents), use_nicks=True, quiet=True)
        if (not looking_at_obj):
            location = caller.location
            if (location and hasattr(location, 'return_detail') and callable(location.return_detail)):
                detail = location.return_detail(args)
                if detail:
                    caller.msg(detail)
                    return
            _AT_SEARCH_RESULT(looking_at_obj, caller, args, quiet=False)
            return
        else:
            looking_at_obj = utils.make_iter(looking_at_obj)[0]
    else:
        looking_at_obj = caller.location
        if (not looking_at_obj):
            caller.msg('You    have    no    location    to    look    at!')
            return
    if (not hasattr(looking_at_obj, 'return_appearance')):
        looking_at_obj = looking_at_obj.character
    if (not looking_at_obj.access(caller, 'view')):
        caller.msg(("Could    not    find    '%s'." % args))
        return
    caller.msg(looking_at_obj.return_appearance(caller))
    looking_at_obj.at_desc(looker=caller)
