def vagrant(ver='latest'):
    """
    (Default) Deploy latest version or specific tag to vagrant. Usage: deploy.vagrant:(latest|#.#.#)
    """
    if ver == 'latest':
        create_package()
        ver = get_git_version()

    packages = [f for f in os.listdir('ansible/roles/application/files') if re.match(r'\w+-%s(\.tar.gz|.*\.whl)' % ver.replace('.', '\.'), f)]
    if len(packages) != 2:
        print 'failed to find packages for version: %s' % ver
        exit(1)

    local('ansible-playbook -i ansible/inventory/webservers/vagrant.ini --extra-vars "version=%s" --private-key=.vagrant/machines/web/virtualbox/private_key -u vagrant -v --sudo ansible/deploy.yml' % ver)
def production(ver='latest'):
    """
    Deploy latest version or specific tag to production. Usage: deploy.production:(latest|#.#.#)
    """
    if 'settings' not in env:
        env['settings'] = 'mysite.settings.production'

    if ver == 'latest':
        create_package()
        ver = get_git_version()

    packages = [f for f in os.listdir('ansible/roles/application/files') if re.match(r'\w+-%s(\.tar.gz|.*\.whl)' % ver.replace('.', '\.'), f)]
    if len(packages) != 2:
        print 'failed to find packages for version: %s' % ver
        exit(1)

    local('ansible-playbook ansible/deploy.yml -i ansible/inventory/production.ini --list-hosts')