diff -r 80c372a0485e -r 8a0df65c065c sbin/sync/fabfile.py --- 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()