sbin/sync/fabfile.py
changeset 193 a2c100af4e89
parent 173 8b881fb925ef
child 244 4f07ad576fee
equal deleted inserted replaced
192:9ed21978039b 193:a2c100af4e89
     1 from fablib import (export_version, do_sync_web, create_config, 
     1 import imp
     2     clean_export_folder, do_sync_comp, sync_install_build, do_create_virtualenv, 
     2 import os.path
     3     clean_rsync_folder, rsync_export, get_comp_versions_dict, SyncComp, 
     3 
       
     4 from fablib import (export_version, do_sync_web, create_config,
       
     5     clean_export_folder, do_sync_comp, sync_install_build, do_create_virtualenv,
       
     6     clean_rsync_folder, rsync_export, get_comp_versions_dict, SyncComp,
     4     do_relaunch_server)
     7     do_relaunch_server)
     5 from fabric.api import task, env
     8 from fabric.api import task, env
     6 from fabric.colors import green
     9 from fabric.colors import green
     7 import config #@UnusedImport
    10 from fabric.tasks import execute
     8 import imp
    11 
     9 import os.path
    12 import config  # @UnusedImport
       
    13 
    10 
    14 
    11 @task
    15 @task
    12 def relaunch_server(do_collectstatic=True, do_syncdb=True, do_check_folder_access=True):
    16 def relaunch_server(do_collectstatic=True, do_syncdb=True, do_check_folder_access=True):
    13     print("Relaunch server")
    17     print("Relaunch server")
    14     do_relaunch_server(do_collectstatic, do_syncdb, env.get('check_folder_access',do_check_folder_access))
    18     do_relaunch_server(do_collectstatic, do_syncdb, env.get('check_folder_access',do_check_folder_access))
    60     create_config(export_path_web)
    64     create_config(export_path_web)
    61     clean_export_folder(export_path)
    65     clean_export_folder(export_path)
    62     relaunch_server()
    66     relaunch_server()
    63 
    67 
    64 @task
    68 @task
    65 def create_virtualenv(version):
    69 def create_virtualenv(version, add_dep='no'):
    66     print(green("create virtualenv with version %s" % version))
    70     print(green("create virtualenv with version %s" % version))
    67     export_path = export_version(web=version)
    71     export_path = export_version(web=version)
    68     export_path_web = os.path.join(export_path,'web')
    72     export_path_web = os.path.join(export_path,'web')
    69     venv_remote_export_path = ""
    73     venv_remote_export_path = ""
    70     try:
    74     try:
    71         virtualenv_path = os.path.join(export_path_web, "virtualenv")
    75         virtualenv_path = os.path.join(export_path_web, "virtualenv")
    72     
    76     
    73         venv_remote_export_path = os.path.join(env.remote_path['venv_export'], env.export_prefix, version,"virtualenv")
    77         venv_remote_export_path = os.path.join(env.remote_path['venv_export'], env.export_prefix, version,"virtualenv")
    74         rsync_export(virtualenv_path, venv_remote_export_path, env.rsync_filters['venv'])
    78         rsync_export(virtualenv_path, venv_remote_export_path, env.rsync_filters['venv'])
    75         do_create_virtualenv(venv_remote_export_path, env.remote_path['virtualenv'])
    79         do_create_virtualenv(venv_remote_export_path, env.remote_path['virtualenv'])
       
    80         
       
    81         if add_dep and add_dep.lower()[0] == 'y':
       
    82             for sync_name in [key for key in env.repos if key != 'web']:
       
    83                 execute("sync_"+sync_name, version)
    76     finally:
    84     finally:
    77         clean_export_folder(export_path)
    85         clean_export_folder(export_path)
    78         if venv_remote_export_path:
    86         if venv_remote_export_path:
    79             clean_rsync_folder(venv_remote_export_path)
    87             clean_rsync_folder(venv_remote_export_path)
    80 
    88