summaryrefslogtreecommitdiffstats
path: root/localsettingsserver.py
diff options
context:
space:
mode:
authorPhilip Sargent <philip.sargent@klebos.com>2021-03-24 17:34:40 +0000
committerPhilip Sargent <philip.sargent@klebos.com>2021-03-24 17:34:40 +0000
commitecbef84c37dcca5b879484e5a3c048197015f7d9 (patch)
tree527a161872c74da012b9e20faea65b8464278d9a /localsettingsserver.py
parent39194704f50e14f6b2f4b3a4b481824a67dd0303 (diff)
downloadtroggle-ecbef84c37dcca5b879484e5a3c048197015f7d9.tar.gz
troggle-ecbef84c37dcca5b879484e5a3c048197015f7d9.tar.bz2
troggle-ecbef84c37dcca5b879484e5a3c048197015f7d9.zip
sanitised server settings
Diffstat (limited to 'localsettingsserver.py')
-rw-r--r--localsettingsserver.py121
1 files changed, 80 insertions, 41 deletions
diff --git a/localsettingsserver.py b/localsettingsserver.py
index 0357e3d..b87754d 100644
--- a/localsettingsserver.py
+++ b/localsettingsserver.py
@@ -1,76 +1,115 @@
import sys
-# This is an example file. Copy it to localsettings.py, set the
-# password and _don't_ check that file back to the repo as it exposes
-# your/our password to the world!
+import os
+import urllib.parse
+"""Settings for a troggle installation which may vary among different
+installations: for development or deployment, in a docker image or
+python virtual environment (venv), on ubuntu, debian or in Windows
+System for Linux (WSL), on the main server or in the potato hut,
+using SQLite or mariaDB.
-# This will ALL NEED TO BE CHANGED to match localsettingsWSL / python3 / Django v1.18.29
+It sets the directory locations for the major parts of the system so
+that e.g. expofiles can be on a different filesystem.
+This file is included at the end of the main troggle/settings.py file so that
+it overwrites defaults in that file.
+"""
+
+print(" * importing troggle/localsettings.py")
+
+# DO NOT check this file into the git repo - it contains real passwords.
DATABASES = {
- 'default': {
- 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
- 'NAME': 'troggle', # Or path to database file if using sqlite3.
- 'USER': 'expo', # Not used with sqlite3.
- 'PASSWORD': 'localpassword', # Not used with sqlite3.
- 'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
- 'PORT': '', # Set to empty string for default. Not used with sqlite3.
+ 'default': {
+ 'ENGINE': 'django.db.backends.mysql', # 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
+ 'NAME' : 'troggle', # Or path to database file if using sqlite3.
+ 'USER' : 'expo', # Not used with sqlite3.
+ 'PASSWORD' : 'not a real password', # Not used with sqlite3.
+ 'HOST' : '', # Set to empty string for localhost. Not used with sqlite3.
+ 'PORT' : '', # Set to empty string for default. Not used with sqlite3.
}
}
+
EXPOUSER = 'expo'
-EXPOUSERPASS = "nnn:gggggg"
+EXPOUSERPASS = 'nnn:gggggg'
EXPOUSER_EMAIL = 'wookey@wookware.org'
-REPOS_ROOT_PATH = '/home/expo/'
+REPOS_ROOT_PATH = '/home/expo/'
sys.path.append(REPOS_ROOT_PATH)
sys.path.append(REPOS_ROOT_PATH + 'troggle')
+# Define the path to the django app (troggle in this case)
+PYTHON_PATH = REPOS_ROOT_PATH + 'troggle/'
+
+TEMPLATES = [
+ {
+ 'BACKEND': 'django.template.backends.django.DjangoTemplates',
+ 'DIRS': [
+ PYTHON_PATH + "templates"
+ ],
+ 'OPTIONS': {
+ 'debug': 'DEBUG',
+ 'context_processors': [
+ 'django.contrib.auth.context_processors.auth',
+ 'core.context.troggle_context',
+ 'django.template.context_processors.debug',
+ 'django.template.context_processors.i18n',
+ 'django.template.context_processors.media',
+ 'django.template.context_processors.static',
+ 'django.template.context_processors.tz',
+ 'django.contrib.messages.context_processors.messages',
+ ],
+ 'loaders': [
+ 'django.template.loaders.filesystem.Loader',
+ 'django.template.loaders.app_directories.Loader',
+ # insert your TEMPLATE_LOADERS here
+ ]
+ },
+ },
+]
PUBLIC_SITE = True
+# This should be False for normal running
+DEBUG = True
+
SURVEX_DATA = REPOS_ROOT_PATH + 'loser/'
TUNNEL_DATA = REPOS_ROOT_PATH + 'tunneldata/'
-THREEDCACHEDIR = REPOS_ROOT_PATH + 'expowebcache/3d/'
CAVERN = 'cavern'
-THREEDTOPOS = '3dtopos'
+THREEDTOPOS = 'survexport'
EXPOWEB = REPOS_ROOT_PATH + 'expoweb/'
SURVEYS = REPOS_ROOT_PATH
-SURVEY_SCANS = REPOS_ROOT_PATH + 'expofiles/'
+SURVEY_SCANS = REPOS_ROOT_PATH + 'expofiles/surveyscans/'
FILES = REPOS_ROOT_PATH + 'expofiles'
+CAVEDESCRIPTIONS = os.path.join(EXPOWEB, "cave_data")
+ENTRANCEDESCRIPTIONS = os.path.join(EXPOWEB, "entrance_data")
+CACHEDIR = REPOS_ROOT_PATH + 'expowebcache/'
+THREEDCACHEDIR = CACHEDIR + '3d/'
+THUMBNAILCACHE = CACHEDIR + 'thumbs'
PYTHON_PATH = REPOS_ROOT_PATH + 'troggle/'
-URL_ROOT = "http://expo.survex.com/"
+URL_ROOT = 'http://expo.survex.com/'
DIR_ROOT = ''#this should end in / if a value is given
-EXPOWEB_URL = 'http://expo.survex.com/'
-SURVEYS_URL = 'http://expo.survex.com/survey_scans/'
-MEDIA_URL = URL_ROOT + DIR_ROOT + 'site_media/'
+EXPOWEB_URL = '/'
+SURVEYS_URL = '/survey_scans/'
+EXPOFILES = urllib.parse.urljoin(REPOS_ROOT_PATH, 'expofiles/')
+PHOTOS_URL = urllib.parse.urljoin(URL_ROOT, '/photos/')
-STATIC_URL = URL_ROOT
-STATIC_ROOT = DIR_ROOT
+# MEDIA_URL is used by urls.py in a regex. See urls.py & core/views_surveys.py
+MEDIA_URL = '/site_media/'
MEDIA_ROOT = REPOS_ROOT_PATH + '/troggle/media/'
-MEDIA_ADMIN_DIR = '/usr/lib/python2.7/site-packages/django/contrib/admin/media/'
-
-JSLIB_URL = URL_ROOT + 'javascript/'
-
-TINY_MCE_MEDIA_ROOT = STATIC_ROOT + '/tiny_mce/'
-TINY_MCE_MEDIA_URL = STATIC_ROOT + '/tiny_mce/'
-TEMPLATE_DIRS = (
- PYTHON_PATH + "templates",
- # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
- # Always use forward slashes, even on Windows.
- # Don't forget to use absolute paths, not relative paths.
-)
+STATIC_URL = urllib.parse.urljoin(URL_ROOT , '/static/') # used by Django admin pages. Do not delete.
+JSLIB_URL = urllib.parse.urljoin(URL_ROOT , '/javascript/') # always fails, try to revive it ?
-LOGFILE = '/home/expo/troggle/troggle.log'
+#TINY_MCE_MEDIA_ROOT = STATIC_ROOT + '/tiny_mce/' # not needed while TinyMCE not installed
+#TINY_MCE_MEDIA_URL = STATIC_URL + '/tiny_mce/' # not needed while TinyMCE not installed
-FEINCMS_ADMIN_MEDIA='/site_media/feincms/'
+LOGFILE = '/var/log/troggle/troggle.log'
+IMPORTLOGFILE = '/var/log/troggle/import.log'
-#EMAIL_HOST = "smtp.gmail.com"
-#EMAIL_HOST_USER = "cuccexpo@gmail.com"
-EMAIL_HOST_PASSWORD = "insert-real-email-password-here"
-#EMAIL_PORT=587
-#EMAIL_USE_TLS = True
+# add in 290, 291, 358 when they don't make it crash horribly
+NOTABLECAVESHREFS = [ "264", "258", "204", "76", "107"]