def get_env(name, default=None, is_bool=False): for env_key in [name, 'HEARTEX_' + name, 'LABEL_STUDIO_' + name]: value = os.environ.get(name) if value is not None: if is_bool: return get_bool_env(env_key, default) else: return value
def localfiles_data(request): """Serving files for LocalFilesImportStorage""" path = request.GET.get('d') local_serving_allowed = get_bool_env('LOCAL_FILES_SERVING_ENABLED', default=False) if local_serving_allowed is False: return HttpResponseForbidden( "Serving local files can be dangerous, so it's disabled by default. " 'You can enable it with LOCAL_FILES_SERVING_ENABLED environment variable' ) local_serving_document_root = get_env('LOCAL_FILES_DOCUMENT_ROOT', default='/') if path and request.user.is_authenticated: return serve(request, path, document_root=local_serving_document_root) return HttpResponseForbidden()
HOSTNAME = HOSTNAME[0:-1] # for django url resolver if HOSTNAME: # http[s]://domain.com:8080/script_name => /script_name pattern = re.compile(r'^http[s]?:\/\/([^:\/\s]+(:\d*)?)(.*)?') match = pattern.match(HOSTNAME) FORCE_SCRIPT_NAME = match.group(3) if FORCE_SCRIPT_NAME: print("=> Django URL prefix is set to:", FORCE_SCRIPT_NAME) # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = '$(fefwefwef13;LFK{P!)@#*!)kdsjfWF2l+i5e3t(8a1n' # SECURITY WARNING: don't run with debug turned on in production! DEBUG = get_bool_env('DEBUG', True) # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # Base path for media root and other uploaded files BASE_DATA_DIR = get_env('BASE_DATA_DIR', get_data_dir()) os.makedirs(BASE_DATA_DIR, exist_ok=True) print('=> Database and media directory:', BASE_DATA_DIR) # Databases # https://docs.djangoproject.com/en/2.1/ref/settings/#databases DJANGO_DB_SQLITE = 'sqlite' DJANGO_DB = 'default' DATABASE_NAME_DEFAULT = os.path.join(BASE_DATA_DIR, 'label_studio.sqlite3') DATABASE_NAME = get_env('DATABASE_NAME', DATABASE_NAME_DEFAULT)
For the full list of settings and their values, see https://docs.djangoproject.com/en/2.1/ref/settings/ """ import os from core.utils.io import get_data_dir from core.utils.params import get_bool_env # Hostname is used for proper path generation to the resources, pages, etc HOSTNAME = os.environ.get('HOST', '') # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = '$(fefwefwef13;LFK{P!)@#*!)kdsjfWF2l+i5e3t(8a1n' # SECURITY WARNING: don't run with debug turned on in production! DEBUG = get_bool_env('DEBUG', True) # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # Base path for media root and other uploaded files BASE_DATA_DIR = os.environ.get('LABEL_STUDIO_BASE_DATA_DIR', get_data_dir()) print('Data base and media directory: ', BASE_DATA_DIR) # Databases # https://docs.djangoproject.com/en/2.1/ref/settings/#databases DJANGO_DB_SQLITE = 'sqlite' DJANGO_DB = 'default' DATABASE_NAME_DEFAULT = os.path.join(BASE_DATA_DIR, 'label_studio.sqlite3') DATABASE_NAME = os.environ.get('DATABASE_NAME', DATABASE_NAME_DEFAULT) DATABASES_ALL = {
HOSTNAME = HOSTNAME[0:-1] # for django url resolver if HOSTNAME: # http[s]://domain.com:8080/script_name => /script_name pattern = re.compile(r'^http[s]?:\/\/([^:\/\s]+(:\d*)?)(.*)?') match = pattern.match(HOSTNAME) FORCE_SCRIPT_NAME = match.group(3) if FORCE_SCRIPT_NAME: print("=> Django URL prefix is set to:", FORCE_SCRIPT_NAME) # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = '$(fefwefwef13;LFK{P!)@#*!)kdsjfWF2l+i5e3t(8a1n' # SECURITY WARNING: don't run with debug turned on in production! DEBUG = get_bool_env('DEBUG', True) # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # Base path for media root and other uploaded files BASE_DATA_DIR = get_env('BASE_DATA_DIR', get_data_dir()) os.makedirs(BASE_DATA_DIR, exist_ok=True) print('=> Database and media directory:', BASE_DATA_DIR) # Databases # https://docs.djangoproject.com/en/2.1/ref/settings/#databases DJANGO_DB_SQLITE = 'sqlite' DJANGO_DB = 'default' DATABASE_NAME_DEFAULT = os.path.join(BASE_DATA_DIR, 'label_studio.sqlite3') DATABASE_NAME = get_env('DATABASE_NAME', DATABASE_NAME_DEFAULT)