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']]
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_env_vars(os.environ, sys.modules[__name__])
......@@ -25,17 +25,26 @@ import os
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():
"""
Check we can write to data dir.
"""
if not os.path.exists(appsettings.DATA_DIR):
os.makedirs(appsettings.DATA_DIR)
else:
if not os.access(appsettings.DATA_DIR, os.W_OK):
raise OSError(
'DATA_DIR {0} is not writable!'.format(appsettings.DATA_DIR)
)
create_and_check_dir(appsettings.DATA_DIR)
create_and_check_dir(data_dir('home'))
create_and_check_dir(data_dir('whoosh'))
create_and_check_dir(data_dir('ssh'))
create_and_check_dir(data_dir('vcs'))
def data_dir(component):
......
......@@ -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):
"""
Generates full path to SSH configuration file.
......@@ -139,9 +130,6 @@ def generate_ssh_key(request):
Generates SSH key.
"""
try:
# Create directory if it does not exist
ensure_ssh_dir()
# Actually generate the key
subprocess.check_output(
[
......@@ -167,7 +155,6 @@ def add_host_key(request):
"""
Adds host key for a host.
"""
ensure_ssh_dir()
host = request.POST.get('host', '')
port = request.POST.get('port', '')
if len(host) == 0:
......@@ -226,11 +213,6 @@ def 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
......@@ -238,8 +220,6 @@ def create_ssh_wrapper():
"""
Creates wrapper for SSH to pass custom known hosts and key.
"""
ensure_ssh_dir()
ssh_wrapper = ssh_file(SSH_WRAPPER)
with open(ssh_wrapper, 'w') as handle:
......
......@@ -28,6 +28,7 @@ import os
import urlparse
import hashlib
import weblate
from weblate.trans.data import data_dir
try:
import rollbar
......@@ -156,11 +157,12 @@ def get_clean_env(extra=None):
Returns cleaned up environment for subprocess execution.
"""
environ = {
'LANG': 'en_US.UTF-8'
'LANG': 'en_US.UTF-8',
'HOME': data_dir('home'),
}
if extra is not None:
environ.update(extra)
variables = ('HOME', 'PATH', 'LD_LIBRARY_PATH')
variables = ('PATH', 'LD_LIBRARY_PATH')
for var in variables:
if var in os.environ:
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