python类prompt()的实例源码

fabfile.py 文件源码 项目:radar 作者: renalreg 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def staging():
    answer = prompt('Are you sure you want to DELETE ALL DATA on "{0}" and replace it with test data? (type "I am sure" to continue):'.format(env.host_string))

    if answer != 'I am sure':
        abort('Aborted!')

    run_fixtures('all')
07_05_run_mysql_command_remotely.py 文件源码 项目:011_python_network_programming_cookbook_demo 作者: jerry-0824 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def remote_server():
    # Edit this list to include remote hosts
    env.host = ['127.0.0.1']
    env.user = prompt('Enter your system username: ')
    env.password = getpass('Enter your system user password: ')
    env.mysqlhost = 'localhost'
    env.mysqluser = prompt('Enter your db username: ')
    env.mysqlpassword = getpass('Enter your db user password: ')
    env.db_name = ''
    """ Wraps mysql show databases cmd """
    q = "show databases"
    run("echo '%s' | mysql -u%s" %(q, env.mysqluser, env.mysqlpassword))
07_05_run_mysql_command_remotely.py 文件源码 项目:011_python_network_programming_cookbook_demo 作者: jerry-0824 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def run_sql(db_name, query):
    """ Generic function to run sql """
    with cd('/tmp'):
    run("echo '%s' | mysql -u%s -p%s -D%s" %(query, env.mysqluser, env.mysqlpassword, db_name))

def create_db():
    """ Create a MySQL DB for App version """
    if not env.db_name:
        db_name = prompt("Enter the DB name:")
    else:
        db_name = env.db_name
    run('echo "CREATE DATABASE %s default character set utf8 collate utf8 collate utf8_unicode_ci;"|mysql --batch --user=%s --password=%s --host=%s'\
        % (db_name, env.mysqluser, env.mysqlpassword, env.mysqlhost), pty=True)

def ls_db():
    """ List a dbs with size in MB """
    if not env.db_name:
        db_name = prompt("Which DB to ls?")
    else:
        db_name = env.db_name

    query = """SELECT table_schema "DB Name",
        Round(Sum(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB"
        FROM information_schema.tables
        WHERE table_schema = \"%s\"
        GROUP BY table_schema """ %db_name
    run_sql(db_name,query)

def empty_db():
    """ Empty all tables of a given DB """
    db-name = prompt("Enter DB name to empty:")
    cmd = """
    (echo 'SET foreign_key_checks = 0;';
    (mysqldump -u%s -p%s --add-drop-table --no-data %s |
    grep ^DROP);
    echo 'SET foreign_key_checks = 1;') | \
    mysql -u%s -p%s -b %s
    """ %(env.mysqluser, env.mysqlpassword, db_name, env.mysqluser, env.mysqlpassword, db_name)

    run(cmd)
07_04_install_python_package_remotely.py 文件源码 项目:011_python_network_programming_cookbook_demo 作者: jerry-0824 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def remote_server():
    env.hosts = ['127.0.0.1']
    env.user = prompt('Enter user name: ')
    env.password = getpass('Enter password: ')
07_06_transfer_file_over_ssh.py 文件源码 项目:011_python_network_programming_cookbook_demo 作者: jerry-0824 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def download_file():
    print "Checking local disk space..."
    local("df -h")
    remote_path = prompt("Enter the remote file path:")
    local_path = prompt("Enter the local file path:")
    get(remote_path=remote_path, local_path=local_path)
    local("ls %s" %local_path)
fabfile.py 文件源码 项目:zeus 作者: murilobsd 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def create_role():
    """Create Remote Role."""
    name_role = prompt("Unique name? ")
    with cd(remote_app_dir):
        sudo(
            "source env-{{NAMEPROJECT}}/bin/activate && python {{NAMEPROJECT}}/manage.py create_role -n {}".format(name_role))
