2018-05-08 11:31:41 +00:00
|
|
|
#!/usr/bin/python3
|
|
|
|
|
|
|
|
from os.path import join, abspath, basename, dirname
|
2018-05-09 09:12:24 +00:00
|
|
|
import os
|
|
|
|
import re
|
2018-05-08 11:31:41 +00:00
|
|
|
|
2018-05-08 12:00:27 +00:00
|
|
|
name = 'cms'
|
2018-05-08 11:31:41 +00:00
|
|
|
|
|
|
|
base = abspath(dirname(__file__))
|
|
|
|
os.chdir(base)
|
|
|
|
|
|
|
|
for root, folders, files in os.walk(join(base, 'static')):
|
|
|
|
for f in files:
|
|
|
|
src = join(root, f)
|
2018-08-10 10:59:56 +00:00
|
|
|
if 'ontology/' in src:
|
|
|
|
continue
|
2018-05-08 11:31:41 +00:00
|
|
|
target = src.replace(base, '/srv/pandora')
|
|
|
|
rel_src = os.path.relpath(src, dirname(target))
|
|
|
|
if os.path.exists(target):
|
|
|
|
os.unlink(target)
|
|
|
|
os.symlink(rel_src, target)
|
|
|
|
|
2018-08-10 10:59:56 +00:00
|
|
|
src = join(base, 'static', 'ontology')
|
|
|
|
target = src.replace(base, '/srv/pandora')
|
|
|
|
rel_src = os.path.relpath(src, dirname(target))
|
|
|
|
if os.path.exists(target):
|
|
|
|
os.unlink(target)
|
|
|
|
os.symlink(rel_src, target)
|
|
|
|
|
2018-05-08 11:31:41 +00:00
|
|
|
os.chdir(base)
|
|
|
|
src = join(base, 'config.jsonc')
|
|
|
|
target = '/srv/pandora/pandora/config.%s.jsonc' % name
|
|
|
|
rel_src = os.path.relpath(src, dirname(target))
|
|
|
|
if os.path.exists(target):
|
|
|
|
os.unlink(target)
|
|
|
|
os.symlink(rel_src, target)
|
|
|
|
t = '/srv/pandora/pandora/config.jsonc'
|
|
|
|
if os.path.exists(t):
|
|
|
|
os.unlink(t)
|
|
|
|
os.symlink(basename(target), t)
|
|
|
|
|
|
|
|
for root, folders, files in os.walk(join(base, 'scripts')):
|
|
|
|
for f in files:
|
|
|
|
src = join(root, f)
|
|
|
|
target = src.replace(base, '/srv/pandora')
|
|
|
|
rel_src = os.path.relpath(src, dirname(target))
|
|
|
|
if os.path.exists(target):
|
|
|
|
os.unlink(target)
|
|
|
|
os.symlink(rel_src, target)
|
|
|
|
if f == 'poster.%s.py' % name:
|
|
|
|
t = os.path.join(dirname(target), 'poster.py')
|
|
|
|
if os.path.exists(t):
|
|
|
|
os.unlink(t)
|
|
|
|
os.symlink(f, os.path.join(dirname(target), t))
|
|
|
|
|
|
|
|
if os.path.exists('__init__.py'):
|
|
|
|
# make module available to pandora
|
|
|
|
target = os.path.join('/srv/pandora/pandora/', name)
|
|
|
|
rel_src = os.path.relpath(base, dirname(target))
|
|
|
|
if os.path.exists(target):
|
|
|
|
os.unlink(target)
|
|
|
|
os.symlink(rel_src, target)
|
|
|
|
|
|
|
|
# include module in local settings
|
|
|
|
local_settings_py = '/srv/pandora/pandora/local_settings.py'
|
|
|
|
with open(local_settings_py) as fd:
|
|
|
|
local_settings_changed = False
|
|
|
|
local_settings = fd.read()
|
|
|
|
if 'LOCAL_APPS' not in local_settings:
|
|
|
|
local_settings += '\nLOCAL_APPS = ["%s"]\n' % name
|
|
|
|
local_settings_changed = True
|
|
|
|
else:
|
|
|
|
apps = re.compile('(LOCAL_APPS.*?)\]', re.DOTALL).findall(local_settings)[0]
|
|
|
|
if name not in apps:
|
|
|
|
new_apps = apps.strip() + ',\n"%s"\n' % name
|
|
|
|
local_settings = local_settings.replace(apps, new_apps)
|
|
|
|
local_settings_changed = True
|
|
|
|
if local_settings_changed:
|
|
|
|
with open(local_settings_py, 'w') as fd:
|
|
|
|
fd.write(local_settings)
|