Continue to add cname -> project link to enable flask app redirects.
parent
3c3b981cf0
commit
cf836627c6
|
@ -10,11 +10,9 @@
|
||||||
.rope_project/
|
.rope_project/
|
||||||
.ropeproject/
|
.ropeproject/
|
||||||
_build
|
_build
|
||||||
cnames
|
|
||||||
bower_components/
|
bower_components/
|
||||||
deploy/.vagrant
|
deploy/.vagrant
|
||||||
dist/*
|
dist/*
|
||||||
doc_root
|
|
||||||
local_settings.py
|
local_settings.py
|
||||||
locks/*
|
locks/*
|
||||||
logs/*
|
logs/*
|
||||||
|
@ -35,8 +33,7 @@ prod_artifacts
|
||||||
wheelhouse
|
wheelhouse
|
||||||
whoosh_index
|
whoosh_index
|
||||||
xml_output
|
xml_output
|
||||||
public_cnames
|
|
||||||
public_symlinks
|
|
||||||
public_web_root
|
public_web_root
|
||||||
|
public_cname_project
|
||||||
public_cname_root
|
public_cname_root
|
||||||
.rope_project/
|
.rope_project/
|
||||||
|
|
|
@ -77,6 +77,7 @@ class Symlink(object):
|
||||||
|
|
||||||
CNAME_ROOT = os.path.join(settings.SITE_ROOT, 'public_cname_root')
|
CNAME_ROOT = os.path.join(settings.SITE_ROOT, 'public_cname_root')
|
||||||
WEB_ROOT = os.path.join(settings.SITE_ROOT, 'public_web_root')
|
WEB_ROOT = os.path.join(settings.SITE_ROOT, 'public_web_root')
|
||||||
|
PROJECT_CNAME_ROOT = os.path.join(settings.SITE_ROOT, 'public_cname_project')
|
||||||
|
|
||||||
def __init__(self, project):
|
def __init__(self, project):
|
||||||
self.project = project
|
self.project = project
|
||||||
|
@ -111,6 +112,12 @@ class Symlink(object):
|
||||||
elif not os.path.exists(self.PROJECT_ROOT):
|
elif not os.path.exists(self.PROJECT_ROOT):
|
||||||
os.makedirs(self.PROJECT_ROOT)
|
os.makedirs(self.PROJECT_ROOT)
|
||||||
|
|
||||||
|
# CNAME root directories
|
||||||
|
if not os.path.lexists(self.CNAME_ROOT):
|
||||||
|
os.makedirs(self.CNAME_ROOT)
|
||||||
|
if not os.path.lexists(self.PROJECT_CNAME_ROOT):
|
||||||
|
os.makedirs(self.PROJECT_CNAME_ROOT)
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
"""
|
"""
|
||||||
Create proper symlinks in the right order.
|
Create proper symlinks in the right order.
|
||||||
|
@ -133,8 +140,13 @@ class Symlink(object):
|
||||||
def symlink_cnames(self, domain=None):
|
def symlink_cnames(self, domain=None):
|
||||||
"""Symlink project CNAME domains
|
"""Symlink project CNAME domains
|
||||||
|
|
||||||
Link from HOME/user_builds/$CNAME_ROOT/<cname> ->
|
Link from HOME/$CNAME_ROOT/<cname> ->
|
||||||
HOME/user_builds/$WEB_ROOT/<project>
|
HOME/$WEB_ROOT/<project>
|
||||||
|
|
||||||
|
Also give cname -> project link
|
||||||
|
|
||||||
|
Link from HOME/public_cname_project/<cname> ->
|
||||||
|
HOME/<project>/
|
||||||
"""
|
"""
|
||||||
if domain:
|
if domain:
|
||||||
domains = [domain]
|
domains = [domain]
|
||||||
|
@ -142,15 +154,14 @@ class Symlink(object):
|
||||||
domains = Domain.objects.filter(project=self.project)
|
domains = Domain.objects.filter(project=self.project)
|
||||||
for domain in domains:
|
for domain in domains:
|
||||||
self._log("Symlinking CNAME: {0} -> {1}".format(domain.domain, self.project.slug))
|
self._log("Symlinking CNAME: {0} -> {1}".format(domain.domain, self.project.slug))
|
||||||
docs_dir = self.PROJECT_ROOT
|
|
||||||
symlink = os.path.join(self.CNAME_ROOT, domain.domain)
|
|
||||||
|
|
||||||
# Make sure containing directories exist
|
# CNAME to doc root
|
||||||
symlink_dir = os.sep.join(symlink.split(os.path.sep)[:-1])
|
symlink = os.path.join(self.CNAME_ROOT, domain.domain)
|
||||||
if not os.path.lexists(symlink_dir):
|
run('ln -nsf {0} {1}'.format(self.PROJECT_ROOT, symlink))
|
||||||
os.makedirs(symlink_dir)
|
|
||||||
# Create proper symlinks
|
# Project symlink
|
||||||
print run('ln -nsf {0} {1}'.format(docs_dir, symlink))
|
project_cname_symlink = os.path.join(self.PROJECT_CNAME_ROOT, domain.domain)
|
||||||
|
run('ln -nsf %s %s' % (self.project.doc_path, project_cname_symlink))
|
||||||
|
|
||||||
def remove_symlink_cname(self, domain):
|
def remove_symlink_cname(self, domain):
|
||||||
"""Remove single_version symlink"""
|
"""Remove single_version symlink"""
|
||||||
|
|
Loading…
Reference in New Issue