websetup.py
47 lines
| 1.4 KiB
| text/x-python
|
PythonLexer
/ pylons_app / websetup.py
|
r0 | """Setup the pylons_app application""" | ||
r327 | ||||
from os.path import dirname as dn, join as jn | ||||
from pylons_app.config.environment import load_environment | ||||
from pylons_app.lib.db_manage import DbManage | ||||
r459 | import datetime | |||
from time import mktime | ||||
|
r0 | import logging | ||
r327 | import os | |||
import sys | ||||
r469 | import tarfile | |||
|
r0 | log = logging.getLogger(__name__) | ||
r327 | ROOT = dn(dn(os.path.realpath(__file__))) | |||
sys.path.append(ROOT) | ||||
|
r0 | def setup_app(command, conf, vars): | ||
"""Place any commands to setup pylons_app here""" | ||||
r459 | log_sql = True | |||
tests = False | ||||
dbname = os.path.split(conf['sqlalchemy.db1.url'])[-1] | ||||
filename = os.path.split(conf.filename)[-1] | ||||
if filename == 'tests.ini': | ||||
uniq_suffix = str(int(mktime(datetime.datetime.now().timetuple()))) | ||||
REPO_TEST_PATH = '/tmp/hg_app_test_%s' % uniq_suffix | ||||
if not os.path.isdir(REPO_TEST_PATH): | ||||
os.mkdir(REPO_TEST_PATH) | ||||
r469 | cur_dir = dn(os.path.abspath(__file__)) | |||
tar = tarfile.open(jn(cur_dir,'tests',"vcs_test.tar.gz")) | ||||
tar.extractall(REPO_TEST_PATH) | ||||
tar.close() | ||||
r459 | ||||
tests = True | ||||
dbmanage = DbManage(log_sql, dbname, tests) | ||||
r327 | dbmanage.create_tables(override=True) | |||
r459 | dbmanage.config_prompt(REPO_TEST_PATH) | |||
dbmanage.create_default_user() | ||||
r327 | dbmanage.admin_prompt() | |||
dbmanage.create_permissions() | ||||
r417 | dbmanage.populate_default_permissions() | |||
r365 | load_environment(conf.global_conf, conf.local_conf, initial=True) | |||
r327 | ||||