fabfile.py 文件源码 项目:Django-Web-Development-with-Python 作者: PacktPublishing 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def _update_production():
    """ updates production environment """
    if "y" != prompt(red('Are you sure you want to update ' + red('production', bold=True) + ' website (y/n)?'), default="n"):
        return

    run("")  # password request
    print

    if env.full or "y" == prompt(red('Set maintenance screen (y/n)?'), default="y"):
        print(green(" * Setting maintenance screen"))
        run('cd ~/public_html/ '
            '&& cp .htaccess_maintenance .htaccess')
    print

    if env.full or "y" == prompt(red('Stop cron jobs (y/n)?'), default="y"):
        print(green(" * Stopping cron jobs"))
        sudo('/etc/init.d/cron stop')
    print

    if env.full or "y" == prompt(red('Backup database (y/n)?'), default="y"):
        print(green(" * creating a database dump..."))
        run('cd ~/db_backups/ '
            '&& ./backup_db.bsh')
    print

    if env.full or "y" == prompt(red('Update code (y/n)?'), default="y"):
        print(green(" * updating code..."))
        run('cd ~/project/myproject/ '
            '&& git pull')
    print

    if env.full or "y" == prompt(red('Collect static files (y/n)?'), default="y"):
        print(green(" * collecting static files..."))
        run('cd ~/project/myproject '
            '&& python manage.py collectstatic --noinput')
    print

    if env.full or "y" == prompt(red('Migrate database schema (y/n)?'), default="y"):
        print(green(" * migrating database schema..."))
        run('cd ~/project/myproject '
            '&& python manage.py migrate --no-initial-data')
        run('cd ~/project/myproject '
            '&& python manage.py syncdb')
    print

    if env.full or "y" == prompt(red('Restart webserver (y/n)?'), default="y"):
        print(green(" * Restarting Apache"))
        sudo('/etc/init.d/apache2 graceful')
    print

    if env.full or "y" == prompt(red('Start cron jobs (y/n)?'), default="y"):
        print(green(" * Starting cron jobs"))
        sudo('/etc/init.d/cron start')
    print

    if env.full or "y" == prompt(red('Unset maintenance screen (y/n)?'), default="y"):
        print(green(" * Unsetting maintenance screen"))
        run('cd ~/public_html/ '
            '&& cp .htaccess_live .htaccess')
    print
ServerLnmpWordpress.py 文件源码 项目:ezhost 作者: zhexiao 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def install_wordpress(self):
        if self.args.force or prompt(red(' * Install Wordpress (y/n)?'), default='y') == 'y':
            # create project web server config file if not exist
            with cd('/etc/nginx/sites-available'):
                if not exists(self.project):
                    sudo('touch {0}'.format(self.project))

                # check the php version is php5 or php7
                try:
                    sudo('php5-fpm -v')
                    # save wordpress config
                    put(StringIO(self.nginx_web_wordpress_config), self.project, use_sudo=True)
                except:
                    sudo('php-fpm7.0 -v')
                    # save wordpress config
                    put(StringIO(self.nginx_php7_web_wordpress_config), self.project, use_sudo=True)

            # go to web root
            with cd(self.nginx_web_dir):
                # download latest wordpress, extract and change mode
                sudo('wget https://wordpress.org/latest.tar.gz')
                sudo('tar -zxvf latest.tar.gz')
                sudo('sudo chown -R www-data:www-data wordpress')

                # rename wordpress project
                sudo('mv wordpress {0}'.format(self.project))

                # create uploads folder
                sudo('mkdir {0}/wp-content/uploads'.format(self.project))
                sudo('chown -R www-data:www-data {0}/wp-content/uploads'.format(self.project))

            # go to nginx enabled config
            with cd('/etc/nginx/sites-enabled'):
                if exists(self.project):
                    sudo('rm {0}'.format(self.project))

                # remove the default nginx config
                if exists('default'):
                    sudo('rm default')

                # move project web server config file from avaiable to enable folder
                sudo('ln -s /etc/nginx/sites-available/{0} .'.format(self.project))

            # restart server
            try:
                sudo('service php5-fpm restart')
            except:
                sudo('service php7.0-fpm restart')
            sudo('service nginx restart')

            print(green(' * Installed Wordpress project {0} in the system.'.format(self.project)))

            print(green(' * Done'))
            print()


问题


面经


文章

微信
公众号

扫码关注公众号