--- a/sbin/sync/fabfile.py Tue Jun 12 18:37:23 2012 +0200
+++ b/sbin/sync/fabfile.py Wed Jun 13 00:54:46 2012 +0200
@@ -1,6 +1,7 @@
from fabric.api import task, run, local, env, cd, put, prefix, sudo
from fabric.colors import green
from fabric.contrib.project import rsync_project
+from fabric.contrib.files import exists, upload_template
from mercurial import commands, ui, hg, cmdutil
import imp
import os, os.path
@@ -102,7 +103,37 @@
with prefix("source \"%s\"" % activate_path), prefix("export PYTHONPATH=\"%s\"" % remotepath), cd(remotepath):
run("python manage.py collectstatic --noinput")
-
+def create_config(export_path):
+ print("Create config from %s" % (export_path,))
+ remotepath = env.remote_web_path
+ remote_config_path = os.path.join(remotepath, env.platform_web_module, "config.py")
+ template_path = os.path.join(export_path, "web", env.platform_web_module, "config.py.tmpl")
+
+ context = {
+ 'base_dir': os.path.join(remotepath, env.platform_web_module).rstrip("/")+"/",
+ 'base_url': env.base_url,
+ 'base_url': env.web_url,
+ 'stream_url': env.stream_url,
+ 'stream_src_prefix': env.stream_src_prefix,
+ 'ffmpeg_path': env.ffmpeg_path,
+ 'db_engine': env.db_engine,
+ 'db_name': env.db_name,
+ 'db_user': env.db_user,
+ 'db_password': env.db_password,
+ 'db_host': env.db_host,
+ 'db_port': env.db_port,
+ 'log_file': env.log_file,
+ 'index_path': env.index_path,
+ 'google_analytics_code': env.google_analytics_code,
+ 'email_use_tls': env.email_use_tls,
+ 'email_host': env.email_host,
+ 'email_host_user': env.email_host_user,
+ 'email_host_user': env.email_host_user,
+ 'email_port': env.email_port,
+ }
+
+ if not exists(remote_config_path, verbose=True):
+ upload_template(template_path, remote_config_path, context=context)
def export_version(version):
print("export version %s" % str(version))
@@ -156,7 +187,8 @@
def sync_web(version):
print(green("sync web with version %s" % version))
export_path = export_version(version)
- do_sync_web(version, export_path)
+ do_sync_web(version, export_path)
+ create_config(export_path)
clean_export_folder(export_path)
relaunch_server()