diff --git a/_deploy/wsl/localsettingsWSL.py b/_deploy/wsl/localsettingsWSL.py index 42a2a1c..ffead19 100644 --- a/_deploy/wsl/localsettingsWSL.py +++ b/_deploy/wsl/localsettingsWSL.py @@ -55,14 +55,19 @@ JSLIB_ROOT = TROGGLE_PATH / "media" / "jslib" # used for CaveViewer JS utility EXPOFILES = REPOS_ROOT_PATH / "expofiles" SCANS_ROOT = EXPOFILES / "surveyscans" +# PHOTOS_ROOT = EXPOFILES / 'photos' PHOTOS_ROOT = Path("/mnt/d/EXPO/PHOTOS") PHOTOS_YEAR = "2023" + NOTABLECAVESHREFS = ["290", "291", "264", "258", "204", "359", "76", "107"] - +# PYTHON_PATH = os.fspath(PYTHON_PATH) PYTHON_PATH = REPOS_ROOT_PATH / "troggle" LOGFILE = PYTHON_PATH / "troggle.log" +#sys.path.append(os.fspath(REPOS_ROOT_PATH)) +#sys.path.append(os.fspath(PYTHON_PATH)) + # URL that handles the media served from MEDIA_ROOT. Make sure to use a # trailing slash if there is a path component (optional in other cases). MEDIA_URL = "/site-media/" @@ -76,7 +81,6 @@ URL_ROOT = "/" MEDIA_URL = Path(URL_ROOT, "/site_media/") PHOTOS_URL = Path(URL_ROOT, "/photos/") - STATIC_URL = Path(URL_ROOT, "/static/") # used by Django admin pages. Do not delete. JSLIB_URL = Path(URL_ROOT, "/javascript/") # used for CaveViewer JS utility @@ -84,18 +88,18 @@ JSLIB_URL = Path(URL_ROOT, "/javascript/") # used for CaveViewer JS utility # --------------------- MEDIA redirections END --------------------- PUBLIC_SITE = True -DEBUG = True # Always keep this True, even when on public server. Otherwise NO USEFUL ERROR MESSAGES ! -CACHEDPAGES = True # experimental page cache for a handful of page types +DEBUG = True # Always keep this True, even when on public server. Otherwise NO USEFUL ERROR MESSAGES ! +CACHEDPAGES = True # experimental page cache for a handful of page types # executables: -CAVERN = "cavern" # for parsing .svx files and producing .3d files +CAVERN = "cavern" # for parsing .svx files and producing .3d files SURVEXPORT = "survexport" # for parsing .3d files and producing .pos files DBSQLITE = { "default": { "ENGINE": "django.db.backends.sqlite3", # 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. + #'NAME' : 'troggle.sqlite', "NAME": "/home/philip/p11d4/troggle.sqlite", - # 'NAME' : ':memory:', "USER": "expo", # Not used with sqlite3. "PASSWORD": "sekrit", # Not used with sqlite3. "HOST": "", # Set to empty string for localhost. Not used with sqlite3. @@ -131,19 +135,19 @@ TEMPLATES = [ "debug": "DEBUG", "context_processors": [ # django.template.context_processors.csrf, # is always enabled and cannot be removed, sets csrf_token - "django.contrib.auth.context_processors.auth", # knowledge of logged-on user & permissions - "core.context.troggle_context", # in core/troggle.py - only used in expedition.html + "django.contrib.auth.context_processors.auth", # knowledge of logged-on user & permissions + "core.context.troggle_context", # in core/troggle.py - only used in expedition.html "django.template.context_processors.debug", "django.template.context_processors.i18n", "django.template.context_processors.media", # includes a variable MEDIA_URL - "django.template.context_processors.static", # includes a variable STATIC_URL used by admin pages + "django.template.context_processors.static", # includes a variable STATIC_URL used by admin pages "django.template.context_processors.tz", - "django.template.context_processors.request", # must be enabled in DjangoTemplates (TEMPLATES) in order to use the admin navigation sidebar. + "django.template.context_processors.request", # must be enabled in DjangoTemplates (TEMPLATES) in order to use the admin navigation sidebar. "django.contrib.messages.context_processors.messages", ], "loaders": [ - "django.template.loaders.filesystem.Loader", # default lcation is troggle/templates/ - "django.template.loaders.app_directories.Loader", # needed for admin 'app' + "django.template.loaders.filesystem.Loader", # default lcation is troggle/templates/ + "django.template.loaders.app_directories.Loader", # needed for admin 'app' ], }, }, @@ -162,6 +166,7 @@ DEFAULT_FROM_EMAIL = "django-test@klebos.net" SURVEX_DATA = REPOS_ROOT_PATH / "loser" DRAWINGS_DATA = REPOS_ROOT_PATH / "drawings" + EXPOWEB = REPOS_ROOT_PATH / "expoweb" CAVEDESCRIPTIONS = EXPOWEB / "cave_data" ENTRANCEDESCRIPTIONS = EXPOWEB / "entrance_data" @@ -171,10 +176,12 @@ EXPOWEB_URL = "" sys.path.append(str(REPOS_ROOT_PATH)) sys.path.append(str(PYTHON_PATH)) -#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 # Sanitise these to be strings as Django seems to be particularly sensitive to crashing if they aren't +# and we have not made the change to pathlib Path type in the other localsettings-* variants yet. +CAVEDESCRIPTIONS = os.fspath(CAVEDESCRIPTIONS) +ENTRANCEDESCRIPTIONS = os.fspath(ENTRANCEDESCRIPTIONS) + STATIC_URL = str(STATIC_URL) + "/" MEDIA_URL = str(MEDIA_URL) + "/" diff --git a/_deploy/xubuntu/localsettingsXubuntu.py b/_deploy/xubuntu/localsettingsXubuntu.py index f7072db..f2590de 100644 --- a/_deploy/xubuntu/localsettingsXubuntu.py +++ b/_deploy/xubuntu/localsettingsXubuntu.py @@ -1,6 +1,4 @@ -import os import sys -import urllib.parse from pathlib import Path """Settings for a troggle installation which may vary among different @@ -48,43 +46,47 @@ PV = "python" + str(sys.version_info.major) + "." + str(sys.version_info.minor) # --------------------- MEDIA redirections BEGIN --------------------- REPOS_ROOT_PATH = Path(__file__).parent.parent LIBDIR = REPOS_ROOT_PATH / 'lib' / PV -#LIBDIR = REPOS_ROOT_PATH / 'lib' / 'python3.9' # should be finding this automatically: python --version etc. TROGGLE_PATH = Path(__file__).parent -TEMPLATE_PATH = TROGGLE_PATH / 'templates' -MEDIA_ROOT = TROGGLE_PATH / 'media' -JSLIB_ROOT = TROGGLE_PATH / 'media' / 'jslib' # used for CaveViewer JS utility +TEMPLATE_PATH = TROGGLE_PATH / 'templates' +MEDIA_ROOT = TROGGLE_PATH / 'media' +JSLIB_ROOT = TROGGLE_PATH / 'media' / 'jslib' # used for CaveViewer JS utility -#FILES = Path('/mnt/d/expofiles/') +# EXPOFILES = REPOS_ROOT_PATH / "expofiles" EXPOFILES = Path('/media/philip/sd-huge1/cucc-expo/expofiles/') + SCANS_ROOT = EXPOFILES / 'surveyscans' PHOTOS_ROOT = EXPOFILES / 'photos' -PHOTOS_YEAR = "2022" +PHOTOS_YEAR = "2023" + +NOTABLECAVESHREFS = ["290", "291", "264", "258", "204", "359", "76", "107"] + +# PYTHON_PATH = os.fspath(PYTHON_PATH) +PYTHON_PATH = REPOS_ROOT_PATH / "troggle" +LOGFILE = PYTHON_PATH / "troggle.log" # URL that handles the media served from MEDIA_ROOT. Make sure to use a # trailing slash if there is a path component (optional in other cases). MEDIA_URL = '/site-media/' -DIR_ROOT = ''#this should end in / if a value is given +DIR_ROOT = Path("") #this should end in / if a value is given URL_ROOT = '/' # URL_ROOT = 'http://localhost:'+ SERVERPORT +'/' -#Note that these constants are not actually used in urls.py, they should be.. -MEDIA_URL = urllib.parse.urljoin(URL_ROOT , '/site_media/') -SCANS_URL = urllib.parse.urljoin(URL_ROOT , '/survey_scans/') -PHOTOS_URL = urllib.parse.urljoin(URL_ROOT , '/photos/') -SVX_URL = urllib.parse.urljoin(URL_ROOT , '/survex/') +# Note that these constants are not actually used in urls.py, they should be.. +# and they all need to end with / so using 'Path' doesn't work.. +MEDIA_URL = Path(URL_ROOT, "/site_media/") +PHOTOS_URL = Path(URL_ROOT, "/photos/") +STATIC_URL = Path(URL_ROOT, "/static/") # used by Django admin pages. Do not delete. +JSLIB_URL = Path(URL_ROOT, "/javascript/") # used for CaveViewer JS utility -STATIC_URL = urllib.parse.urljoin(URL_ROOT , '/static/') # used by Django admin pages. Do not delete. -JSLIB_URL = urllib.parse.urljoin(URL_ROOT , '/javascript/') # used for CaveViewer JS utility - -#STATIC_ROOT removed after merging content into MEDIA_ROOT. See urls.py & core/views/surveys.py +# STATIC_ROOT removed after merging content into MEDIA_ROOT. See urls.py & core/views/surveys.py # --------------------- MEDIA redirections END --------------------- PUBLIC_SITE = True DEBUG = True # Always keep this True, even when on public server. Otherwise NO USEFUL ERROR MESSAGES ! -CACHEDPAGES = True # experimental page cache for a handful of page types +CACHEDPAGES = True # experimental page cache for a handful of page types # executables: CAVERN = 'cavern' # for parsing .svx files and producing .3d files @@ -94,7 +96,6 @@ DBSQLITE = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', # 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 'NAME' : 'troggle.sqlite', -# 'NAME' : ':memory:', 'USER' : 'expo', # Not used with sqlite3. 'PASSWORD' : 'sekrit', # Not used with sqlite3. 'HOST' : '', # Set to empty string for localhost. Not used with sqlite3. @@ -120,78 +121,61 @@ if DBSWITCH == "sqlite": if DBSWITCH == "mariadb": DATABASES = DBMARIADB -NOTABLECAVESHREFS = [ "290", "291", "359", "264", "258", "204", "76", "107"] - -PYTHON_PATH = REPOS_ROOT_PATH / 'troggle' -sys.path.append(os.fspath(REPOS_ROOT_PATH)) -sys.path.append(os.fspath(PYTHON_PATH)) - -LOGFILE = PYTHON_PATH / 'troggle.log' -PYTHON_PATH = os.fspath(PYTHON_PATH) - TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', - 'DIRS': [ - TEMPLATE_PATH - ], + "DIRS": [TEMPLATE_PATH], 'OPTIONS': { 'debug': 'DEBUG', 'context_processors': [ # django.template.context_processors.csrf, # is always enabled and cannot be removed, sets csrf_token 'django.contrib.auth.context_processors.auth', # knowledge of logged-on user & permissions - 'core.context.troggle_context', # in core/troggle.py - only used in expedition.html + 'core.context.troggle_context', # in core/troggle.py - only used in expedition.html 'django.template.context_processors.debug', 'django.template.context_processors.i18n', 'django.template.context_processors.media', # includes a variable MEDIA_URL 'django.template.context_processors.static', # includes a variable STATIC_URL used by admin pages 'django.template.context_processors.tz', 'django.template.context_processors.request', # must be enabled in DjangoTemplates (TEMPLATES) in order to use the admin navigation sidebar. - 'django.contrib.messages.context_processors.messages', + 'django.contrib.messages.context_processors.messages', ], 'loaders': [ 'django.template.loaders.filesystem.Loader', # default lcation is troggle/templates/ 'django.template.loaders.app_directories.Loader', # needed for admin 'app' - ] - }, + ], + }, }, ] -EXPOUSERPASS = "nnn:gggggg - real-expo-password---imported-from-localsettings.py" -EMAIL_HOST_PASSWORD = "real-email-password---imported-from-localsettings.py" - -EXPOUSER = 'expo' -EXPOUSER_EMAIL = 'philip.sargent@gmail.com' -EXPOADMINUSER = 'expoadmin' -EXPOADMINUSER_EMAIL = 'philip.sargent@gmail.com' +EXPOUSER = "expo" +EXPOUSER_EMAIL = "philip.sargent@gmail.com" +EXPOADMINUSER = "expoadmin" +EXPOADMINUSER_EMAIL = "philip.sargent@gmail.com" EMAIL_HOST = "smtp-auth.mythic-beasts.com" -EMAIL_HOST_USER = "django-test@klebos.net" # Philip Sargent really -EMAIL_PORT=587 +EMAIL_HOST_USER = "django-test@klebos.net" # Philip Sargent really +EMAIL_PORT = 587 EMAIL_USE_TLS = True -DEFAULT_FROM_EMAIL = 'django-test@klebos.net' +DEFAULT_FROM_EMAIL = "django-test@klebos.net" SURVEX_DATA = REPOS_ROOT_PATH / "loser" DRAWINGS_DATA = REPOS_ROOT_PATH / "drawings" -EXPOWEB = REPOS_ROOT_PATH / "expoweb" -#SURVEYS = REPOS_ROOT_PATH -CAVEDESCRIPTIONS = EXPOWEB / "cave_data" -ENTRANCEDESCRIPTIONS = EXPOWEB / "entrance_data" +EXPOWEB = REPOS_ROOT_PATH / "expoweb" +CAVEDESCRIPTIONS = EXPOWEB / "cave_data" +ENTRANCEDESCRIPTIONS = EXPOWEB / "entrance_data" + EXPOWEB_URL = '' # SCANS_URL = '/survey_scans/' # defunct, removed. +sys.path.append(str(REPOS_ROOT_PATH)) +sys.path.append(str(PYTHON_PATH)) + # Sanitise these to be strings as all other code is expecting strings # and we have not made the change to pathlib Path type in the other localsettings-* variants yet. CAVEDESCRIPTIONS = os.fspath(CAVEDESCRIPTIONS) ENTRANCEDESCRIPTIONS = os.fspath(ENTRANCEDESCRIPTIONS) -LOGFILE = os.fspath(LOGFILE) -#SURVEYS = os.fspath(SURVEYS) -EXPOWEB = os.fspath(EXPOWEB) -DRAWINGS_DATA = os.fspath(DRAWINGS_DATA) -SURVEX_DATA = os.fspath(SURVEX_DATA) -REPOS_ROOT_PATH = os.fspath(REPOS_ROOT_PATH) -TEMPLATE_PATH = os.fspath(TROGGLE_PATH) -MEDIA_ROOT = os.fspath(MEDIA_ROOT) -JSLIB_ROOT = os.fspath(JSLIB_ROOT) -SCANS_ROOT = os.fspath(SCANS_ROOT) + +STATIC_URL = str(STATIC_URL) + "/" +MEDIA_URL = str(MEDIA_URL) + "/" +