--- a/sbin/sync/config.py.tmpl Fri Mar 21 19:34:51 2014 +0100
+++ b/sbin/sync/config.py.tmpl Wed Mar 26 15:27:15 2014 +0100
@@ -62,3 +62,5 @@
},
}
+env.check_folder_access = True
+
--- a/sbin/sync/fabfile.py Fri Mar 21 19:34:51 2014 +0100
+++ b/sbin/sync/fabfile.py Wed Mar 26 15:27:15 2014 +0100
@@ -1,17 +1,19 @@
-from fabric.api import task, env, sudo
-
-from fablib import (export_version, do_sync_web, create_config,
- clean_export_folder, sync_install_build, do_create_virtualenv,
- clean_rsync_folder, rsync_export, do_relaunch_server)
-from fabric.colors import green
import imp
import os.path
-import config
+
+import config # @UnusedImport
+from fablib import (export_version, do_sync_web, create_config,
+ clean_export_folder, do_sync_comp, sync_install_build, do_create_virtualenv,
+ clean_rsync_folder, rsync_export, get_comp_versions_dict, SyncComp,
+ do_relaunch_server)
+from fabric.api import task, env
+from fabric.colors import green
+
@task
-def relaunch_server(do_collectstatic=True, do_syncdb=True):
+def relaunch_server(do_collectstatic=True, do_syncdb=True, do_check_folder_access=True):
print("Relaunch server")
- do_relaunch_server(do_collectstatic, do_syncdb)
+ do_relaunch_server(do_collectstatic, do_syncdb, env.get('check_folder_access',do_check_folder_access))
@task
def sync_web(version):
@@ -40,7 +42,7 @@
sync_install_build(package_path_full)
clean_export_folder(export_path)
relaunch_server()
-
+
@task
def create_virtualenv(version):
@@ -58,3 +60,27 @@
clean_export_folder(export_path)
if venv_remote_export_path:
clean_rsync_folder(venv_remote_export_path)
+
+if len(env.repos) > 1:
+ @task
+ def sync_platform(version):
+ print(green("sync platform with version web %s" % (version)))
+ export_path = export_version(web=version)
+
+ export_path_web = os.path.join(export_path,'web')
+ do_sync_web(version, export_path_web)
+
+ comp_versions = get_comp_versions_dict(export_path_web)
+
+ for key in [k for k in env.repos if k != 'web']:
+ export_path_key = export_version(**{key: comp_versions[key]})
+ export_path_comp = os.path.join(export_path_key, key)
+ do_sync_comp(key, export_path_comp)
+ clean_export_folder(export_path_key)
+
+ create_config(export_path_web)
+ clean_export_folder(export_path)
+ relaunch_server()
+
+for sync_name in [key for key in env.repos if key != 'web']:
+ globals()[sync_name] = SyncComp(sync_name)