Commit aae9110c authored by Weblate's avatar Weblate

Merge remote-tracking branch 'origin/master'

parents 0937fd79 ff0fe89f
...@@ -119,8 +119,5 @@ ALLOWED_HOSTS = [os.environ['OPENSHIFT_APP_DNS']] ...@@ -119,8 +119,5 @@ ALLOWED_HOSTS = [os.environ['OPENSHIFT_APP_DNS']]
TTF_PATH = os.path.join(os.environ['OPENSHIFT_REPO_DIR'], 'weblate', 'ttf') TTF_PATH = os.path.join(os.environ['OPENSHIFT_REPO_DIR'], 'weblate', 'ttf')
os.environ['HOME'] = os.environ['OPENSHIFT_DATA_DIR']
# Import environment variables prefixed with WEBLATE_ as weblate settings # Import environment variables prefixed with WEBLATE_ as weblate settings
import_env_vars(os.environ, sys.modules[__name__]) import_env_vars(os.environ, sys.modules[__name__])
...@@ -25,17 +25,26 @@ import os ...@@ -25,17 +25,26 @@ import os
from weblate import appsettings from weblate import appsettings
def create_and_check_dir(path):
"""Ensure directory exists and is writable by us"""
if not os.path.exists(path):
os.makedirs(path)
else:
if not os.access(path, os.W_OK):
raise OSError(
'DATA_DIR {0} is not writable!'.format(path)
)
def check_data_writable(): def check_data_writable():
""" """
Check we can write to data dir. Check we can write to data dir.
""" """
if not os.path.exists(appsettings.DATA_DIR): create_and_check_dir(appsettings.DATA_DIR)
os.makedirs(appsettings.DATA_DIR) create_and_check_dir(data_dir('home'))
else: create_and_check_dir(data_dir('whoosh'))
if not os.access(appsettings.DATA_DIR, os.W_OK): create_and_check_dir(data_dir('ssh'))
raise OSError( create_and_check_dir(data_dir('vcs'))
'DATA_DIR {0} is not writable!'.format(appsettings.DATA_DIR)
)
def data_dir(component): def data_dir(component):
......
...@@ -46,15 +46,6 @@ ssh \ ...@@ -46,15 +46,6 @@ ssh \
''' '''
def ensure_ssh_dir():
"""
Ensures the ssh configuration directory exists.
"""
ssh_dir = data_dir('ssh')
if not os.path.exists(ssh_dir):
os.makedirs(ssh_dir)
def ssh_file(filename): def ssh_file(filename):
""" """
Generates full path to SSH configuration file. Generates full path to SSH configuration file.
...@@ -139,9 +130,6 @@ def generate_ssh_key(request): ...@@ -139,9 +130,6 @@ def generate_ssh_key(request):
Generates SSH key. Generates SSH key.
""" """
try: try:
# Create directory if it does not exist
ensure_ssh_dir()
# Actually generate the key # Actually generate the key
subprocess.check_output( subprocess.check_output(
[ [
...@@ -167,7 +155,6 @@ def add_host_key(request): ...@@ -167,7 +155,6 @@ def add_host_key(request):
""" """
Adds host key for a host. Adds host key for a host.
""" """
ensure_ssh_dir()
host = request.POST.get('host', '') host = request.POST.get('host', '')
port = request.POST.get('port', '') port = request.POST.get('port', '')
if len(host) == 0: if len(host) == 0:
...@@ -226,11 +213,6 @@ def can_generate_key(): ...@@ -226,11 +213,6 @@ def can_generate_key():
""" """
Checks whether we can generate key. Checks whether we can generate key.
""" """
try:
ensure_ssh_dir()
except OSError:
return False
return find_executable('ssh-keygen') is not None return find_executable('ssh-keygen') is not None
...@@ -238,8 +220,6 @@ def create_ssh_wrapper(): ...@@ -238,8 +220,6 @@ def create_ssh_wrapper():
""" """
Creates wrapper for SSH to pass custom known hosts and key. Creates wrapper for SSH to pass custom known hosts and key.
""" """
ensure_ssh_dir()
ssh_wrapper = ssh_file(SSH_WRAPPER) ssh_wrapper = ssh_file(SSH_WRAPPER)
with open(ssh_wrapper, 'w') as handle: with open(ssh_wrapper, 'w') as handle:
......
...@@ -28,6 +28,7 @@ import os ...@@ -28,6 +28,7 @@ import os
import urlparse import urlparse
import hashlib import hashlib
import weblate import weblate
from weblate.trans.data import data_dir
try: try:
import rollbar import rollbar
...@@ -156,11 +157,12 @@ def get_clean_env(extra=None): ...@@ -156,11 +157,12 @@ def get_clean_env(extra=None):
Returns cleaned up environment for subprocess execution. Returns cleaned up environment for subprocess execution.
""" """
environ = { environ = {
'LANG': 'en_US.UTF-8' 'LANG': 'en_US.UTF-8',
'HOME': data_dir('home'),
} }
if extra is not None: if extra is not None:
environ.update(extra) environ.update(extra)
variables = ('HOME', 'PATH', 'LD_LIBRARY_PATH') variables = ('PATH', 'LD_LIBRARY_PATH')
for var in variables: for var in variables:
if var in os.environ: if var in os.environ:
environ[var] = os.environ[var] environ[var] = os.environ[var]
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment