def add_source(name, source_location, username=None, password=None):
    choc_path = _find_chocolatey(__context__, __salt__)
    cmd = [choc_path, 'sources', 'Add', '-Name', name, "-Source", source_location]
    if username:
        cmd.extend(['-u', username])
    if password:
        cmd.extend(['-p', password])
    result = __salt__['cmd.run_all'](cmd, python_shell=False)

    if result['retcode'] != 0:
        err = 'Running chocolatey failed: {0}'.format(result['stderr'])
        log.error(err)
        raise CommandExecutionError(err)

    return result['stdout']
L{isIPAddress} should return C{False} for negative decimal values.
dataset/ETHPy150Open saltstack/salt/salt/modules/chocolatey.py/add_source--crossover with--dataset/ETHPy150Open kuri65536/python-for-android/python-modules/twisted/twisted/test/test_abstract.py/AddressTests.test_invalidNegative