1 from fabric.api import task, env, sudo |
|
2 |
|
3 from fablib import (export_version, do_sync_web, create_config, |
|
4 clean_export_folder, sync_install_build, do_create_virtualenv, |
|
5 clean_rsync_folder, rsync_export, do_relaunch_server) |
|
6 from fabric.colors import green |
|
7 import imp |
1 import imp |
8 import os.path |
2 import os.path |
9 import config |
3 |
|
4 import config # @UnusedImport |
|
5 from fablib import (export_version, do_sync_web, create_config, |
|
6 clean_export_folder, do_sync_comp, sync_install_build, do_create_virtualenv, |
|
7 clean_rsync_folder, rsync_export, get_comp_versions_dict, SyncComp, |
|
8 do_relaunch_server) |
|
9 from fabric.api import task, env |
|
10 from fabric.colors import green |
|
11 |
10 |
12 |
11 @task |
13 @task |
12 def relaunch_server(do_collectstatic=True, do_syncdb=True): |
14 def relaunch_server(do_collectstatic=True, do_syncdb=True, do_check_folder_access=True): |
13 print("Relaunch server") |
15 print("Relaunch server") |
14 do_relaunch_server(do_collectstatic, do_syncdb) |
16 do_relaunch_server(do_collectstatic, do_syncdb, env.get('check_folder_access',do_check_folder_access)) |
15 |
17 |
16 @task |
18 @task |
17 def sync_web(version): |
19 def sync_web(version): |
18 print(green("sync web with version %s" % version)) |
20 print(green("sync web with version %s" % version)) |
19 export_path = export_version(web=version) |
21 export_path = export_version(web=version) |
38 package_path_full = os.path.join(export_path_full, "virtualenv", "res", "src", lib_create_env.URLS[package]['local']) |
40 package_path_full = os.path.join(export_path_full, "virtualenv", "res", "src", lib_create_env.URLS[package]['local']) |
39 |
41 |
40 sync_install_build(package_path_full) |
42 sync_install_build(package_path_full) |
41 clean_export_folder(export_path) |
43 clean_export_folder(export_path) |
42 relaunch_server() |
44 relaunch_server() |
43 |
45 |
44 |
46 |
45 @task |
47 @task |
46 def create_virtualenv(version): |
48 def create_virtualenv(version): |
47 print(green("create virtualenv with version %s" % version)) |
49 print(green("create virtualenv with version %s" % version)) |
48 export_path = export_version(web=version) |
50 export_path = export_version(web=version) |
56 do_create_virtualenv(venv_remote_export_path, env.remote_path['virtualenv']) |
58 do_create_virtualenv(venv_remote_export_path, env.remote_path['virtualenv']) |
57 finally: |
59 finally: |
58 clean_export_folder(export_path) |
60 clean_export_folder(export_path) |
59 if venv_remote_export_path: |
61 if venv_remote_export_path: |
60 clean_rsync_folder(venv_remote_export_path) |
62 clean_rsync_folder(venv_remote_export_path) |
|
63 |
|
64 if len(env.repos) > 1: |
|
65 @task |
|
66 def sync_platform(version): |
|
67 print(green("sync platform with version web %s" % (version))) |
|
68 export_path = export_version(web=version) |
|
69 |
|
70 export_path_web = os.path.join(export_path,'web') |
|
71 do_sync_web(version, export_path_web) |
|
72 |
|
73 comp_versions = get_comp_versions_dict(export_path_web) |
|
74 |
|
75 for key in [k for k in env.repos if k != 'web']: |
|
76 export_path_key = export_version(**{key: comp_versions[key]}) |
|
77 export_path_comp = os.path.join(export_path_key, key) |
|
78 do_sync_comp(key, export_path_comp) |
|
79 clean_export_folder(export_path_key) |
|
80 |
|
81 create_config(export_path_web) |
|
82 clean_export_folder(export_path) |
|
83 relaunch_server() |
|
84 |
|
85 for sync_name in [key for key in env.repos if key != 'web']: |
|
86 globals()[sync_name] = SyncComp(sync_name) |