<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def fact(name, puppet=False):
    '''
    Run facter for a specific fact

    CLI Example:

    .. code-block:: bash

        salt '*' puppet.fact kernel
    '''
    opt_puppet = '--puppet' if puppet else ''
    ret = __salt__['cmd.run_all'](
            'facter {0} {1}'.format(opt_puppet, name),
            python_shell=False)

    if ret['retcode'] != 0:
        raise CommandExecutionError(ret['stderr'])

    if not ret['stdout']:
        return ''
    return ret['stdout']